Ari*_*ria 2 android firebase google-cloud-messaging firebase-realtime-database firebase-cloud-messaging
因此,我正在学习如何使用Firebase发送设备到设备的通知,并且看到了发送答复的答案,这似乎很简单。现在,我知道要获取发送者的令牌,它应该如下所示:-
FirebaseInstanceId.getInstance().getToken();
Run Code Online (Sandbox Code Playgroud)
但我似乎一生无法找到如何获取其他所需令牌的方法。我如何获得接收者的令牌,以便消息直接发送给他们?
接收器也一样。
从文档:
首次启动应用程序时,FCM SDK会为客户端应用程序实例生成注册令牌。如果要定位单个设备或创建设备组,则需要通过扩展FirebaseInstanceIdService来访问此令牌。
在以下情况下,注册令牌可能会更改:
该应用程序删除实例ID
该应用已在新设备上还原
用户卸载/重新安装应用程序
用户清除应用程序数据。
因此,要获取任何设备(接收者或发送者)的令牌,您需要使用以下命令:
FirebaseInstanceId.getInstance().getToken();
Run Code Online (Sandbox Code Playgroud)
上面的代码将为您生成一个令牌,当用户在其设备上安装应用程序时(开始时),可以更好地执行代码。
现在已经生成了用于接收者的令牌,接下来要做的是将令牌存储在数据库中,以便能够使用令牌并将通知发送给该特定用户,因为您没有其他方法可以知道令牌其他设备的
要存储它,只需执行以下操作:
String token=FirebaseInstanceId.getInstance().getToken();
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Tokens");
ref.child(user.getUid()).setValue(token);
Run Code Online (Sandbox Code Playgroud)
现在,这只是一个示例,您可以根据需要存储它。我使用了用户ID,因为它很容易获得,因为用户就是将要使用其电话的用户。
这样,您将拥有接收者的令牌,然后您可以根据需要使用云功能向该特定令牌发送通知。
有关更多信息:https : //firebase.google.com/docs/cloud-messaging/admin/send-messages#send_to_individual_devices
令牌正在发送到设备,因此令牌与设备相关。现在要获取uid,则需要登录用户并进行身份验证,然后可以在数据库中使用uid。
如果用户有很多设备,那么您还需要其他设备的令牌。同样,它与设备无关,与用户无关。
但是您使用数据库中的uid来知道此令牌是给谁的。
摘要:
| 归档时间: |
|
| 查看次数: |
5475 次 |
| 最近记录: |