当前位置 : 主页 > 网络推广 > seo >

firebase – 有没有办法根据注册ID或通知密钥名称检索现有的notification_key?

来源:互联网 收集:自由互联 发布时间:2021-06-16
假设有人在Fi​​rebase Cloud Messaging中创建了一个设备组,是否有办法在设备组创建后检索现有的notification_key? 有没有办法根据通知密钥名称或注册ID查找notification_key? 似乎通知密钥仅在
假设有人在Fi​​rebase Cloud Messaging中创建了一个设备组,是否有办法在设备组创建后检索现有的notification_key?

有没有办法根据通知密钥名称或注册ID查找notification_key?

似乎通知密钥仅在create方法上返回,如果密钥丢失或保存到数据库时出错 – 如果没有notification_key,则无法在密钥名称中添加另一个注册ID,因为它已经存在.

如果您知道创建它时使用的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.原因是如果用户删除了我的应用程序的帐户,我还会删除他们的设备组,以便可以重用设备组名称.

网友评论