GCM - 如何有选择地将消息发送到某些包名称?

Posted

技术标签:

【中文标题】GCM - 如何有选择地将消息发送到某些包名称?【英文标题】:GCM - how to selectively send messages to certain package names? 【发布时间】:2016-02-09 09:39:17 【问题描述】:

我们有一个具有三个构建变体的项目:dev、tst、live 和各自的包名称 our.package.name .dev、our.package.name.tst、our.package.name。所有构建变体都有不同的后端,因此我们需要显示针对不同变体的不同推送通知

开发人员控制台中的服务器 API 密钥与任何特定的构建变体/包名称无关,因此它会发送给所有构建风格。

有没有指定的方法来解决这个问题?我目前看到的唯一解决方案是发送带有 GCM 数据的目标构建变体并检查前端。

【问题讨论】:

当您手动注册 GCM 时,为了得到一个sender id(12 位数字)和一个API key(39 个字符的字母数字),那么您是否提供了您的package name?这就是我被要求的,这表明我将来需要使用正确的标识符。 【参考方案1】:

您可以使用选项restricted_package_name。此参数指定注册令牌必须匹配的应用程序包名称才能接收消息。

【讨论】:

以上是关于GCM - 如何有选择地将消息发送到某些包名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用谷歌云连接服务器发送上游 GCM 消息

RabbitMQ 消息队列

相同的服务器代码可以向 APNS 和 GCM 发送通知吗

GCM 是如何工作的? (适用于 Android 的谷歌云消息传递)

将 GCM 与 Meteor 一起使用

如何向 GCM 发布通知