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

4
我可以帮助您翻译IT技术相关内容。下面是需要翻译的内容:

我有一个应用程序,大约是2年前创建的。从一开始它就一直在使用Google Analytics。现在我想向其添加Firebase Cloud Messaging,但当我从Firebase控制台下载新的GoogleService-Info文件时,我注意到看起来非常不同。特别是新文件不包含旧文件中的TRACKING_ID。此外,GOOGLE_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的文件?


嗨,你最终做了什么?我现在也遇到了完全相同的问题。 - user1974368
1个回答

2
我们之前遇到过类似的问题,当时我们使用Google Analytics来进行分析跟踪,而使用Firebase来进行数据库管理。
在Firebase被合并到Google产品中后,我们联系了Firebase支持团队,因为每个项目都有自己的配置文件,我们不确定如何在应用程序中分别配置这两个服务。
他们的回答是:

只要在客户端实现中定义了正确的Sender Id,将FCM单独用作一个项目是受支持的用例。

...

FCM设置的重要事项是无论您选择使用哪个项目,请使用同一项目的Sender ID和Server Key。

当询问如何在iOS中设置Client implementation的详细信息时,他们告诉我们:

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

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

这有助于回答您的问题吗?
我也建议在无法找到文档的情况下联系Firebase支持。他们对我们与Google服务合并非常有帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接