「Unity/fabricのcrashlytics」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→firebase直のcrashlytics) |
(→firebase直のcrashlytics) |
||
行30: | 行30: | ||
</pre> | </pre> | ||
− | 強制的にクラッシュ | + | ==強制的にクラッシュ== |
<pre> | <pre> | ||
// Throw an exception to test your Crashlytics implementation | // Throw an exception to test your Crashlytics implementation | ||
throw new System.Exception("test exception please ignore"); | throw new System.Exception("test exception please ignore"); | ||
+ | </pre> | ||
+ | |||
+ | firebaseのlogに載った | ||
+ | <pre> | ||
+ | Non-fatal Exception: java.lang.Exception | ||
+ | Exception : test exception please ignore | ||
+ | TitleScript.throwExceptionEvery60Updates (TitleScript) | ||
+ | TitleScript.Update (TitleScript) | ||
</pre> | </pre> | ||
2019年6月10日 (月) 01:11時点における版
目次
firebase直のcrashlytics
- firebaseからcrashlyticsを選択
- 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. } });
強制的にクラッシュ
// Throw an exception to test your Crashlytics implementation throw new System.Exception("test exception please ignore");
firebaseのlogに載った
Non-fatal Exception: java.lang.Exception Exception : test exception please ignore TitleScript.throwExceptionEvery60Updates (TitleScript) TitleScript.Update (TitleScript)
fabric経由のcrashlytics
こちらは旧版で非推奨です。
fabricのcrashlyticsインストール
- fabricでアカウントをつくる
- https://www.fabric.io/downloads/unity からFabric.unitypackageファイルをDL
- unityのメインメニューからAssets/importpackage/CustomPackageを選択し
- DLしてきたFabric.unitypackageを選択しimportボタンを押す
- unityのメインメニューからFabric/PrepareFabricからFabricへログインする
- crashlyticsを選択しinstallボタンを押しimportボタンを押す
- AndroidManifest.xml編集を追加する場合はApplyボタンを押す
- sceneにcrashlyticsオブジェクトをドラッグする
fabricとfirebaseを連携
- fabricにログイン
- fabricの左側にあるfirebaseメニューをクリック
- そこからfirebaseにログインし連携する
- 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)