3

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"
        }
KENdi
  • 7,576
  • 2
  • 16
  • 31
siva
  • 103
  • 1
  • 7
  • In general, it is ***strongly not advisable*** to modify the google-services.json file. Any reason why you want to do this? – AL. May 25 '17 at 09:56

1 Answers1

0

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");
Sam Stern
  • 24,624
  • 13
  • 93
  • 124
  • More info is here: https://firebase.googleblog.com/2016/12/working-with-multiple-firebase-projects-in-an-android-app.html – Denis Nek Jul 25 '18 at 08:06