我正在使用Firebase Messaging令牌从Firebase功能向用户发送通知。但是,当用户决定注销时,我必须为新用户更改此令牌。我发现达到此目的的唯一方法是删除FirebaseInstanceId
,我认为这不是一个好习惯。正确的方法是什么?
我使用的方法:
public void disableFCM(){
FirebaseMessaging.getInstance().setAutoInitEnabled(false);
new Thread() {
@Override
public void run() {
try {
FirebaseInstanceId.getInstance().deleteInstanceId();
} catch (IOException e) {
Toast.makeText(MainActivity.this, e.getMessage() , Toast.LENGTH_SHORT).show();;
}
}
}.start();
}
如Doug所评论:Firebase Cloud Messaging没有有关令牌所属用户的信息。实际上,FCM根本不了解用户。
如果您要在用户注销时停止向设备发送通知,惯用的方法是既从客户端删除令牌(如您所做的那样,又在服务器中删除该令牌与用户的关联,侧面映射(数据库)。
另请参见: