管理 FCM 设备组

2023-12-07

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

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

这是我已经可以做的:

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

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

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

    解决方法 1:如果我尝试创建一个包含notification_key_name已经存在然后我收到一个错误告诉我,但这似乎 像一个very奇特的方法来找出答案。

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

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

    解决方法:像以前一样,我自己将该信息存储在其他地方。

  • 删除设备令牌(registration_id) 来自设备组。

    解决方法:无。

  • 删除设备组。

    解决方法:无。

Thanks!


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

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


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

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


  • 删除设备令牌(registration_id) 来自设备组。

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

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

要从现有组中添加或删除设备,请发送带有以下内容的 POST 请求:operation参数设置为add or remove,并提供用于添加或删除的注册令牌。

Note: If you remove all existing registration tokens from a device group, FCM deletes the device group.

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"
}

Note: notification_key_name is not required for adding/removing registration tokens, but including it protects you against accidentally using the incorrect notification_key.


  • 删除设备组。

从上面的文档中的注释:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

管理 FCM 设备组 的相关文章

随机推荐

  • 理解python中的执行流程

    对于 python 新手 对执行流程感到困惑 为了详细说明 我陈述以下示例 示例1 def hello print hello world python def python print testing main if name main
  • 自动检测/转换数据类型?

    numpy中是否有一个函数可以确定字符串应该是整数还是浮点数并自动转换它们 例如 我经常有一个记录集合 这些记录是使用以下组合从文本文件中解析出来的 str strip and str split 然后我得到类似的东西 List 1 a 3
  • .NET Core 中的日期时间精度

    跟随埃里克 利珀特的post多年前的精确度DateTime 我在装有 Windows 10 的同一台计算机上在 net core 和 NET Framework 4 5 2 上运行了他的测试 var n 1000 int i 0 long
  • pandas 数据帧散点图中的 Matplotlib 图例

    I am trying to get the legend right on the figure below It should be just green blue and red with the corresponding colo
  • InflateException:二进制 XML 文件行 #1:由于 OutOfMemoryError 导致类 膨胀时出错

    这是我的代码 输入 xml 布局文件夹
  • 为什么十六进制字节数据 b'\x35' 在 Python 中被解释为 b'5'?

    我正在处理一组十六进制数据 我使用字节类型作为数据 例如 我的数据为b x35 b xA6 b x12 b x26 当我打印每个十六进制字符时 我得到的输出为b 5 b xa6 b x12 b 相应地 我正进入 状态b xa6 b x12
  • jQuery:tablesorter 插件,禁用某些列的排序

    我正在尝试禁用 3 列表中一列的排序 根据文档我想出了这个 table sortable tablesorter sortList 0 0 0 0 0 0 textExtraction myTextExtraction headers 0
  • MapReduce问题

    我有一个奇怪的 MapReduce 问题 地图功能 gt mp function emit this ContractID qty this Qty qtybs this QtyBs 减少功能 gt red function key val
  • Swift 中的“advancedBy”不可用

    我不确定如何解决上述错误消息 我尝试将其转换为索引 但它似乎不接受字符串 我不知道如何advancedBy也有效 非常感谢帮助 在斯威夫特 3 中 advancedBy 已更名为advanced by Int 此外 substringWit
  • 会话超时后自动重定向到登录

    我试图在会话超时后自动重定向到我的登录页面 我尝试在我的 Main Master 页面中添加此代码 所有其他页面都连接到此母版页 protected void Page Load object sender EventArgs e Redi
  • WCF中服务应用的架构

    我需要一些有关 WCF 应用程序架构的帮助 这将是许多应该可用于服务许多不同客户的服务 例如 ASP Net 应用程序 JavaScript 和 或 Silverlight iPhone 视窗手机 Android 有些服务需要身份验证 有些
  • 总结为每组赋予相同的值

    使用代码获取每个物种的平均花瓣长度 group sp lt group by iris iris Species mean plength lt summarise group sp mean iris Petal Length mean
  • Spring MVC Java 配置

    我想从 Spring Web 应用程序设置一个简单的响应主体 我的问题很简单 就是出现网络错误 我的 POM xml 是
  • SQL Server 数据库项目构建期间使用错误的编译器

    我在使用 Visual Studio 2015 编译 SSDT SQL Server 数据库项目时遇到问题 我想在我的数据库项目中使用 C 6 功能 但它似乎不受支持 例如 我在我的数据库项目中添加了下一个类 namespace Datab
  • JSR303 复合注释

    我创建了一个由 Digits 和 Min 组成的复合注释 Digits integer 12 fraction 0 Min value 0 ReportAsSingleViolation Documented Retention Reten
  • 在 AS3 中设置属性是否会阻止时间线补间?

    如果我有一个分配有类的影片剪辑 并且我在代码中更改了该影片剪辑的属性 则该属性似乎无法再在时间轴上进行补间 例如 如果我的类设置 this x 100 并且稍后在时间轴上补间对象的位置 则不会发生该时间轴补间 更改scaleX或scaleY
  • 将 DateTime 分组为 5、15、30 和 60 分钟间隔

    我尝试将一些记录分组为 5 分钟 15 分钟 30 分钟和 60 分钟间隔 SELECT AVG value as AvgValue sample date 5 60 as TimeFive FROM DATA WHERE id 123 A
  • ConfBridge:当管理员用户退出时结束会议

    这几天我在做一些关于ConfBridge的事情 当管理员用户退出时 我使用 confbridge kick all 结束会议 但会议中的其他人会听到 您已被踢出此会议 这不是结束会议的好方法 是否有任何配置或命令可以设置会议在管理员用户退出
  • javascript 中有没有一种好方法可以从 javascript 对象(而不是数组)中删除 Falsy 值?

    在 JavaScript 中 您可以使用很好的 filter 方法从数组中删除 null 或 false 值 到目前为止 我还没有找到从 JavaScript 对象中删除相同内容的方法 为什么会这样呢 目前 您可以为数组创建一个函数 例如
  • 管理 FCM 设备组

    我试图弄清楚如何使用 REST API 从应用程序服务器管理 FCM 设备组 AFAIK 这些是更新的文档 https firebase google com docs cloud messaging android device grou