简体   繁体   中英

How to integrate two or more google-services.json file together for different google FCM service in same project

I am making a project where I want to integrate different FCM google-service.json ,how to integrate in same file different project key I tried 2 projects this like but not working we need to add in our project.

    {
          "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"
        }

It's not clear exactly what your use case is, but it's worth noting that using the google-services.json file is totally optional and in your case you may want to skip it and configure your app manually.

The documentation here explains how the plugin processes the JSON file.

Basically the plugin creates a strings.xml file that looks like this:

<?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>

Since you're talking about FCM, the relevant pieces are google_app_id , gcm_defaultSenderId , and google_api_key . If you create strings with those names in your application, Firebase will auto-initialize correctly.

If you want to use multiple apps, as you said, you'll need to manually initialize FirebaseApp like this:

FirebaseApp customApp = FirebaseApp.initializeApp(this, 
       new FirebaseOptions.Builder()
           .setApplicationId(...)
           .setApiKey(...)
           .setGcmSenderId(...)
           .build(), 
       "custom-app-name");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM