nekoblog

nekoblog

ちょっとためになるブログ

Oculus Integration で Firebase Analytics と Crashlytics を設定する

はじめに

Oculus アプリで Firebase Analytics と Crashlytics を実装したので、備忘録としてまとめました。

Firebase とは

アプリを開発の際に、ユーザーベースを拡大、収益を高めるためのツールです。Firebaseを使えば、インフラ構築に手間取ることなくビジネスを収益化し、効率よくアプリを開発し、運用・管理することができるようになります。 image00.png

事前準備

実装

Firebaseをインストールする

プロジェクトコードを有効にする

Firebase Analytics と Crashlytics がプロジェクトに追加されたら、Oculusメニューからサンプルコードを有効にします: Oculus> Samples> Firebase> Enable Firebase Sample スクリーンショット 2022-01-31 15.57.29.png

'unsafe'を許可する

クラッシュを強制する的に発生させるために、Crashlyticsサンプルでは C#unsafeキーワードを使用しています。これはデフォルトでは禁止されているのでunityで設定して動作できるようにする必要があります。unsafeキーワードは、プレーヤーの設定で有効にする事ができます。 : Edit > Project Settings... > Player > Android settings > Allow 'unsafe' code スクリーンショット 2022-01-31 16.04.44.png

ビルドして実行

この時点で、サンプルシーンを開いて、いくつかのイベントとクラッシュをトリガーできるはずです。レポートは、Firebaseコンソール で確認できます。

自分の作成したアプリへも、 StartCrashlytics.cs を使用するだけで簡単にクラッシュを解析する事ができます。

symbols.zip ファイルをFirebaseにアップロードする

Scripting Backend を IL2CPP に設定してビルドし、symbols.zip を作成して Firebase にアップロードするとより詳細なクラッシュ報告を確認することが出来ます。 スクリーンショット 2022-02-02 17.45.07.png 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 ダッシュボードで最初のデータを確認します。

https://firebase.google.com/docs/crashlytics/ndk-reports?hl=ja#alternative-options-symbol-uploading