java - 对 token 感到困惑

标签 java android firebase firebase-cloud-messaging

我一直在研究用户 token 以向该用户发送特定的推送通知。这是我创建的两个 token ,用于放入 Firebase。

public void getDeviceToken(){
        FirebaseUser mUser = FirebaseAuth.getInstance().getCurrentUser();
        String device_token = FirebaseInstanceId.getInstance().getToken();
        String msg = getString(R.string.fcm_token, device_token);
        Log.d("device_token", msg); //first one [dfw-A....]

        mUser.getIdToken(true)
                .addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
                    public void onComplete(@NonNull Task<GetTokenResult> task) {
                        if (task.isSuccessful()) {
                            String idToken = task.getResult().getToken();
                            String uid = m_auth.getCurrentUser().getUid();
                            Log.d("device_token2", idToken); //second one [eyJh...]
                            DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("users");
                            DatabaseReference id = ref.child(uid);
                            id.child("token").setValue(idToken);
                        } else {
                            Log.e("Main_Err", "token" , task.getException());
                            // Handle error -> task.getException();
                        }
                    }
                });
    }

我想知道如果我想使用用户 token 来推送通知,我应该使用哪个? [1/或 2]

最佳答案

要使用 Firebase 云消息传递发送通知,您应该使用来自 FirebaseInstanceId.getInstance().getToken() 的设备 ID token 。来自 Firebase 身份验证的其他用户 ID token 根本不会帮助您进行消息传递。

请参阅documentation以获得更具体和更详尽的示例。

关于java - 对 token 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58848281/

相关文章:

swift - 如何实现 firebase 事务

javascript - 将时间和数据存储在 firebase 数据库中

java - ListView 中的 ImageView 提供额外的图像

java - 如何建模和处理表示DTO以从复杂的域模型中抽象出来?

java - MenuInflater 不工作 R 无法解析为变量

android - 适用于 Android 的 Google Place API : can't select place with the picker of Place Picker

javascript - 无法读取未定义的 React-Native Firebase React-native-fetch-blob 的属性 'DocumentDir'

java - 如何在java中用邮件上传图片附件?

Java 不等于 (!=) 不工作?

Android - 仅使用其名称的一部分检查文件是否存在