首页 文章

在APP服务器中创建FCM主题

提问于
浏览
0

最近我从GCM迁移到FCM通过我的应用程序发送通知,我想知道是否能够从我的应用服务器订阅特定主题的成员 . 如果可能,那么如何确定特定成员令牌是否有效或过期 .

因为在我的数据库中,我接近22L人GCM注册TOKEN id,所以我将创建一个主题并通过我的应用服务器订阅这些成员 .

任何想法来解决这类问题 .

1 回答

  • 1

    您可以使用Instance ID API通过App Server订阅多个令牌到Topic,具体来说,使用 batchAdd . 它还可以通过返回 NOT_FOUND 错误来识别您订阅的注册令牌是否无效 . 来自文档:

    管理多个应用实例的关系图使用Instance ID服务的批处理方法,您可以执行应用实例的批量管理 . 例如,您可以向FCM或GCM主题执行批量添加或删除应用程序实例 . 要管理应用程序实例,请在此 endpoints 调用Instance ID服务,在JSON正文中提供应用程序实例令牌:https://iid.googleapis.com/iid/v1:battAdd

    https://iid.googleapis.com/iid/v1:batchRemove
    参数授权:key = YOUR_API_KEY . 在 Headers 中设置此参数 . to:主题名称 . registration_tokens:要添加或删除的应用程序实例的IID标记数组 . 结果成功时,调用返回HTTP状态200.空结果表示成功订阅令牌 . 对于失败的订阅,结果包含以下错误代码之一:NOT_FOUND - 已删除注册令牌或已卸载应用程序 . INVALID_ARGUMENT - 提供的注册令牌对发件人ID无效 . 内部 - 后端服务器因未知原因而失败 . 重试请求 . TOO_MANY_TOPICS - 每个应用实例的主题数量过多 . 示例POST请求https://iid.googleapis.com/iid/v1:batchAdd
    内容类型:应用程序/ JSON
    授权:键= API_KEY
    {
    “to”:“/ topics / movies”,
    “registration_tokens”:[“nKctODamlM4:CKrh_PC8kIb7O ......”,“1uoasi24:9jsjwuw ......”,“798aywu:cba420 ......”],
    }
    示例结果HTTP 200 OK
    {
    “结果”:
    {},
    { “错误”: “NOT_FOUND”},
    {},
    ]
    }

相关问题