Unity アプリの導入¶
Unity アプリのメトリクスデータを収集し、アプリのパフォーマンスを視覚的に分析します。
参照ガイド¶
- 初回導入:まず クイックスタート を参照してください
- フル導入:引き続き本ドキュメントを参照してください
- パラメータの詳細:SDK 初期化、RUM 設定、Log 設定、Trace 設定 を参照してください
- カスタマイズ機能:カスタムタグの使用、RUM 手動トラッキング、データ収集のマスキング を参照してください
- 高度なシナリオ:ネイティブと Unity のハイブリッド開発 を参照してください
- 問題の調査:トラブルシューティング を参照してください
前提条件¶
注意
RUM Headless サービスをすでに有効にしている場合、前提条件は自動的に設定されているため、アプリを直接導入できます。
- DataKit のインストール
- RUM コレクター の設定
- DataKit がパブリックネットワークからアクセス可能で、IP 地理位置情報データベースがインストールされていること
アプリの統合¶
- RUM > アプリを作成 > Android/iOS に移動します
- Unity Android と Unity iOS 用にそれぞれ別のアプリを作成し、Android と iOS プラットフォームの RUM データを別々に受信します
- 各プラットフォームのアプリに、対応するアプリ名とアプリ ID を入力します
-
アプリの接続方法を選択します:
- パブリックネットワーク DataWay:DataKit コレクターをインストールせずに、RUM データを直接受信します
- ローカル環境へのデプロイ:前提条件を満たしたうえで RUM データを受信します
インストール¶
ソースコード:https://github.com/GuanceCloud/datakit-unity
デモ:https://github.com/GuanceCloud/datakit-unity/blob/dev/Assets/Scenes
- 最新の ft-sdk-unity.unitypackage をダウンロードします
Assets->Import Package->Custom Package...からft-sdk-unity.unitypackageをインポートします- JSON 解析用のサードパーティライブラリ
"com.unity.nuget.newtonsoft-json"を追加します。これはPackage Manager->Add Package by name ...で行えます FTSDK.prefabを最初のシーンにドラッグ&ドロップし、FTSDK.csの_InitSDKメソッド内で SDK を初期化しますFTViewObserver.prefabを他のシーンにドラッグ&ドロップします。ページViewのライフサイクル、およびアプリのスリープとウェイクアップを監視するために使用しますApplication.logMessageReceivedを使用して Unity のクラッシュデータと通常のログデータを監視・変換します。例については クイックスタート と RUM 手動トラッキング を参照してください
Assets/Plugins
├── Android
│ ├── FTUnityBridge.java // Android ブリッジ
│ ├── InnerClassProxy.java // Android 内部設定プロキシ
│ ├── ft-sdk-release.aar // Android SDK
│ ├── gson-2.8.5.jar // Android SDK が依存するサードパーティライブラリ
├── iOS
│ ├── FTMobileSDK.xcframework // iOS SDK
│ ├── FTUnityBridge.mm // iOS ブリッジ
├── FTSDK.cs // FTSDK.prefab にバインドされるスクリプト
├── FTSDK.prefab // SDK 初期化用プレハブ
├── FTUnityBridge.cs // iOS / Android などのプラットフォームメソッドをブリッジする Unity ブリッジ
├── FTViewObserver.cs // FTViewObserver.prefab にバインドされるスクリプト
├── FTViewObserver.prefab // View ページ監視用プレハブ
├── UnityMainThreadDispatcher.cs // UnityMainThreadDispatcher.prefab にバインドされるスクリプト
├── UnityMainThreadDispatcher.prefab // メインスレッド消費キュー用プレハブ
- ネイティブの Android / iOS プロジェクトにすでにネイティブ SDK が統合されている場合は、
_InitSDKメソッドをコメントアウトして重複設定を避けてください。具体的なシナリオは ネイティブと Unity のハイブリッド開発 を参照してください - iOS Plugin Inspector の設定:
FTMobileSDK.xcframeworkは動的ライブラリであるため、Add to Embedded Binariesにチェックを入れる必要があります。このオプションを選択すると、Unity が Xcode プロジェクトの設定を行い、プラグインファイルが最終的なアプリケーションバンドルにコピーされます。
すでにネイティブ SDK を統合している場合は、Android の
gson-2.8.5.jar、ft-sdk-release.aar、および iOS のFTMobileSDK.frameworkを Unity プロジェクトから削除できます。
Android の OkHttp リクエストと起動時間の計測機能を使用するにはft-pluginとの併用が必要です。詳細な設定は Android SDK を参照してください。
初期化の説明¶
最小限の初期化例については クイックスタート を参照してください。
SDKConfig の全パラメータの説明については SDK 初期化 を参照してください。
詳細設定¶
高度なシナリオ¶
よくある質問¶
グローバル変数の追加によるフィールド競合の回避¶
カスタムフィールドと SDK データの競合を防ぐため、タグ名に プロジェクトの略称 のプレフィックスを付けることを推奨します。例:custom_tag_name。プロジェクトで使用する key 値はソースコードで確認できます。SDK のグローバル変数に RUM や Log と同じ変数が存在する場合、RUM と Log が SDK のグローバル変数を上書きします。
