2015-08-25 25 views
1

我正在嘗試查找用戶是否關閉了從APNS提供商處推送通知。iOS:確定用戶已關閉從APNS提供商處推送通知

這裏是場景

  1. 用戶寄存器,用於APNS並註冊提供該令牌。
  2. 用戶關閉設置的通知。
  3. 該應用程序當前沒有運行..

如果供應商試圖發送任何推送通知的設備會失敗? 或者如果我查詢反饋服務,它會報告嗎?

從我的測試到目前爲止,即使在用戶關閉推送通知並且反饋服務不報告令牌後,APNS仍會返回成功。

而如果用戶卸載應用程序,我可以看到反饋服務上的設備令牌。

回答

1

推送通知工作流程冗長乏味,沒有請求/響應模型。每次發送推送通知時,您都必須輪詢APNS反饋服務以檢查每個設備令牌是否仍然接受您的推送。

基於WWDC視頻,自iOS 9開始,當我們發送推送通知時,如果推送接收器關閉推送通知,我們將得到反饋。

Check this link

的APNS反饋服務器需要一定的時間來更新推送令牌狀態。它看起來不像目前的動態同步服務。

+0

新的提供者API會在App Uninstall上做即時的反饋,但即使用戶關閉通知時也會通知...因爲當前的提供者API不會那麼做...... – Mohan

+0

@Mohan也許我們應該考慮使用服務器保持用戶使用狀態,如Flurry和Google Analytics所做的一樣。 –