簡體   English   中英

Azure Notification Hubs注冊生存時間(限制為90天)

[英]Azure Notification Hubs registration time to live (90 days limit)

現在我正在使用PushSharp庫發送Apple推送通知(通過APNS),但我想遷移到Notification Hubs以獲得穩健性和可擴展性。

我打算使用本文所述的后端注冊通過Azure通知中心實現發送通知。 所以:

  1. iOS客戶端在更新推送令牌時會調用后端API的方法。 在這個方法中,我使用用戶ID進行注冊標記。 (以前,我將推送令牌存儲到DB中的用戶鏈接。)
  2. 當我收到一些特定用戶的通知時,我會使用標簽(用戶ID)發送。 (以前,我使用過DB的APNS設備令牌。)

它似乎是一個有效的解決方案,但在Notification Hubs文檔中說:

重要的是要注意注冊是暫時的。 與它們包含的PNS句柄類似,注冊過期。 您可以在通知中心設置注冊的生存時間,最長可達90天。 此限制意味着必須定期刷新它們,並且它們不應該是重要信息的唯一存儲。 此自動過期還可以在卸載移動應用程序時簡化清理。

這就是問題所在。 有時我需要向尚未更新令牌90天的設備發送通知,等等。 因此APNS令牌仍然有效,但Notification Hub的注冊將失效。 所以我只是失去了用戶的溝通渠道。

你怎么處理這個?

當然,我仍然可以在DB中存儲令牌,並且可以定期更新注冊。 但這不是您對通知中心等推送通知解決方案的期望。

您可以從應用程序或服務器刷新注冊。 如果您從應用程序執行此操作,則必須由用戶啟動該應用程序才能刷新注冊。

因此,如果您要求設備注冊即使對於未啟動超過90天的應用程序仍保持活動狀態,您必須通過服務器刷新注冊,並在服務器中運行可刷新令牌的作業似乎是您唯一的選擇。

我同意Notification Hubs讓令牌過期的決定似乎很奇怪。 也許他們考慮過MPNS(微軟推送通知服務)通知渠道的行為,這些渠道比APNS設備令牌或GCM注冊ID更頻繁地過期。

快速說明,因為答案是2歲。 在這篇博客中, Azure聲明:

請務必注意,默認情況下注冊和安裝不再過期。

我認為這會使過期字段混亂,但不再是問題。

UPDATE

較舊的通知中心仍然存在此問題。 您需要更新它們以將到期時間設置為無窮大, 可在此論壇帖子中找到說明 新的集線器自動設置為無窮大。

根據最新的通知中心文檔,這90天的限制已經延長到生命周期,這意味着您不需要在90天后重新注冊設備。

暫無
暫無

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

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