2016-02-12 34 views
1

我在PubNub文檔中找不到任何api來列出與頻道關聯的設備令牌。我打算這樣,如果同一用戶在不同設備登錄,他們得到的所有推送通知意味着對他們來說,從服務器端用戶各自的渠道聯繫起來,並在他們的設備令牌直接鏈接到這些渠道,我們將在頻道上發佈更改。但是現在,在稍後的某個時間點,我們可能需要檢索與這些頻道關聯的設備令牌如何做到這一點?Pubnub列表devicetoken與頻道關聯?

截至目前,我們不打算來存儲設備令牌上我們的應用程序服務器,以爲我們會從PubNub通過渠道獲取,但我們找不到任何相關的API。

請幫幫忙,也讓我們知道,如果設計不正確。

謝謝!

+0

不知道爲什麼會得到downvoted。我想看看原因,因爲這是一個合法的問題。我用upvote反擊了其中一個降價。請參閱下面的答案。 –

回答

2

PubNub移動推送網關 - 設備令牌/頻道查找

PubNub目前不提供一種方法,因爲這被認爲是不安全的獲得設備的令牌給定通道。如果你(誰是:客戶端設備,服務器,第三方等),要麼知道設備令牌與否。如果您無法通過某些有效/合法的方式獲取設備令牌,則您無法通過其他方式獲得設備令牌(例如通過PubNub渠道關聯)。

你可以做的是讓設備POST它的令牌到你的服務器以及它應該註冊的PubNub通道列表來推送通知並將它們存儲在你的數據庫中,並且當這些設備令牌/通道關聯改變時維護該列表。

你總是可以列出使用SDK的特定的API給定設備的渠道:

或者使用REST API :

http://pubsub.pubnub.com/v1/push/sub-key/your_sub_key/devices/your_device_token?type=push_type 

其中push_typegcmapnsmpns

+0

海蘭克雷格,我沒有發現PubNub 4.0 pubnub.requestPushNotificationEnabledChannelsForDeviceRegistrationId的方法。什麼是這種方法的替代? – Ovi

+0

您使用哪種PubNub SDK? –

+0

必須是Java SDK 4.x. [這些是您正在查找的文檔](https://www.pubnub.com/docs/java/api-reference-sdk-v4#adding-device-channel)。 –