如何确定GCM广播通知的来源?

时间:2015-05-14 08:00:46

标签: push-notification google-cloud-messaging android-c2dm urbanairship.com

我现有处理直接从后端服务器发送的推送通知。但是现在,我希望在不破坏现有流量的情况下支持城市飞艇进行推送。 所以我已经为UA通知定义了一个IntentReceiver(除了现有的GcmIntentReceiver)。但问题是,现在两个接收器都被调用了。如何根据使用的传送方法确定并跳过任何特定的回调?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用2个不同的发件人。为Urban Airship创建一个新的发件人并设置为'gcmSender',然后在Urban Airship配置中将您现有的发件人添加为'additionalGCMSenderIds'。这将允许Urban Airship为申请注册两个发件人,而UA只会处理'gcmSender'的意图。然后在您现有的GCM意向接收器中,您需要通过检查意图的“from”额外信息来过滤Urban Airship发送者ID中的意图。

String sender = intent.getStringExtra("from");
if (APP_SENDER.equals(sender)) {
  // GCM Intent from your existing sender
}