2013-10-30 75 views
5

我們目前正在實施推送通知(目前僅適用於IOS),並且我們正在計劃使用Urban Airship。如果他們安裝了我們的應用並啓用了推送功能,我們希望向設備發送推送消息,如果沒有,則發送短信。我們的用戶爲通知付費,因此我們希望儘可能確保他們總是收到推送消息或SMS消息。發送推送消息本身工作正常,但我很困惑如何跟蹤我們實際上可以發送推送消息的人。使用Urban Airship跟蹤活動用戶的推送通知

據我所知,真正確定用戶是否可以接收推送消息的唯一方法是在發送推送消息之前,對城市飛艇api額外呼叫以檢查設備是否存在並且是活性。我寧願不對每個推送消息進行2次api呼叫,因此另一種方法可以是在本地跟蹤城市飛艇中的所有已註冊設備,並且每小時左右更新一次該列表。然而,這意味着「有源設備列表」並不總是完全準確,我們必須自己跟蹤所有註冊的設備,這感覺就像重新實施城市飛艇的一部分。

有沒有其他(更好)的方法來做到這一點?據我所知,當我向城市飛艇發送推送消息時,api總是返回,表示它已成功發送,無論設備是否處於活動狀態,或者甚至存在。

我無法想象我是唯一有這個問題的人。有沒有人有更好的方法來解決它,或者我堅持2我選擇了自己的選擇?

回答

5

城市飛艇股以下two options

在任何情況下,應用程序應該會妥善處理活動裝置 令牌。我們建議開發者要麼:

  1. 註冊設備令牌每次打開應用程序,就像我們的示例應用程序確實
  2. 經常使用我們的反饋API的時候,在自己的數據庫存儲滅活設備令牌,併發送註冊時設備令牌 再次變爲活動狀態。

如果您對城市飛艇額外的調用來檢查,如果該設備存在並處於活動狀態,即使在那時,「有源器件清單」未必完全準確,因爲城市飛艇依賴於從定期更新Apple反饋服務:

Apple告訴我們該應用程序已通過我們定期檢查的 反饋服務卸載。

還有,千萬記得蘋果公司已經表示對delivery of Push Notifications

重要:通知的交付是「盡力而爲」,不能保證。它不打算將數據傳遞到您的應用程序,只是爲了通知用戶有新的可用數據。

+0

所以基本上沒有真正的方法來讓這項工作以一種很好的方式。這太糟糕了。 – Dennisch

+0

@Dennisch是的,我相信通知的傳遞是不能保證的。 –

相關問題