0
我有一個現有的處理從我們的後端服務器直接發送的推送通知。但是現在,我想支持城市飛艇進行推送,而不會破壞現有的流量。 所以我定義了一個用於UA通知的IntentReceiver(除了現有的GcmIntentReceiver外)。但問題是,現在兩個接收器都被調用了。我如何確定並跳過任何特定的回調取決於使用哪種傳遞方法?如何確定GCM廣播通知的來源?
我有一個現有的處理從我們的後端服務器直接發送的推送通知。但是現在,我想支持城市飛艇進行推送,而不會破壞現有的流量。 所以我定義了一個用於UA通知的IntentReceiver(除了現有的GcmIntentReceiver外)。但問題是,現在兩個接收器都被調用了。我如何確定並跳過任何特定的回調取決於使用哪種傳遞方法?如何確定GCM廣播通知的來源?
最簡單的方法是使用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
}