facebook twitter hatena line email

「Unity/fabricのcrashlytics」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(firebase直のcrashlytics)
行2: 行2:
 
#firebaseからcrashlyticsを選択
 
#firebaseからcrashlyticsを選択
 
#unityのfirebaseをDLし、FirebaseCrashlytics.unitypackageをAssets/Import〜からImportする。
 
#unityのfirebaseをDLし、FirebaseCrashlytics.unitypackageをAssets/Import〜からImportする。
 +
 +
以下を追加しcrashlyticsを初期化する。
 +
<pre>
 +
        // Initialize Firebase
 +
        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
 +
            var dependencyStatus = task.Result;
 +
            if (dependencyStatus == Firebase.DependencyStatus.Available)
 +
            {
 +
                // Create and hold a reference to your FirebaseApp,
 +
                // where app is a Firebase.FirebaseApp property of your application class.
 +
                // Crashlytics will use the DefaultInstance, as well;
 +
                // this ensures that Crashlytics is initialized.
 +
                Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;
 +
 +
                // WARNING: Do not call Crashlytics APIs from asynchronous tasks;
 +
                // they are not currently supported.
 +
 +
                // Set a flag here for indicating that your project is ready to use Firebase.
 +
            }
 +
            else
 +
            {
 +
                UnityEngine.Debug.LogError(System.String.Format(
 +
                  "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
 +
                // Firebase Unity SDK is not safe to use here.
 +
            }
 +
        });
 +
</pre>
  
 
=fabric経由のcrashlytics=
 
=fabric経由のcrashlytics=

2019年6月9日 (日) 23:13時点における版

firebase直のcrashlytics

  1. firebaseからcrashlyticsを選択
  2. unityのfirebaseをDLし、FirebaseCrashlytics.unitypackageをAssets/Import〜からImportする。

以下を追加しcrashlyticsを初期化する。

        // Initialize Firebase
        Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
            var dependencyStatus = task.Result;
            if (dependencyStatus == Firebase.DependencyStatus.Available)
            {
                // Create and hold a reference to your FirebaseApp,
                // where app is a Firebase.FirebaseApp property of your application class.
                // Crashlytics will use the DefaultInstance, as well;
                // this ensures that Crashlytics is initialized.
                Firebase.FirebaseApp app = Firebase.FirebaseApp.DefaultInstance;

                // WARNING: Do not call Crashlytics APIs from asynchronous tasks;
                // they are not currently supported.

                // Set a flag here for indicating that your project is ready to use Firebase.
            }
            else
            {
                UnityEngine.Debug.LogError(System.String.Format(
                  "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
                // Firebase Unity SDK is not safe to use here.
            }
        });

fabric経由のcrashlytics

fabricのcrashlyticsインストール

  1. fabricでアカウントをつくる
  2. https://www.fabric.io/downloads/unity からFabric.unitypackageファイルをDL
  3. unityのメインメニューからAssets/importpackage/CustomPackageを選択し
  4. DLしてきたFabric.unitypackageを選択しimportボタンを押す
  5. unityのメインメニューからFabric/PrepareFabricからFabricへログインする
  6. crashlyticsを選択しinstallボタンを押しimportボタンを押す
  7. AndroidManifest.xml編集を追加する場合はApplyボタンを押す
  8. sceneにcrashlyticsオブジェクトをドラッグする

fabricとfirebaseを連携

  1. fabricにログイン
  2. fabricの左側にあるfirebaseメニューをクリック
  3. そこからfirebaseにログインし連携する
  4. firebase側からもデータ参照できることを確認

androidのANRのログ

ANRのログは端末側(/data/ant/traces.txt)には残ってるが、fabricでは検出できなかった。

強制的にcrashさせる

Fabric.Crashlytics.Crashlytics.Log("onCrash");
Fabric.Crashlytics.Crashlytics.Crash();

上記crashでcrashlyticsに上がるcrashログ

 Caused by java.lang.RuntimeException
 Forced runtime exception
 	
 io.fabric.unity.crashlytics.android.CrashlyticsAndroidWrapper$1.run (CrashlyticsAndroidWrapper.java:12)
 	
 java.lang.Thread.run (Thread.java:818)