Firebase 通知和用户 ID
Posted
技术标签:
【中文标题】Firebase 通知和用户 ID【英文标题】:Firebase Notification & User Id 【发布时间】:2016-10-28 00:52:19 【问题描述】:我将 Firebase 与 android 应用(身份验证、数据库和通知)结合使用。
我正在尝试从外部服务器(在 nodejs 中)发送通知,以便用户可以向另一个用户发送通知。
因此,android 应用程序会记住一个 UserId 列表(与 Firebase Auth 相同的 id),然后将此列表发送到 nodejs 服务器。
使用此列表,服务器会联系 url 'https://fcm.googleapis.com/fcm/send',但 Firebase 会返回一个 InvalidRegistration,因为我发送的是 userId 列表,而不是由 firebase 通知创建的注册令牌列表。
我应该记住这些令牌还是有办法使用用户 ID 发送通知?
(当我尝试使用令牌列表时,它当然可以工作。)
var requestData =
"registration_ids": userIds, //Problem is here
"data":
"message": "A message"
;
request(
url: "https://fcm.googleapis.com/fcm/send",
method: "POST",
json: true,
headers:
"Authorization": "key=firebaseKey",
"content-type": "application/json",
,
json: requestData
,
function(err, response, body)
);
【问题讨论】:
您必须保存每个用户的注册令牌,以便从服务器发送通知。 好的,谢谢!文档中的这句话让我不这么认为“请注意,注册令牌必须保密。” 在您的数据库、服务器或任何秘密永久秘密容器中保密。 【参考方案1】:是的,你可以。为此,您必须注册这些用户 ID 而不是设备 ID 令牌。然后 firebase 识别出您的用户 ID。
@Override
public void onNewToken(@NonNull String token)
super.onNewToken(token);
Log.d("user_token: ",token);
【讨论】:
以上是关于Firebase 通知和用户 ID的主要内容,如果未能解决你的问题,请参考以下文章