簡體   English   中英

在iOS設置中更改通知后,Amazon SNS如何禁用/重新啟用設備?

[英]How does Amazon SNS disable/re-enable devices when notifications are changed in iOS Settings?

我在基於Swift的iOS應用程序中將Amazon SNS用於移動推送通知和AWS開發工具包。 一切正常,但是當我從iOS設置禁用通知,然后在“設置”中的應用程序條目下關閉通知時,我注意到一些奇怪的行為。 如果我關閉通知,則AWS SNS控制台上的enabled標志仍設置為true

在某些情況下,enabled標志將正確翻轉為false 在這些情況下,當我嘗試在iOS設置中重新啟用通知時,enabled標志將永遠不會翻轉回true 知道為什么會這樣嗎? 無論如何,要使它實時地適當設置嗎?

提前致謝。

Amazon SNS會響應來自APNS的指示推送令牌無效的反饋來禁用終端節點。 SNS不知道在設備上執行了什么操作來使令牌無效; 它僅根據APNS反饋消息設置狀態。

您應該查看“ 移動令牌管理”博客文章,以了解處理禁用端點的細節和最佳實踐。

Amazon SNS與設備之間沒有交互,SNS僅與平台提供商(GCM,APNS,百度,WMS等)交互。

出於多種原因,端點可能在Amazon SNS中被禁用:

  1. 設備令牌已更改,您尚未使用新令牌更新端點。 在這種情況下,推送通知將失敗到此設備,因為當前端點令牌無效。 根據APNS反饋,端點將設置為DISABLED。 在以下情況下,設備令牌可以更改:

    • 應用程序版本已升級,i
    • iOS版本已升級,或
    • 如果重置設備,則可能。

此處的建議是通過將新獲得的令牌與保存在NSUserDefaults存儲中的令牌進行匹配,以驗證應用程序在啟動時進行的令牌更改;如果有所不同,請在更新SNS端點后在本地對其進行更新。

這可能是為什么當您在設備設置中重新啟用通知時,“ enabled flag將永遠不會翻轉回true ”的原因。

  1. 設備所有者已刪除該應用程序,並且在未安裝該應用程序時,SNS通知將發送到該設備。 此時,APNS提供無效令牌的反饋,並且端點被SNS禁用。 由於禁用端點的APNS回調的異步特性,這最多可能需要24小時。

  2. SNS通知使用未為應用程序或環境生成的令牌發送到端點。 例如,端點是手動生成的,並且是64個長度的有效十六進制字符的隨機組合。

  3. 如果將帶有用於應用程序的SANDBOX(APNS_SANBOX)環境的有效令牌的SNS通知無意中發送到PRODUCTION(APNS)環境。 在這種情況下,SNS接受令牌,但在第一個推送通知中失敗,並且基於APNS反饋將禁用端點。

Rohan分享的博客文章是移動令牌管理的重要資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM