作者:美多小涛_584 | 来源:互联网 | 2023-02-10 10:37
假设有人在Firebase Cloud Messaging中创建了一个设备组,是否有办法在notification_key
设备组创建后检索现有设备组?
有没有办法notification_key
根据通知密钥名称或注册ID 查找?
似乎通知密钥仅在create方法上返回,如果密钥丢失或者保存到数据库时出错 - 则不可能在没有a的情况下向密钥名称添加另一个注册ID,notification_key
因为它已经存在.
1> camden_kid..:
如果您知道创建它时使用的notification_key_name,则可以检索设备组的notification_key.参考:https://firebase.google.com/docs/cloud-messaging/android/device-group
用这个:
https://android.googleapis.com/gcm/notification?notification??_key_name=your-key-n??ame
参考:https://groups.google.com/forum/#!topic / firebase-talk/ ytovugx8XNs
例如:
let optiOns= {
url: 'https://android.googleapis.com/gcm/notification?notification_key_name=the_name',
method: 'GET',
headers: {
"Content-Type": "application/json",
"Authorization": "key=" + authorizationKey,
"project_id": projectId
}
};
request(options, function (error, response, body) {
if (!error) {
res.json(body);
}
else {
res.json(error);
}
});
我在使用此调用时发现的一件事是返回的notification_key总是不同,但我能够成功使用它来添加或删除registration_ids.
我将从之前的评论中添加一些额外的信息:
我在设备组方面遇到了很多麻烦.删除设备组的唯一方法是删除它包含的所有通知密钥.如果您忘记了已添加到设备组的通知密钥,则无法删除该设备组,因为目前无法获取设备组中的通知密钥列表.
设备组是一种非常好的机制,用于向多个设备发送消息(有关其他方法,请参阅@ AL.的注释).我还在数据库中存储每个设备组的registration_ids.原因是如果用户删除了我的应用程序的帐户,我还会删除他们的设备组,以便可以重用设备组名称.