我正在使用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. 如何注意設備GCM registrationID是否已過期?
- 2. 每個設備
- 3. 每個設備的Android PixelFormat
- 4. 關於Android設備轉移時Android應用程序中的GCM registrationId
- 5. SELECT每個設備的最新記錄
- 6. 註冊每個獨特的iOS設備?
- 7. Ionic |如何給每個設備的ID
- 8. 的Android獾每一個Android設備
- 9. 每個設備的iOS SDK指紋功能是唯一的?
- 10. 整個設備或每個工作組是否爲CL_DEVICE_LOCAL_MEM_SIZE?
- 11. 是否可以針對每個設備進行單個試用?
- 12. 設備令牌從一個設備到另一個設備是不同的
- 13. Android GCM:intent.getStringExtra(EXTRA_REGISTRATION_ID)對於每個設備都是唯一的嗎?
- 14. Secure.ANDROID_ID對每個設備都是唯一的嗎?
- 15. 我是否爲每個設備加載不同的phonegap.js?
- 16. 每個iOS設備上的NSDate是否同步?
- 17. 每個設備或每個設備的GCM限制爲100個消息/ 4個合攏鍵註冊ID
- 18. 單獨構建每個設備
- 19. BackupAgent每個設備有一個雲備份?
- 20. Phonegap是否爲每個設備添加GUI自定義?
- 21. gcm是否要求每個設備使用Google帳戶註冊?
- 22. 即插即用ID(PNPID)是否適用於每個設備?
- 23. 連接的設備是一個設備或模擬器
- 24. 每設備授權角度
- 25. Android廣告是否每個設備或每個用戶帳戶都是唯一的?
- 26. 每個設備的FCM設備令牌一旦創建或將會改變?
- 27. APNS會每次爲單個設備生成新的設備令牌嗎?
- 28. 我有兩個相同的HID USB設備,每個都有它自己的控制程序,每個程序如何知道哪個HID設備是?
- 29. registrationID生命週期GCM
- 30. Swift 3 - 設置每個設備的XY軸UILabel