web-dev-qa-db-ja.com

Androidアプリで複数のFirebaseプロジェクトを使用しています。このエラーが発生しています:google_app_idがありません。FirebaseAnalyticsが無効になっています

プロジェクトを初期化するために、次のコードを追加しました。

FirebaseOptions options = new FirebaseOptions.Builder()
            .setApplicationId("1:129574837465:Android:0123456773a52cf4f6") // Required for Analytics.
            .setApiKey("iubdeibneh8gzDt7Xn9f-jdjjdjdjdj") // Required for Auth.
            .setDatabaseUrl("https://databasename-d7r7.firebaseio.com") // Required for RTDB.
            .build();

FirebaseApp.initializeApp(context /* Context */, options, "secondary");


FirebaseOptions options2 = new FirebaseOptions.Builder()
            .setApplicationId("1:129574837465:Android:0123456773a52cf4f6") // Required for Analytics.
            .setApiKey("iubdeibneh8gzDt7Xn9f-jdjjdjdjdj") // Required for Auth.
            .setDatabaseUrl("https://databasename2-d7r7.firebaseio.com") // Required for RTDB.
            .build();

FirebaseApp.initializeApp(context /* Context */, options2, "secondary2");


FirebaseOptions options3 = new FirebaseOptions.Builder()
            .setApplicationId("1:129574837465:Android:0123456773a52cf4f6") // Required for Analytics.
            .setApiKey("kjdkj-o_3nk4jn4k3kjk23j") // Required for Auth.
            .setDatabaseUrl("https://databasename3-d7r7.firebaseio.com") // Required for RTDB.
            .build();

FirebaseApp.initializeApp(context /* Context */, options3, "secondary3");

初期化後、私のアプリは正常に動作しています。 FirebaseAuthとFirebaseRTDBは問題なく使用できますが、分析のためにfirebase_Application_Idにアクセスする必要がある場合はエラーがスローされます。

すべてのプロジェクトのgoogle-services.jsonファイルのIDをクロスチェックしました。理由はわかりませんが、次のエラーがスローされます。

Missing google_app_id. Firebase Analytics disabled.

このエラーの原因を特定できませんでした。

11
mark922

Google-services.jsonがAndroidアプリモジュールのルートディレクトリにあるかどうかをもう一度確認してください。

enter image description here

そこにある場合は、google-services.jsonにmobilesdk_app_idキーがあることを確認してください。 client_infoノードの下に配置する必要があります。

 {
   ...,
   "client": [
     {
        "client_info": {
          "mobilesdk_app_id": "random_string",
          ...
        }
     }
   ]
 }
1

私の場合、問題は不完全なFirebase構成にありました。

私は行方不明でした

buildscript {
    ...
    dependencies {
        ...
        classpath 'com.google.gms:google-services:4.1.0' // google-services plugin
    }
}

allprojects {
    ...
    repositories {
        google()
    }
}

build.gradleから。

そして

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

app/build.gradleから。

12
Anton Malyshev

問題の原因はinstant app有効になっています

解決策:google_app_idstrings.xmlファイルに手動で追加します—- ここで言ったように

enter image description here

更新:アプリが警告やエラーなしでクラッシュする場合は、これを試してください(maven):

プロジェクトレベルに移動build.gradle&次のようになっているかどうかを確認します。

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

コードが突然機能し、他の答えを見ると同じことがわかります。

4
Garvit Jain

アプリIDとクライアントキーを使用して、OnCreate()の早い段階でFirebaseAppを初期化します。

FirebaseOptions options = new FirebaseOptions.Builder()
       .setApplicationId("1:530266078999:Android:481c4ecf3253701e") // Required for Analytics.
       .setApiKey("AIzaSyBRxOyIj5dJkKgAVPXRLYFkdZwh2Xxq51k") // Required for Auth.
       .setDatabaseUrl("https://project-1765055333176374514.firebaseio.com/") // Required for RTDB.
       .build();
FirebaseApp.initializeApp(this /* Context */, options, "secondary");

出典: https://firebase.googleblog.com/2016/12/working-with-multiple-firebase-projects-in-an-Android-app.html

0
lashgar