在Firebase中处理设备令牌

时间:2019-02-28 15:30:12

标签: java android firebase firebase-authentication

我的代码中存在的问题是,当用户登录其帐户时,firebase会保存新的设备令牌,而不会删除已存储在数据库中的旧设备令牌,从而将两个不同的设备令牌分配给一个帐户,因此如果我向通过我的设备登录的帐户发送消息。我们俩都会收到通知。

这是在LoginActivity中获取设备令牌的代码

 private void loginuser(String email, String password) {
    mAuth.signInWithEmailAndPassword(email, password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {


                        String current_user_id = mAuth.getCurrentUser().getUid();
                        String tokenID = FirebaseInstanceId.getInstance().getToken();

                        mUserDatabase.child(current_user_id).child("device_token").setValue(tokenID).addOnSuccessListener(new OnSuccessListener<Void>() {
                            @Override
                            public void onSuccess(Void aVoid) {

                                checkIfEmailsVerified();

                            }

0 个答案:

没有答案