簡體   English   中英

如何管理和發送通知到用戶登錄的多個設備?

[英]how to manage and send notifications to multiple devices a user is logged in?

我正在開發一個具有移動應用程序和 Web 面板的應用程序,用戶可以在其上同時登錄多個設備。 我正在使用 Firebase 雲消息發送通知。

因此,目前要發送通知,我將 Firebase 雲消息傳遞令牌存儲在一個數組中,並通過循環遍歷該數組來發送通知,例如用戶可以在 2 個瀏覽器/筆記本電腦上打開相同的帳戶 + 使用相同的帳戶登錄到 3 個不同的移動設備,因此 5 個不同的令牌將存儲在數據庫中。 每次用戶打開移動應用程序時,它都會獲得一個保存在數據庫中的新令牌。 我不會隨時刪除任何令牌。

因此,我的數據庫中將收集大量令牌,這將花費越來越多的時間向特定用戶發送有關所有令牌的通知。

所以我想知道如何管理這些令牌? 我該如何驗證? 因為我沒有刪除令牌,所以通知發送請求總是返回 200。我應該使用主題而不是令牌,但是我將如何從服務器端取消訂閱用戶。

您可以在數據庫(tokenFromAndroid、tokenFromIos、tokenFromWeb 等其他平台)中創建多個屬性(而不是字符串數組)。 每次調用 Firebase SDK 來生成令牌時,您都可以更新數據庫中的相應屬性,因此令牌始終是該平台的最新令牌。 在這種情況下,一個用戶不會有太多的令牌。

在我看來,您必須將 Firebase 與 NODEJS 或 Laravel 一起使用,並添加一個包含用戶登錄的所有設備的設備表

像這樣:

  • 用戶身份。
  • device_id(序列號)。
  • 設備名稱。
  • firebase_token。
  • 狀態(登錄/退出)。

因此,當您需要推送給特定用戶時,您必須將 go 發送到設備表並發送到使用過的設備的令牌。

因此用戶仍然可以在所有使用過的設備中收到通知

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM