合并用于不同服务的GoogleService-Info.plist文件

时间:2017-04-12 11:34:05

标签: firebase google-analytics firebase-cloud-messaging

我有一个大约2年前创建的应用程序。从一开始它一直在使用Google Analytics。我现在想要添加Firebase Cloud Messaging,但是当我从firebase控制台下载新的GoogleService-Info文件时,我注意到事情看起来非常不同。特别是新文件不包含旧文件中的TRACKING_IDGOOGLE_APP_ID也是不同的。

这是我从developers.google.com下载文件时获得的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>TRACKING_ID</key>
        <string>UA-1234567-16</string>
        <key>PLIST_VERSION</key>
        <string>1</string>
        <key>BUNDLE_ID</key>
        <string>en.myapp.app</string>
        <key>IS_ADS_ENABLED</key>
        <false/>
        <key>IS_ANALYTICS_ENABLED</key>
        <true/>
        <key>IS_APPINVITE_ENABLED</key>
        <false/>
        <key>IS_GCM_ENABLED</key>
        <false/>
        <key>IS_SIGNIN_ENABLED</key>
        <false/>
        <key>GOOGLE_APP_ID</key>
        <string>1:123499115028:ios:12hvkyu2hv4uy</string>
        <key>PROJECT_ID</key>
        <string>myapp-ios</string>
    </dict>

然而,这是我从firebase控制台下载时得到的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>AD_UNIT_ID_FOR_BANNER_TEST</key>
        <string>ca-app-pub-397764742544/2931234567</string>
        <key>AD_UNIT_ID_FOR_INTERSTITIAL_TEST</key>
        <string>ca-app-pub-12345674546672544/4411234567</string>
        <key>CLIENT_ID</key>
        <string>347330439762-c9m21gcjytcvvbjkn76v85li9kro1tf013.apps.googleusercontent.com</string>
        <key>REVERSED_CLIENT_ID</key>
        <string>com.googleusercontent.apps.123456739762-c9m21nf395l5n1nwedqedqg445tf013</string>
        <key>API_KEY</key>
        <string>AIzaSyD5_khkgkujbjhygoijhjS_6DPPLU0PW2izsJ8</string>
        <key>GCM_SENDER_ID</key>
        <string>6398755452786</string>
        <key>PLIST_VERSION</key>
        <string>1</string>
        <key>BUNDLE_ID</key>
        <string>en.myapp.app</string>
        <key>PROJECT_ID</key>
        <string>myapp</string>
        <key>STORAGE_BUCKET</key>
        <string>myapp.appspot.com</string>
        <key>IS_ADS_ENABLED</key>
        <true/>
        <key>IS_ANALYTICS_ENABLED</key>
        <false/>
        <key>IS_APPINVITE_ENABLED</key>
        <false/>
        <key>IS_GCM_ENABLED</key>
        <true/>
        <key>IS_SIGNIN_ENABLED</key>
        <true/>
        <key>GOOGLE_APP_ID</key>
        <string>1:123430439762:ios:12hvkyu2hv4uy</string>
        <key>DATABASE_URL</key>
        <string>https://myapp.firebaseio.com</string>
    </dict>
</plist>

如何创建允许我同时使用FCM和Google Analytics的文件?

1 个答案:

答案 0 :(得分:0)

我们之前遇到过类似问题,我们一直使用Google Analytics跟踪分析,而Firebase用于数据库。

将Firebase合并到Google的产品后,我们与Firebase support取得了联系,因为每个项目都有自己的配置文件,我们不确定如何在我们的应用中单独配置这两项服务。

他们的反应是:

  

仅为FCM使用单独的项目是受支持的用例,只要在客户端实现中定义了正确的发件人ID即可。

     

...

     

要记住FCM设置的重要事项是您选择使用哪个项目,请使用同一项目中的发件人ID和服务器密钥。

在询问有关如何在iOS中设置Client implementation的详细信息时,我们被告知:

  

...您需要在FIRInstanceId类中更改authorizedEntity的值。

     

就Android而言,如果您希望实现用于接收或处理通知的自定义逻辑,则可以扩展基本的Messaging和IID服务。

这有助于回答您的问题吗?

我还建议您联系Firebase支持,以了解无法找到相关文档的问题。它们对我们与Google服务合并有很大帮助。