应用更新时是否刷新了FCM令牌?

anu*_*ick 13 android firebase-cloud-messaging

我在我的Android应用程序中使用FCM进行推送通知.我有以下类来获取fcm令牌.

public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    }
}
Run Code Online (Sandbox Code Playgroud)

安装我的应用程序并且我能够获取令牌时,可以正确调用此方法.但是我不确定我的应用程序是否已更新(从Play商店),然后将调用此方法.文档只是说只要令牌发生变化就会调用该方法.但更新应用程序可能不会更改令牌.

AL.*_*AL. 16

正如指出的岗位在评论部分由@Dharmitabhatt,注册令牌不是当一个应用程序被refereshed 更新.

每当在Android中刷新令牌时,它应该调用onTokenRefresh()方法:

当系统确定需要刷新令牌时调用.应用程序应调用getToken()并将令牌发送到所有应用程序服务器.

这不会被频繁调用,需要进行密钥轮换并处理实例ID更改,原因如下:

  • 应用程序删除实例ID
  • 应用程序在新设备上恢复
  • 用户卸载/重新安装应用程序
  • 用户清除应用数据

系统将限制所有设备上的刷新事件,以避免使用令牌更新使应用程序服务器过载.

所以你说对更新应用程序不一定刷新令牌是正确的.

  • 嘿山姆。您的意思是您最近刚刚将 FCM 添加到您的应用程序中吗?如果是这样,您应该在初始活动中简单地调用`getToken()`。它应该生成一个令牌,然后您可以简单地调用您的方法将令牌发送到服务器。干杯! (2认同)

San*_*ela 6

在以下情况下,注册令牌可能会更改:

  • 该应用程序删除实例ID

  • 该应用已在新设备上还原

  • 用户卸载/重新安装应用程序

  • 用户清除应用程序数据。

您可以从http://prntscr.com/dnzq9l找到更多信息

https://firebase.google.com/docs/cloud-messaging/android/client