我正在向firebase服务发送请求,以便将Firebase认证用户订阅主题:
POST https://iid.googleapis.com/iid/v1:batchAdd
体:
{
"to": "/topics/:my-topic",
"registration_tokens": [
:user-token
]
}
标题
Authorization: key-:app-key
Content-Type: application/json
我正在使用JWT通过API创建用户,所以我假设发送JWT令牌作为订阅的用户令牌会起作用,但是,我收到200 Success
响应的以下错误:
{
"results": [{
"error": "INVALID_ARGUMENT"
}]
}
执行此操作后,我尝试使用registration_tokens
数组中的用户UID,但遇到了相同的错误。
目前有一种方法可以将Firebase用户订阅到某个主题吗?
答案 0 :(得分:1)
不,FCM订阅是基于应用程序实例的,而不是基于用户的身份验证。使用Firebase Cloud Messaging时,会自动为设备实例生成Instance ID令牌。这是应该用于订阅主题的标记。
通常的流程是,一旦在设备上生成令牌并且用户登录到您的应用程序,您将这些与服务器上的值相关联,因此当您想要将用户订阅到服务器时,请将其与服务器上的值相关联。您可以查找相应的Instance ID令牌并使用它来订阅它们。