我一直在研究用户 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/