「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
- 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.
}
});
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)
