我正在使用this tutorial作爲指導從我的後端實施向Azure通知中心的註冊。我的應用程序需要驗證,但用戶可以註銷並使用另一個帳戶重新登錄。 RegistrationId是否應該基於獨特的設備或用戶和設備的組合?換句話說,我應該在每次登出時清除RegistrationId嗎?如果用戶註銷時,以其他用戶身份重新登錄,但以原始用戶身份重新登錄,是否應創建新的RegistrationId或仍然使用原始用戶?是每個設備的RegistrationId?
0
A
回答
2
的GCM documentation for registering client apps狀態如下:
開發人員應從未註銷客戶端應用程序作爲用於登出或 一種機制,用於在用戶之間切換,其原因如下:
- 一種登記令牌ISN與特定登錄的用戶相關聯。如果客戶端應用程序取消註冊然後重新註冊,則應用程序可以接收相同的註冊令牌或不同的註冊令牌。
- 取消註冊和重新註冊每個可能需要長達五分鐘的時間纔會傳播到 。在此期間,由於 未註冊狀態,郵件可能會被拒絕,並且郵件可能會轉到錯誤的用戶。
爲了確保郵件到目標用戶:
- 應用服務器可以維持目前的用戶和 註冊標記之間的映射。
- 然後客戶端應用程序可以檢查以確保它收到的 消息與登錄用戶匹配。
這也適用於其他的推送通知服務,例如iOS版。
推送通知服務註冊在一臺設備上標識特定的應用程序。
使用Azure通知中心,您可以在單個設備上爲特定應用程序在技術上擁有多個Azure通知HUb註冊,甚至可以在登錄和註銷時註冊和取消註冊(僅在Azure通知中心,而不是在特定於平臺的推送通知系統),但是這將是容易出錯的,有一個更好的辦法:
- 只要你希望能夠接收推送通知,而只能註銷,如果你想註冊您在Azure的通知集線器應用一般不要接收它們。其實你可以在應用程序啓動時註冊並且永不註銷。
- 如果用戶登錄,請將帶有用戶標識(例如「user:123」)的標籤添加到註冊中,如果他註銷,請再次刪除該標籤。
- 這樣,您可以使用標籤來尋址某個用戶登錄的設備,請參閱Azure Notification Hubs Routing and Tag Expressions。
修改標籤也在the tutorial you linked中描述。
相關問題
- 1. 每個設備
- 2. 每個設備的Android PixelFormat
- 3. 的Android獾每一個Android設備
- 4. SELECT每個設備的最新記錄
- 5. Ionic |如何給每個設備的ID
- 6. 是否可以針對每個設備進行單個試用?
- 7. 設備令牌從一個設備到另一個設備是不同的
- 8. 每個iOS設備上的NSDate是否同步?
- 9. 單獨構建每個設備
- 10. BackupAgent每個設備有一個雲備份?
- 11. Phonegap是否爲每個設備添加GUI自定義?
- 12. 每個設備的FCM設備令牌一旦創建或將會改變?
- 13. 我有兩個相同的HID USB設備,每個都有它自己的控制程序,每個程序如何知道哪個HID設備是?
- 14. Swift 3 - 設置每個設備的XY軸UILabel
- 15. 唯一標識每個用戶的某個設備
- 16. Unity3D - PlayerPrefs對於下載我的apk的每個設備都是一樣的嗎?
- 17. C2DM:如何發現未使用的registrationId
- 18. 是否必須註冊下載我的應用的每個設備令牌?
- 19. GameKit框架中使用的peerID對於每個設備始終是唯一的?
- 20. gcm服務器如何生成註冊ID?它對設備中的每個應用程序或每個設備都是獨一無二的嗎?
- 21. Android設備每次插入設備時運行
- 22. 是否可以爲每個ios設備定義不同的背景圖像?
- 23. 變換:平移Y()的工作不同的每個設備
- 24. Android的每個設備的唯一ID像序列號
- 25. 2個設備
- 26. 返回單個最新記錄每一個設備ID表
- 27. Javascript在每個設備上的時間戳不同
- 28. 在linux中獲取每個設備的內存映射
- 29. 從每個設備上的相機膠捲選擇照片
- 30. android:獲取或創建每個設備的唯一ID