Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在Android应用程序中使用多个firebase项目。我收到以下错误:缺少谷歌应用程序id。Firebase分析已禁用_Android_Firebase_Firebase Analytics_Multiple Projects - Fatal编程技术网

我正在Android应用程序中使用多个firebase项目。我收到以下错误:缺少谷歌应用程序id。Firebase分析已禁用

我正在Android应用程序中使用多个firebase项目。我收到以下错误:缺少谷歌应用程序id。Firebase分析已禁用,android,firebase,firebase-analytics,multiple-projects,Android,Firebase,Firebase Analytics,Multiple Projects,我添加了以下代码来初始化这些项目 FirebaseOptions options = new FirebaseOptions.Builder() .setApplicationId("1:129574837465:android:0123456773a52cf4f6") // Required for Analytics. .setApiKey("iubdeibneh8gzDt7Xn9f-jdjjdjdjdj") // Required for A

我添加了以下代码来初始化这些项目

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\u应用程序\u Id进行分析时,它会抛出错误

我已经交叉检查了所有项目的google-services.json文件中的ID。我不知道为什么,但它会说:

Missing google_app_id. Firebase Analytics disabled.

我无法找出此错误的根源。

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

如果有,请确保google-services.json具有mobilesdk_app_id密钥。它应该位于“客户端信息”节点下

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

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

我失踪了

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

allprojects {
    ...
    repositories {
        google()
    }
}
来自build.gradle


从app/build.gradle.

在OnCreate()的早期使用应用程序ID和客户端密钥初始化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");

来源:

问题可能是由于启用了
即时应用程序

解决方案: 手动将google\u app\u id添加到strings.xml文件中 — 

更新:如果应用程序在没有任何警告或错误的情况下崩溃,请尝试以下操作(maven):

转到项目级
build.gradle
&检查它是否与以下内容完全相同:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}
代码突然起作用,当你看其他答案时,你会发现同样的答案。

的答案是正确的

↓ gradle项目

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

allprojects {
    ...
    repositories {
        google()
    }
}
apply plugin: 'com.google.gms.google-services'
↓ 应用程序梯度

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

allprojects {
    ...
    repositories {
        google()
    }
}
apply plugin: 'com.google.gms.google-services'

手动将
google\u app\u id
添加到
strings.xml
文件,如:


您可以从
google services.json
获取
google\u app\u id
,其中定义为
mobilesdk\u app\u id

再次下载google-services.json并重建您的项目,我做到了这一点。它不起作用了!文档上写着“注意:在Android和iOS上,Firebase分析只为默认应用程序记录。”,你检查过了吗?@mark922你找到解决这个问题的方法了吗?是的。我又核对了一遍。它位于正确的位置,并且“mobilesdk_app_id”:“VALUE”也在那里。主要问题是我想以编程方式初始化默认的firebase项目。我必须使用至少一个google-services.json文件来初始化默认项目。以下是firebase如何初始化自身:。谢谢
//在底部添加此项
在顶部也有效。帮我修好了。