【发布时间】:2018-12-20 06:15:02
【问题描述】:
刷新令牌时如何检查这个条件然后发送到服务器?
App 删除实例 ID
应用在新设备上恢复
用户卸载/重新安装应用
用户清除应用数据
这是我发送服务器的代码。但它是否在应用登录时一直发送?以上情况如何发送?
@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.e("NEW_TOKEN", s);
sendRegistrationToServer(s);
}
private void sendRegistrationToServer(String token) {
APIInterface apiInterface = APIClient.getClient().create(APIInterface.class);
Call<Fcm> call = apiInterface.postFCMToken(user_id, newToken);
call.enqueue(new Callback<Fcm>() {
@Override
public void onResponse(Call<Fcm> call, Response<Fcm> response) {
}
@Override
public void onFailure(Call<Fcm> call, Throwable t) {
}
});
}
【问题讨论】:
-
onNewToken()只被调用一次。当前的代码很好,IMO。那不应该一次又一次地向服务器发送令牌。 -
@Shashanth 刷新令牌时如何再次发送?
-
令牌刷新时
onNewToken()将在内部触发。如果您想手动获取当前令牌,请使用 Firebase 的 Github 项目中的 this 代码。
标签: android firebase firebase-cloud-messaging retrofit2