如何从Firebase获取注册ID以发送通知

3

这里有一段PHP代码,用于准备发送通知到Firebase:

$registrationIds = array( $_GET['id'] );
// prep the bundle
$msg = array
(
    'body'  => $_GET['body'],
    'title'     => $_GET['title'],
    'vibrate'   => 1,
    'sound'     => 1,
);
$fields = array
(
    'registration_ids'  => $registrationIds,
    'notification'          => $msg
);

$headers = array
(
    'Authorization: key=' . API_ACCESS_KEY,
    'Content-Type: application/json'
);

我希望在Java中实现相同的功能,我已经做了所有的事情并从Firebase收到了200的响应。 但是我不知道如何获取注册ID。就像在PHP中完成的那样:
$registrationIds = array( $_GET['id'] );

请帮我找到注册号码。


1
在Java中:request.getQueryString() // 你会得到a=1&b=2 ...等,然后分割 - Riad
你想要在Java中获取查询参数吗? - Frank van Puffelen
我正在尝试通过HTTP POST请求访问Firebase的[通知服务](https://firebase.google.com/docs/cloud-messaging/send-message):https://fcm.googleapis.com/fcm/send Content-Type:application/json Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA{ "data": { "score": "5x1", "time": "15:10" }, "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..." },但我不知道如何为客户端获取“to”参数。 - avy
1个回答

1
要获取设备(iOS或Android)的registrationId,需要将设备发送/存储在某个DB中。我建议使用Firebase提供的实时数据库。
  • 首先从iOS应用程序获取registrationId。使用let token = FIRInstanceID.instanceID().token()。此令牌称为registrationId
  • 将此令牌存储在您的DB中。
  • 在服务器端,您需要从DB中获取该令牌,并将其放置为registration_ids的值或作为"to"键的值。就是这样。

"to"是什么意思

所以如何在StackoverflowPost中使用"to"很好地解释了。

您无法从客户端获取"to"参数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接