我正在使用GCM面臨嚴重的問題。早些時候,我們使用UrbanAirship發送推送通知,該通知使用GCM發送推送消息。現在我們在客戶端和服務器上實現了我們自己的GCM,並希望僅使用GCM發送推送通知。由於部分用戶將使用舊版本的應用程序,可能尚未更新爲新版本,因此我們必須繼續使用UrbanAhiphip向他們發送通知。已更新應用程序的用戶將只通過gcm獲得推送消息。這在調試模式下進行了測試並且工作正常。當通過UrbanAirship發送推送消息時,未安裝新版本的設備收到該消息。UrbanAirship vs GCM通知
但是在實時服務器上,當我們嘗試發送推送消息時,那些已更新應用程序並自成立以來一直與我們在一起的用戶(曾經通過UrbanAirship接收推送消息)從GCM以及UrbanAhiphip接收到推送消息。通過GCM發送的推送消息包含該消息,但通過UrbanAirship發送的消息是空白的。第一次安裝應用程序的設備上也沒有發生同樣的情況。這些用戶只能通過GCM收到推送消息。
我認爲這是因爲UrbanAirship對於那些曾經通過UrbanAirship接收推送消息的設備仍然有device_ids。現在,處理GCM和UrbanAirship廣播的活動使用的許可權是相同的,它們都對意圖過濾器中的同一行爲作出響應。因此,即使UrbanAirship的活動已從清單文件中刪除,該消息也由處理GCM推送消息的活動處理。
有沒有辦法阻止UrbanAirship向那些通過UrbanAirship接收通知的設備發送推送消息?或從UrbanAirship取消註冊這些設備?或者我可以通過傳遞一個額外的參數來修改GCM的接收器,如果該應用程序未被識別,將不會創建推送通知?
是否UrbanAirship API提供註銷方法從UrbanAirship註冊數據庫中刪除設備? – mjn 2014-12-19 09:32:42