是否可以在GCM上注册我的应用程序的不同构建变体(发布和调试)(在我看来,我已经迁移到Firebase Messaging,但我认为解决方案是相同的)? 当我注册我的应用程序时,我得到了一个google-service.json和一个服务器密钥。我将服务器密钥发送给后端开发人员,并将json包含在我的项目中。 我应该使用项目名称“com.example.myapp.debug”(如果我的发布构建“com.example.myapp”)为调试版本生成另一个json,并将此服务器密钥发送给后端开发人员吗? 这是解决方案,我仍然不知道将json放在哪里用于不同的构建。 还有我的另一个问题,那就是GcmReceiver。我添加了
<action android:name="com.exmple.myapp />
我应该用
替换它<action android:name="${applicationId}" />
答案 0 :(得分:1)
我建议您为调试和发布版本创建和使用两个单独的项目,以避免在发送消息时获得混合(即在测试时意外推送到实时设备)
没有直接关联,但GCM CCS docs中提到的陈述说明让您了解我想说的内容。
然而,根据我的回答here完全相关注释:
您可以为您的应用创建新的产品风格(例如“开发”)(Configure Build Variants)并创建一个单独的firebase项目(带有单独的google-services.json文件)(Add multiple google-services.json files) 。
然后,每个项目都有不同的API密钥,它们不会相互影响。
答案 1 :(得分:0)
无需创建不同的google-service.json文件。添加主包名称并创建一个。它将同时适用于构建和发布版本