0

我有一个现有的处理从我们的后端服务器直接发送的推送通知。但是现在,我想支持城市飞艇进行推送,而不会破坏现有的流量。 所以我定义了一个用于UA通知的IntentReceiver(除了现有的GcmIntentReceiver外)。但问题是,现在两个接收器都被调用了。我如何确定并跳过任何特定的回调取决于使用哪种传递方法?如何确定GCM广播通知的来源?

回答

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 
}