Firebase 通过#onNewToken和#getToken检索的令牌之间的差异
我正在尝试将firebase应用程序实例注册到fcm通知组,如下所示。我必须提供一个字段“注册ID” 我的理解是,我必须将应用程序实例的令牌传递到此字段,以便fcm可以代表此firebase实例发送消息。但是,我不知道我是否需要使用通过Firebase 通过#onNewToken和#getToken检索的令牌之间的差异,firebase,firebase-authentication,firebase-cloud-messaging,Firebase,Firebase Authentication,Firebase Cloud Messaging,我正在尝试将firebase应用程序实例注册到fcm通知组,如下所示。我必须提供一个字段“注册ID” 我的理解是,我必须将应用程序实例的令牌传递到此字段,以便fcm可以代表此firebase实例发送消息。但是,我不知道我是否需要使用通过FcmMessagingService#onNewToken(字符串令牌)获得的令牌,还是通过FcmInstanceId#getToken(字符串senderId,字符串范围)获得的令牌 他们有什么不同吗?第二个选项是否只允许我们限制检索到的令牌的范围?这些方法应
FcmMessagingService#onNewToken(字符串令牌)
获得的令牌,还是通过FcmInstanceId#getToken(字符串senderId,字符串范围)
获得的令牌
他们有什么不同吗?第二个选项是否只允许我们限制检索到的令牌的范围?这些方法应该以相同的格式返回令牌,并且通常返回相同的值 区别在于您获取令牌的方式:
- 调用
意味着您决定何时获取令牌getToken
- 实现
意味着FCM在拥有(初始或新)令牌时调用您onNewToken
onNewToken
,因为当用户不积极使用您的应用程序时,令牌可能会被刷新,您需要将新令牌中继到服务器
实现
getToken()
在开发过程中非常有用,因为通常在实现onNewToken
之前就已经生成了令牌。因此,在这种情况下,在主要活动开始时调用getToken()
是向服务器注册的常用方法。嗨,弗兰克,谢谢你的回答!我仍然有点困惑,因为getToken
允许用户指定范围,而onNewToken
不允许。你能解释一下原因吗?据我记忆所及,我从未使用过这个范围。从文档中看,它似乎只用于发送消息,而我只通过服务器端API发送消息。