4

我在我的應用程序中實施了推送通知。即使在刪除應用程序後仍接收推送通知iPhone

它工作正常。

現在的問題是,即使我從設備中刪除我的應用程序,它正在得到推送通知。

那麼有什麼辦法從設備中刪除從推送通知中註銷應用程序。

希望得到您的幫助。

在此先感謝。

+1

廣告有任何機會嗎?如果是這樣,請爲您提供正確的服務 – Wug 2012-07-18 06:38:17

+0

用戶可以在設備設置中自行修復。 – 2012-07-18 06:40:40

回答

9

在Apple推送通知中有一些名爲 - 反饋服務。因此,當用戶刪除應用程序時,服務提供商應該停止向該設備發送通知。但Apple不會通知服務:「此設備未使用您的應用程序,不發送通知」。所以相反,你需要輪詢這個信息。

每天你可能需要點擊蘋果通知服務器,要求它給你的設備已刪除你的應用程序的ID。一旦你得到它們,你將它們標記在你的數據庫中被刪除,從而不再發送任何通知。希望這是你想要的。

Apple Documentation -

...蘋果推送通知服務包括反饋 服務,不斷的APN與對其中有失敗的遞送嘗試 設備每個應用程序列表更新。這些設備是由以二進制格式編碼的設備令牌標識的 。提供商應該定期查詢反饋服務以獲取其應用程序的設備 令牌列表,其中每個標識符都由其主題 標識。然後,在驗證應用程序最近沒有在已識別的設備上重新註冊 後,提供商應該停止向這些設備發送通知 。

對反饋服務的訪問通過類似於用於發送推送通知的二進制接口 進行。您通過feedback.push.apple.com,端口2196訪問 生產反饋服務; 您通過 feedback.sandbox.push.apple.com,端口2196訪問沙盒反饋服務。與用於推送通知的二進制 接口一樣,您必須使用TLS(或SSL)至 建立安全通信通道。這些連接所需的SSL證書 與發送通知的 的配置相同。要建立值得信賴的提供商身份,您應在連接時使用 對等身份驗證向APN提供此證書。

一定要結帳 - Issues with Feedback Service

+0

如何知道誰刪除了應用程序,或者當應用程序正在刪除某個設備時,是否有任何委託方法被調用。請親們幫忙.. – suji 2012-07-18 06:48:33

+0

檢查更新後的答案,也是這樣你的推送框架的一部分不涉及應用程序的很多變化,它的所有後端更改。 – 2012-07-18 06:53:13

0

轉到「通知」下的「設置」,然後停用針對違規應用的所有通知。不是一個永久的解決方案,因爲你仍然必須找出並解決問題的根源

0

沒有見過這樣的回答,到目前爲止,還有就是蘋果的「疑難解答推送通知」文檔中的小紙條。
簡而言之,如果您刪除最後一個啓用了推送的應用程序,則在服務器被告知應用程序已被刪除之前,從設備到Apple推送服務器的持續連接被中斷。
解決方案:在您的設備上至少保留一個啓用了應用程序的應用程序。

有從文檔的解釋:

與使用反饋服務 如果您從您的設備或計算機中刪除您的應用程序,然後發送推送通知給它的問題,你會希望有設備令牌被拒絕,並且無效的設備令牌應該出現在反饋服務上。但是,如果這是設備或計算機上最後一個啓用了推送的應用程序,它將不會顯示在反饋服務中。這是因爲在刪除通知可以發送之前,刪除最後一個應用程序會將推送服務的持久連接關閉。

您可以通過在設備或計算機上至少保留一個啓用了推送的應用程序來解決此問題,以保持持續連接。要保持與生產環境的持續連接,只需從App Store安裝任何免費的支持推送的應用程序,然後就可以刪除應用程序並將其顯示在反饋服務中。

回想一下,每個推送環境都有自己的持久連接。因此,爲了保持與沙箱環境的持續連接,請安裝另一個支持開發推送的應用程序。「

相關問題