我正在制作一个项目,我想在其中集成不同的FCM google-service.json,如何在同一个文件中集成不同的项目键,我尝试了2个项目,但不起作用,我们需要添加到我们的项目中。
{
"project_info": {
"project_number": "60554696754247",
"firebase_url": "https://project-1fca7.firebaseio.com",
"project_id": "project-1fca7",
"storage_bucket": "project-1fca7.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "xxxxxxxxxxxxx",
"android_client_info": {
"package_name": "com.company.project1"
}
},
"oauth_client": [
{
"client_id": "xxxxxxxxxxxxxxxx",
"client_type": 3
}
],
"api_key": [
{
"current_key": ""
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"project_info": {
"project_number": "13052496681",
"firebase_url": "https://project-2ebf8.firebaseio.com",
"project_id": "project-2ebf8",
"storage_bucket": "project-2ebf8.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "xxxxxxxxxxxxxxx",
"android_client_info": {
"package_name": "com.company.project2"
}
},
"oauth_client": [
{
"client_id": "xxxxxxxxxxxxxx",
"client_type": 3
}
],
"api_key": [
{
"current_key": "xxxxxxxxxxxxxxxx"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 1,
"other_platform_oauth_client": []
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}
目前尚不清楚您的用例是什么,但值得注意的是,使用google-services.json
文件是完全可选的,在您的情况下,您可能希望跳过它并手动配置您的应用程序。
此处的文档介绍了插件如何处理 JSON 文件。
基本上,该插件创建了一个如下所示的strings.xml
文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<! -- Present in all applications -->
<string name="google_app_id" translatable="false">1:1035469437089:android:73a4fb8297b2cd4f</string>
<! -- Present in applications with the appropriate services configured -->
<string name="gcm_defaultSenderId" translatable="false">1035469437089</string>
<string name="default_web_client_id" translatable="false">337894902146-e4uksm38sne0bqrj6uvkbo4oiu4hvigl.apps.googleusercontent.com</string>
<string name="ga_trackingId" translatable="false">UA-65557217-3</string>
<string name="firebase_database_url" translatable="false">https://example-url.firebaseio.com</string>
<string name="google_api_key" translatable="false">AIzbSyCILMsOuUKwN3qhtxrPq7FFemDJUAXTyZ8</string>
<string name="google_crash_reporting_api_key" translatable="false">AIzbSyCILMsOuUKwN3qhtxrPq7FFemDJUAXTyZ8</string>
</resources>
既然你说的是FCM,那么相关的部分是google_app_id
、gcm_defaultSenderId
和google_api_key
。 如果您在应用中使用这些名称创建字符串,Firebase 将自动正确初始化。
如果你想使用多个应用程序,正如你所说,你需要像这样手动初始化FirebaseApp
:
FirebaseApp customApp = FirebaseApp.initializeApp(this,
new FirebaseOptions.Builder()
.setApplicationId(...)
.setApiKey(...)
.setGcmSenderId(...)
.build(),
"custom-app-name");