对令牌感到困惑
Posted
技术标签:
【中文标题】对令牌感到困惑【英文标题】:get confusion on token 【发布时间】:2019-11-14 01:59:56 【问题描述】:我一直在研究用户令牌以向该用户发送特定的推送通知。这是我创建的两个令牌放入 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();
);
我想知道是否要使用用户令牌来推送通知,我应该使用哪一个? [1/ 或 2]
【问题讨论】:
【参考方案1】:要使用 Firebase 云消息传递发送通知,您应该使用来自 FirebaseInstanceId.getInstance().getToken()
的设备 ID 令牌。 Firebase 身份验证的另一个用户 ID 令牌根本无法帮助您处理消息。
请参阅documentation 了解更具体和全面的示例。
【讨论】:
【参考方案2】:使用String device_token = FirebaseInstanceId.getInstance().getToken();
发送通知给用户,这个token是FCM专用的
【讨论】:
以上是关于对令牌感到困惑的主要内容,如果未能解决你的问题,请参考以下文章