はじめに
Oculus アプリで Firebase Analytics と Crashlytics を実装したので、備忘録としてまとめました。
Firebase とは
アプリを開発の際に、ユーザーベースを拡大、収益を高めるためのツールです。Firebaseを使えば、インフラ構築に手間取ることなくビジネスを収益化し、効率よくアプリを開発し、運用・管理することができるようになります。
- スマホアプリでの実装
- Firebaseの基礎的な使い方
事前準備
- Oculus Integration
- Firebase のアカウント
実装
Firebaseをインストールする
-
1."UnityプロジェクトにFirebaseを追加する" の記事に記載されているステップ1〜4に従って実装します。
※ ステップ5はサンプルコードに含まれているため、必須ではありません。 -
2.ダウンロードした
firebase_unity_sdk
から、dotnet4 / FirebaseAnalytics.unitypackage
とdotnet4 / FirebaseCrashlytics.unitypackage
をインポートします。- Firebase Unity SDK は こちら からもダウンロードできます。
-
3.AndroidAuto-Resolver が有効でない場合、必ず有効に設定します。
Assets > Play Serveces Resolver > Android Resolver -> Settings
-
4.テンプレート
google-services.json
を独自のものに置き換えます。
テンプレートは下記の場所に保存されているので上書きします。
プロジェクトコードを有効にする
Firebase Analytics と Crashlytics がプロジェクトに追加されたら、Oculusメニューからサンプルコードを有効にします: Oculus> Samples> Firebase> Enable Firebase Sample
'unsafe'を許可する
クラッシュを強制する的に発生させるために、Crashlyticsサンプルでは C#
の unsafe
キーワードを使用しています。これはデフォルトでは禁止されているのでunityで設定して動作できるようにする必要があります。unsafe
キーワードは、プレーヤーの設定で有効にする事ができます。 : Edit > Project Settings... > Player > Android settings > Allow 'unsafe' code
ビルドして実行
この時点で、サンプルシーンを開いて、いくつかのイベントとクラッシュをトリガーできるはずです。レポートは、Firebaseコンソール で確認できます。
自分の作成したアプリへも、 StartCrashlytics.cs
を使用するだけで簡単にクラッシュを解析する事ができます。
symbols.zip ファイルをFirebaseにアップロードする
Scripting Backend を IL2CPP に設定してビルドし、symbols.zip を作成して Firebase にアップロードするとより詳細なクラッシュ報告を確認することが出来ます。
Firebase CLI コマンドを実行して、生成した Crashlytics 互換のシンボル ファイルを Firebase サーバーにアップロードします。
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
FIREBASE_APP_ID: Firebase Android アプリ ID(パッケージ名ではありません)
Firebase Android アプリ ID の例: 1:567383003300:android:17104a2ced0c9b9b
Firebase アプリ ID を確認する方法
google-services.json の mobilesdk_app_id に記載されています。
Unity 内で直接 APK をビルドした場合: PATH/TO/SYMBOLS は、ビルドが完了したときにプロジェクトのルート ディレクトリに生成される、圧縮されたシンボル ファイルのパスです(例: myproject/myapp-1.0-v100.symbols.zip
)。
最後に、強制的にテスト クラッシュを発生させて Crashlytics の設定を完了し、Firebase コンソールの Crashlytics ダッシュボードで最初のデータを確認します。