Firebase 是否有基于注册id或通知密钥名称检索现有通知密钥的方法?

Firebase 是否有基于注册id或通知密钥名称检索现有通知密钥的方法?,firebase,firebase-cloud-messaging,Firebase,Firebase Cloud Messaging,假设已经在Firebase云消息中创建了一个设备组,是否有方法在创建设备组后检索该设备组的现有通知密钥 是否有办法根据通知密钥名称或注册id查找通知密钥 通知密钥似乎仅在创建方法上返回,如果密钥丢失或保存到数据库时出错,则在没有通知密钥的情况下,不可能向密钥名称添加另一个注册id,因为它已经存在。目前没有检索设备组的API与给定注册令牌关联的(notification_keys)。开发人员负责管理/映射设备组及其关联注册令牌的关系 对于您的场景,我建议暂时存储通知\u键,直到它成功存储在您的应用

假设已经在Firebase云消息中创建了一个设备组,是否有方法在创建设备组后检索该设备组的现有
通知密钥

是否有办法根据通知密钥名称或注册id查找通知密钥


通知密钥似乎仅在创建方法上返回,如果密钥丢失或保存到数据库时出错,则在没有
通知密钥的情况下,不可能向密钥名称添加另一个注册id,因为它已经存在。

目前没有检索设备组的API与给定注册令牌关联的(
notification_key
s)。开发人员负责管理/映射设备组及其关联注册令牌的关系

对于您的场景,我建议暂时存储
通知\u键
,直到它成功存储在您的应用程序服务器中

一些可能有用的帖子:


如果您知道创建设备组时使用的通知密钥名称,则可以检索该设备组的通知密钥。参考:

使用以下命令:

https://android.googleapis.com/gcm/notification?notification‌​_key_name=your-key-n‌​ame
参考:

例如:

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);
    }
});
使用此调用时,我发现返回的通知密钥总是不同的,但我能够成功地使用它添加或删除注册ID

我将从前面的评论中添加一些附加信息:

  • 我在设备组方面遇到了不少问题。删除设备组的唯一方法是删除其中包含的所有通知密钥。如果您丢失了添加到设备组的通知密钥,则无法删除该设备组,因为当前无法在de中获取通知密钥列表副小组
  • 设备组是向多个设备发送消息的一种非常好的机制(另一种方法见@AL的注释)。我还将每个设备组的注册ID存储在数据库中。原因是,如果用户删除了我的应用程序的帐户,我也会删除他们的设备组,以便可以重用设备组名称

  • 您将如何处理通知密钥丢失的情况?是否有方法完全重置设备组,因为这将永远阻止创建具有该设备密钥名称的新设备组。@MonkeyBonkey我在设备组方面遇到了不少问题。删除设备组的唯一方法是删除我所使用的所有通知密钥t包含。如果您丢失了添加到设备组的通知密钥,则无法删除该设备组,因为目前无法获取设备组中通知密钥的列表。@camden_kid您认为我最好在自己的数据存储中保存一个注册ID数组,而不是而不是使用设备组?@MonkeyBonkey我两者都做。设备组是向多个设备发送消息的最佳机制,因此我使用它。我还将每个设备组的注册ID存储在数据库中。原因是如果用户删除了他们的帐户,我也会删除他们的设备组,以便可以重用设备组名称@所有。确实需要对设备组进行一些额外的工作。我将编辑我的答案。谢谢。我尝试了你发布的http请求-但得到了400个错误
    无效的\u参数
    @MonkeyBonkey我刚刚在它工作时对它进行了测试。有关更多详细信息,请参阅更新的答案。这是我的postman客户端上的一个错误-是双转义参数-我得到了它现在-谢谢!@AL。在某些情况下,当我在测试和重置时意外地从数据库中删除了通知密钥时,它实际上帮助了我。在这些情况下,我可以构造通知密钥名称并取回通知密钥。它仍然有效吗?我不断收到带有无效参数错误消息的http-400