首页 文章

管理FCM设备组

提问于
浏览
11

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

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

这是我已经可以做的事情:

  • 使用某些设备令牌创建新设备组

  • 将设备令牌添加到现有设备组

这就是我无法弄清楚如何做的事情,因为在文档中没有提到它:

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

解决方法1:如果我尝试使用已经存在的 notification_key_name 创建一个组,那么我会收到一个错误告诉我,但这似乎是一个非常黑客的方法来查找 .

解决方法2:将自己的信息存储在其他地方 .

  • 找出哪个设备令牌( registration_id )属于设备组 .

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

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

解决方法:无 .

  • 删除设备组 .

解决方法:无 .

谢谢!

2 回答

  • 0

    根据notification_key_name查询设备组是否已存在 .

    你的第二个解决方法是要走的路 . 您应该将其存储在App服务器中,与存储注册令牌的位置相同 .


    找出哪个设备令牌(registration_id)属于设备组 .

    与上面的解决方法相同 . 您必须在App Server上管理这些详细信息 . 开发人员有责任管理这些细节 . 如果删除了注册设备,则匹配操作,您也必须将其从App Server中删除 .


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

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

    从设备组添加和删除设备要添加或删除现有组中的设备,请发送操作参数设置为添加或删除的POST请求,并提供注册令牌以进行添加或删除 . 注意:如果从设备组中删除所有现有注册令牌,FCM将删除设备组 . HTTP POST请求例如,要将具有注册ID 51的设备添加到appUser-Chris,您将发送此请求:{
    “操作”:“添加”,
    “notification_key_name”:“appUser-Chris”,
    “notification_key”:“APA91bGHXQBB ... 9QgnYOEURwm0I3lmyqzk2TXQ”,
    “registration_ids”:[“51”]
    }
    响应格式成功添加或删除设备的请求会返回如下所示的notification_key:{
    “notification_key”:“APA91bGHXQBB ... 9QgnYOEURwm0I3lmyqzk2TXQ”
    }
    注意:添加/删除注册令牌不需要notification_key_name,但包括它可以防止您意外使用不正确的notification_key .


    删除设备组 .

    从上面文档中的说明:

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

  • 9

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

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

    这回来了

    { "error": "notification_key not found" }

    如果设备组不存在,或者通知密钥,否则 .

相关问题