2017-08-07 64 views
2

我正在使用具有云功能的Ionic和Firebase。每當數據更新時,我都會發送通知。每個設備的FCM設備令牌一旦創建或將會改變?

我有兩種類型的用戶:成員和非成員。

對於會員註冊/登錄時,如果用戶註冊,我生成FCM令牌並將其存儲。如果用戶登錄,我會檢查用戶是否存儲了設備令牌。

現在,如果我也想發送非成員的推送通知,我還需要存儲他們的設備令牌。

我該如何解決這個問題?

我讀過令牌偶爾更新一次嗎?如果是這種情況,我該如何檢查?

回答

2

我不知道您用於firebase的cordova插件。但是其中大多數提供了一個回調方法,當firebase-sdk收到一個新的令牌時會被調用。例如cordova-plugin-firebase的onTokenRefresh方法。 當回調被調用時,您將新令牌發送到您的服務器。

+0

thxx爲您的答覆。我正在使用「fcm插件」是的,這是onTokenRefresh方法。我對此有點困惑。當用戶卸載並重新安裝應用程序時,會在ontokenrefresh方法中創建一個新標記? – Mikethetechy

+0

我只是想知道。對於調用onTokenRefresh的同一設備,新生成的令牌將與來自同一設備的舊令牌是否相同? – Mikethetechy

+0

我認爲以下答案也可以解答您的問題:https://stackoverflow.com/a/37686075/6184203。當您第一次啓動您的應用程序並且它可以連接到谷歌服務器時,會生成初始標記,之後標記可能會更改(刷新),onTokenRefresh將使用新(不同)標記調用。 – David