I am using multiple firebase projects in an Android App. I am getting this error : Missing google_app_id. Firebase Analytics disabled
I am using multiple firebase projects in an Android App. I am getting this error : Missing google_app_id. Firebase Analytics disabled
我添加了以下代码来初始化那里的项目。
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.
我无法找出这个错误的根源。
你能仔细检查一下 google-services.json 是否位于你的 Android 应用程序模块根目录吗?
如果存在,请确保 google-services.json 具有 mobilesdk_app_id 键。它应该位于 client_info 节点下。
{
...,
"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。
和
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
来自 app/build.gradle.
使用 APP 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");
问题可能是由于 instant app
被启用
解决方案:
手动添加google_app_id到strings.xml文件 — as told here
更新:如果应用程序在没有任何警告或错误的情况下崩溃,试试这个 (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()
}
}
↓ 应用程序 gradle
apply plugin: 'com.google.gms.google-services'
手动将 google_app_id
添加到 strings.xml
文件,如:
你可以从google-services.json
得到google_app_id
,其中定义为mobilesdk_app_id
。
对于我的情况,我从
增加了 gradle 版本
classpath 'com.android.tools.build:gradle:3.4.1'
至
classpath 'com.android.tools.build:gradle:4.3.8'
在 build.gradle 项目级别,问题消失了
我添加了以下代码来初始化那里的项目。
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.
我无法找出这个错误的根源。
你能仔细检查一下 google-services.json 是否位于你的 Android 应用程序模块根目录吗?
如果存在,请确保 google-services.json 具有 mobilesdk_app_id 键。它应该位于 client_info 节点下。
{
...,
"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。
和
// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'
来自 app/build.gradle.
使用 APP 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");
问题可能是由于 instant app
被启用
解决方案: 手动添加google_app_id到strings.xml文件 — as told here
更新:如果应用程序在没有任何警告或错误的情况下崩溃,试试这个 (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()
}
}
↓ 应用程序 gradle
apply plugin: 'com.google.gms.google-services'
手动将 google_app_id
添加到 strings.xml
文件,如:
你可以从google-services.json
得到google_app_id
,其中定义为mobilesdk_app_id
。
对于我的情况,我从
增加了 gradle 版本
classpath 'com.android.tools.build:gradle:3.4.1'
至
classpath 'com.android.tools.build:gradle:4.3.8'
在 build.gradle 项目级别,问题消失了