何时创建 fcm 刷新令牌



我是安卓新手,现在正在寻找Firebase。在我的应用程序中,可以登录多个手机号码。所以我要做的是删除当前令牌

FirebaseInstanceId.getInstance().deleteInstanceId();

之后,当我使用新号码登录时,会生成新令牌。

所以我的问题究竟是哪个事件触发了令牌再生事件。上面的代码行还有一件事,我应该在线程(主线程除外(上运行才能工作

这是我

用来获取火碱令牌的服务

    public class FCMInstanceIDListenerService extends FirebaseInstanceIdService {
AppSharedPreferences appSharedPreferences;
    @Override
    public void onCreate() {
        super.onCreate();
        String CurrentToken = FirebaseInstanceId.getInstance().getToken();
        if (CurrentToken!=null){
            Intent intent = new Intent("device_id");
            LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
            Log.d("token", "Refreshed token: " + CurrentToken);
            appSharedPreferences.putString("device_id",CurrentToken);
        }
        else {
               onTokenRefresh();
                }
       }
    public FCMInstanceIDListenerService() {
        appSharedPreferences=AppSharedPreferences.getsharedprefInstance(this);
        // prefManager = PrefManager.getInstance(this);
    }
    @Override
    public void onTokenRefresh() {
        super.onTokenRefresh();
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Intent intent = new Intent("device_id");
        LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
        Log.d("token", "Refreshed token: " + refreshedToken);
        appSharedPreferences.putString("device_id",refreshedToken);
        // prefManager.putString(PrefrenceConstants.KEY_DEVICE_ID, refreshedToken);
    }
}

从开发者网站:

onTokenRefresh(( 当系统确定令牌时调用 需要刷新。应用程序应该调用 getToken(( 并发送 所有应用程序服务器的令牌。

这不会经常调用,它是密钥轮换所必需的 并处理由于以下原因导致的实例 ID 更改:

  • 应用删除实例 ID

  • 应用已在新设备上恢复

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

  • 用户清除应用数据

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

相关内容

  • 没有找到相关文章

最新更新