hca*_*ams 5 android firebase firebase-cloud-messaging
我有两种类型的问题FirebaseInstanceId.getToken(String authorizedEntity, String scope),一种是多次调用此方法,另一种是调用此方法是否触发FirebaseMessagingService.onNewToken(String token)。
1) 多次调用:根据本文档,一个人会调用getToken(String authorizedEntity, String scope)多次,每次使用不同的发件人 ID,以便能够接收来自多个发件人的消息。我的问题是,每个调用都会返回不同的令牌,还是每个调用都会返回相同的令牌,但现在该令牌也适用于多个发件人?如果我们使用之前使用过的发送者 ID 调用此方法,那么会返回现有令牌还是生成新令牌?
所以,假设我有这个操作顺序
getToken("senderId1", "FCM")并获取tokenAgetToken("senderId2", "FCM")。我会得到A不同的代币吗B?getToken("senderId2", "FCM")。我会得到A,,B还是另一个不同的C?2)会onNewToken被召唤吗?本文档指出,如果令牌发生更改,将调用该方法。那么这是否意味着 ifgetToken返回一个与之前不同的令牌 thenonNewToken也会被调用?如果我们要getToken多次调用以允许从不同的发送者接收,并且每次调用返回不同的令牌,那么onNewToken将继续被调用。
由于建议我们在onNewToken触发时更新服务器,因此我想了解预期的行为并避免在每次调用时更新服务器onNewToken。
我的问题是,每个调用都会返回不同的令牌,还是每个调用都会返回相同的令牌,但现在该令牌也适用于多个发件人?
getToken()/getToken(String, String)将返回相同的令牌,直到相应的令牌过期。请注意,出于同样的原因,我的意思是它们为每个发件人返回的相同标记。IE:
getToken()返回默认项目的注册令牌(例如 tokenDefaultSenderId)getToken(String, String)返回与其关联的发件人的注册令牌(例如 tokenSenderId2)如果我们使用之前使用过的发送者 ID 调用此方法,那么会返回现有令牌还是生成新令牌?
B。B。令牌与其关联的发送者绑定在一起。
onNewToken 会被调用吗?...那么这是否意味着如果 getToken 返回与之前不同的令牌,那么 onNewToken 也会被调用?
onNewToken()只会返回默认发件人的令牌(强调我的):
在生成默认 Firebase 项目的新令牌时调用。
问题在于onNewToken(),它仅在前一个令牌过期时才会触发 - 需要问的是,如果默认发件人的令牌过期了,其他发件人还需要做什么?因此,最好的解决方法是调用getToken()您拥有的每个发件人,如下所示:
public void onNewToken(String token){
String default = token;
String sender2 = getToken("senderId2", "FCM");
// and so on for each of your sender, then save the tokens as needed
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |