GCM如何区分使用相同发件人ID的2个应用程序?

时间:2016-04-09 21:10:14

标签: google-cloud-messaging google-play-services android-gradle-2.0

我正在开发一个包含多个Flavors的Android项目,当然每个都有调试和发布版本,我们的设置是让API端点指向暂存和释放指向实时服务器,我正在使用Google为年级播放服务插件

classpath 'com.google.gms:google-services:2.1.0-alpha5'

我面临的问题是使用google-services.json,因为它不可能有一个用于Debug而一个用于Release(每种风格)。 在我们的项目中,Flavors代表国家(具有不同的品牌名称和语言)。

为什么我要为每个构建类型的每种风格使用不同的GCM发送方? 因为在这两个应用程序中,用户订阅主题并且我们将推送消息发送给主题而不是单个用户,因此我们收集GCM令牌仅供参考,但发送始终是基于主题的,因此如果您在Debug中具有相同的主题名称,释放你会遇到麻烦。

因此,通过发送例如主题“X”进行测试期间的任何事故将最终向Live用户发送消息以及暂存(调试)。 另一方面,我们仍然不希望每个Release类型都有它,因为并非所有Flavors都会有相同的Sender。

所以理想的解决方案如下:

-app/src/flavor1Debug/google-services.json   (with project_number:"1000001")
-app/src/flavor1Release/google-services.json (with project_number:"1000002")
-app/src/flavor2Debug/google-services.json   (with project_number:"9000001")
-app/src/flavor2Release/google-services.json (with project_number:"9000002")

但Google-Play服务似乎只适用于

- app/google-services.json
- app/src/flavor1/google-services.json
- app/src/flavor2/google-services.json
- app/src/debug/google-services.json
- app/src/release/google-services.json

有没有其他方法可以为每个“Flavor + Build”分隔发件人ID?

0 个答案:

没有答案