我正在开发一个包含多个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?