如何通过API获取Firebase设备组的registration_ids列表
结论
在已知设备组ID、持有对应Firebase项目管理员权限的前提下,你无法通过Firebase Cloud Messaging(FCM)官方公开API获取指定设备组下的全量registration_ids列表。
- 目前FCM对外开放的设备组管理接口,仅覆盖创建设备组、向组内添加设备、从组内移除设备、向设备组推送消息四类操作,所有操作都需要调用方主动传入待处理的registration_ids参数,官方没有提供反向查询组内成员列表的接口能力。
- 该限制不存在权限绕过方式:哪怕是项目所有者权限,也无法通过Firebase控制台、官方Admin SDK、REST API等任何官方提供的渠道拉取设备组内的注册ID清单。
落地建议
你需要在自有业务侧独立维护设备组与registration_ids的映射关系:
- 每次调用FCM接口执行设备组成员新增、移除操作时,同步更新自有业务数据库中存储的「设备组ID-关联registration_id」映射记录,后续需要查询组内设备列表时直接读取自有存储的数据即可。
- 维护自有映射关系时需要同步处理registration_id失效场景:设备卸载应用、清除应用数据、长期未连网时对应的registration_id会自动失效,你需要结合FCM返回的推送无效错误码定期清理库中失效的注册ID,避免无效数据堆积。
内容的提问来源于stack exchange,提问作者Kirill Veresnikov
相关产品推荐
相关产品推荐

