web-dev-qa-db-ja.com

Firebase CrashlyticsがFabric APIキーなしで機能しない

Androidアプリを入手しました。公式ガイドに従ってFirebase Crashlyticsをセットアップし、FabricアカウントとFirebaseアカウントをリンクしました(最近、AFAIK FirebaseがFabricを取得しました)。したがって、特に私は<meta-data/>manifest.xmlタグを含むFabric AP​​Iキーを削除しました。

次に、テストクラッシュを実行しようとしましたが、FirebaseでもFabricダッシュボードでも表示されませんでしたが、logcatに成功ログが記録されました:Crashlytics report upload complete: <ID>

ネットワークを盗聴したところ、Crashlyticsから403 Unathorizedを取得しているようです。ただし、Fabric AP​​Iキーを<meta-data/>タグに追加すると機能し、クラッシュレポートが表示されます。

新しいFirebase Crashlyticsを使用していて、ドキュメントにそれが記載されていない場合、なぜ古いファブリックAPI keyを使用する必要があるのですか?.

10
YTerle

ファブリックを使用したiOSのユーザーの場合、これがようやくサポートから得たものです。新鮮に始めたかった。

  • https://firebase.google.com/docs/crashlytics/get-started?authuser=1#ios にアクセスします。
    • Podfileのポッドを適宜修正します(指示に従って、FabricおよびCrashlyticsのバージョンを指定します)
    • ビルドフェーズ実行スクリプトを更新します。FabricAPIキーを指す現在のスクリプトではなく、「$ {PODS_ROOT}/Fabric/run」
  • Info.plistからAPIキーを削除します-AppDelegate.Swiftで、インポートファブリックを削除し、Crashlyticsと任意のFabric.withステートメントをインポートします。代わりにFirebaseをインポートし、FirebaseApp.configure()を使用します

  • Firebaseコンソールでプロジェクト設定に移動し、[統合]タブをクリックして、Firebaseから適切なFabricアプリのリンクを解除します(これを行わないと、「[Fabric] failed to download settings Error Domain = FABNetworkError Code」のようなエラーが表示されます。 = -5 ")

  • [Crashlytics]タブに移動すると、Firebase Crashlyticsを再度オンボードする必要があることがわかります。
  • 「このアプリにはCrashlyticsがインストールされていません」を選択してこれらの手順を実行し、最後の手順に到達したら、アプリをビルドして実行し、数秒待ちます。次に、Crashlyticsタブが設定されます。

これを行って強制的にクラッシュさせると、ついにそれが現れました。

6
Kyle Browning

既存のFabric crashlyticアプリケーションからFirebase crashlyticに移行する場合、以下が必須です

<meta-data
          Android:name="io.fabric.ApiKey"
            Android:value="xxxxxxxxxxxxxxxxxxxxxxxxxx"
            />
 Fabric.with(new Crashlytics()));

しかし、ファブリックがダウンすると、これらのAPIとKEYがどうなるかはわかりません。

3
sachin

Firebase Crash ReportingFabric Crashlyticsに置き換えられ、その逆は行われません...現在、firebase-crashへの依存関係がまだあるようですが、将来のバージョンで削除される可能性があります。

https://firebase.google.com/docs/crashlytics/upgrade-from-crash-reporting

^「Firebase Crashlytics」と表示されていても、「Fabric Crashlytics」である可能性があります。

0
Martin Zeitler