2016-11-22 67 views
0

我正在一個新的應用程序,我想給我的用戶可能使用多個設備。 該應用程序可以接收推送通知,我的問題是如何爲每個用戶保存更多的設備/令牌,這是爲了向所有用戶的設備發送推送通知。存儲多個令牌/設備推送通知

我的想法是以檢索「一些設備ID」,然後保存爲每個設備ID /令牌,但我不知道我可以使用哪些設備ID ...

另一個想法是創建一個隨機ID第一次,然後發送這個ID與令牌,這項工作(部分),直到用戶清除應用程序數據...在這種情況下,我需要重新發送一個新的ID(沒問題),但我不知道我是否可以刪除舊的ID /標記

任何解決方案?

回答

0

你不需要「某些設備ID」;推送令牌是設備ID爲。您需要確保您的後端數據庫可以將多個推送令牌與給定的用戶帳戶相關聯。這通常是通過用戶「用戶」表和「安裝」表之間的一對多關係來實現的。

您不能依靠您的應用程序來告訴您的後端刪除舊的令牌,因爲用戶可能會簡單地刪除您的應用程序,並且它沒有機會與您的後端進行通信。

APNS服務將提供有關哪些推送令牌無效的反饋(我認爲等效的Android服務也有類似情況)。您可以使用此反饋來清除安裝表中的無效安裝。

+0

好的,但我應該如何刷新令牌,當應用程序需要刷新它?如果我有2個令牌(所以2設備)我打開設備1上的應用程序,刷新令牌被調用,我發送這個令牌到我的服務器,我需要替換的令牌? – kikko088

+0

好吧,你可以在iOS上使用'identifierForVendor'這樣的東西來關聯一個設備ID,但是無論如何你需要處理清理,所以你可以添加第三個。對於給定的設備,推送令牌不應該改變(在iOS上)對於給定的設備 – Paulw11

+0

理論上在某些情況下令牌更改...蘋果說你需要在每次啓動應用程序時發送令牌。我不能添加標記而不刪除舊標記,因爲我冒險添加太多無用的標記:s – kikko088