android - Firebase 通知和用户 ID

标签 android node.js notifications firebase

我将 Firebase 与 Android 应用(身份验证、数据库和通知)结合使用。

我正在尝试从外部服务器(在 nodejs 中)发送通知,以便用户可以向另一个用户发送通知。

因此 android 应用程序会记住一个 UserId 列表(来自 Firebase Auth 的相同 id),然后将此列表发送到 nodejs 服务器。

有了这个列表,服务器联系 url 'https://fcm.googleapis.com/fcm/send ',但是 Firebase 返回了一个 InvalidRegistration,因为我发送的是一个 userId 列表,而不是 Firebase 通知创建的注册 token 列表。

我应该记住这些标记,还是有办法用用户 ID 发送通知?

(当我尝试使用 token 列表时,它当然有效。)

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) {

  });

最佳答案

是的,你可以。为此,您必须注册这些用户 ID 而不是设备 ID token 。然后 firebase 识别了您的用户 ID。

   @Override
    public void onNewToken(@NonNull String token) {

        super.onNewToken(token);
        Log.d("user_token: ",token);
     

    }

关于android - Firebase 通知和用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029712/

相关文章:

node.js - 使用 chai-http 响应解决 promise

node.js - 表示链接两个模型的关联表

javascript - Sequelize - 在属于多个关联的模型中使用 set、add、create 方法

android - 无需访问数据库即可将通知推送到 Android 应用程序

android - 在 Android 6.x (Marshmallow) 中以编程方式设置静态 IP 和网关

android - 抓取webview时,没有显示view的内容是白色的

java - 如何将包从一个 Activity 传递到放置在另一个 Activity 中的 fragment ?

android - 媒体控制通知在 Android O 上发出警报

android - 如何正确地将多个通知堆叠在一起?

带有动态 Where 子句的 Android rawquery