我正在一个Android App中使用多个firebase项目。我收到此错误:缺少google_app_id。 Firebase Analytics已禁用

问题描述 投票:10回答:4

我添加了以下代码来初始化那里的项目。

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.

我不知道此错误的根源。

android firebase firebase-analytics multiple-projects
4个回答
2
投票

您能否再次检查google-services.json是否位于您的Android应用程序模块根目录中?

enter image description here

[如果存在,请确保google-services.json具有mobilesdk_app_id密钥。它应该位于client_info节点下。

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

15
投票

就我而言,问题在于Firebase配置不完整。

我不见了

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

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

来自build.gradle。

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

来自app / build.gradle。


5
投票

此问题可能是由于启用了instant app

解决方案:将google_app_id手动添加到strings.xml文件— as told here

enter image description here

更新:万一应用崩溃而没有任何警告或错误,请尝试以下操作(行):

转到项目级别build.gradle并检查它是否看起来像这样:

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

并且代码突然起作用,当您查看其他答案时,会发现相同。


0
投票

使用应用程序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

© www.soinside.com 2019 - 2024. All rights reserved.