Firebase通知&用户身份

时间:2016-06-25 14:51:19

标签: android node.js notifications firebase

我正在使用Firebase和Android应用(身份验证,数据库和通知)。

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

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

使用此列表,服务器会联系网址“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 个答案:

答案 0 :(得分:0)

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

@Override
public void onTokenRefresh() {

    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();

    Log.d(TAG, "Refreshed token: " + refreshedToken);

    // TODO: Implement this method to send any registration to your app's servers.
    sendRegistrationToServer(refreshedToken); //Use your Id here
}