【问题标题】:Managing FCM device groups管理 FCM 设备组
【发布时间】:2017-07-19 19:34:57
【问题描述】:

我试图弄清楚如何使用 REST API 从应用服务器管理 FCM 设备组。

AFAIK 这些是更新的文档:https://firebase.google.com/docs/cloud-messaging/android/device-group#managing_device_groups

这是我已经可以做的:

  • 使用一些设备令牌创建一个新设备组
  • 将设备令牌添加到现有设备组

这就是我不知道该怎么做,因为文档中没有提到它:

  • 根据notification_key_name查询设备组是否已经存在。

    解决方法 1:如果我尝试使用 notification_key_name 创建一个组 已经存在然后我收到一个错误告诉我,但这似乎 就像一个 非常 hacky 的方式来找出答案。

    解决方法 2:我自己将该信息存储在其他地方。

  • 找出哪些设备令牌 (registration_id) 属于设备组。

    解决方法:和以前一样,自己将这些信息存储在其他地方。

  • 从设备组中删除设备令牌 (registration_id)。

    解决方法:无。

  • 删除设备组。

    解决方法:无。

谢谢!

【问题讨论】:

    标签: firebase firebase-cloud-messaging


    【解决方案1】:
    • 根据notification_key_name查询设备组是否已经存在。

    您的第二个解决方法是要走的路。您应该将其存储在您的应用服务器中,您也应该在其中存储注册令牌。


    • 找出哪些设备令牌 (registration_id) 属于设备组。

    与上述解决方法相同。您必须在应用服务器上管理这些详细信息。管理这些细节是开发人员的责任。如果注册设备被移除,则匹配操作,您也必须将其从您的应用服务器中移除。


    • 从设备组中删除设备令牌 (registration_id)。

    我不确定您在这里需要什么。 documentation 有关于从设备组中删除注册令牌的详细信息:

    在设备组中添加和删除设备

    要在现有组中添加或删除设备,请发送 POST 请求并将 operation 参数设置为 addremove,并提供注册令牌以进行添加或删除。

    注意:如果您从设备组中删除所有现有注册令牌,FCM 会删除设备组。

    HTTP POST 请求

    例如,要将注册 ID 为 51 的设备添加到 appUser-Chris,您可以发送以下请求:

    {
       "operation": "add",
       "notification_key_name": "appUser-Chris",
       "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ",
       "registration_ids": ["51"]
    }
    

    回复格式

    添加或删除设备的成功请求会返回如下所示的 notification_key:

    {
       "notification_key": "APA91bGHXQBB...9QgnYOEURwm0I3lmyqzk2TXQ"
    }
    

    注意:添加/删除注册令牌不需要notification_key_name,但包含它可以防止您意外使用不正确的notification_key >。


    • 删除设备组。

    来自上述文档中的注释:

    注意:如果您从设备组中删除所有现有的注册令牌,FCM 会删除该设备组。

    【讨论】:

    • 类似(可能有帮助)的帖子here
    • 谢谢艾尔!真的很有帮助。我不敢相信我错过了文档中有关删除设备和设备组的部分。这就是我浏览它而不是彻底阅读它所得到的,对不起!
    • 在这部分“发送一个将操作参数设置为添加或删除的 POST 请求”,您介意包含添加操作的结果端点吗?
    • @moondaisy 嗨。用于管理设备组的端点在任何操作中都几乎相同:https://android.googleapis.com/gcm/notification
    【解决方案2】:

    要为第一个问题添加另一个选项,不确定这是否是 FCM 在接受答案后添加的,但是在 Android(和 IOS)文档的 Managing device groups on the app server 部分中,有一部分是关于 Retrieving通知键 使用 GET 请求来

    https://fcm.googleapis.com/fcm/notification?notification_key_name=appUser-Chris

    返回

    { "error": "notification_key not found" }

    如果设备组不存在,或者通知键不存在,否则。

    【讨论】:

      猜你喜欢
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-26
      相关资源
      最近更新 更多