如何在 android 中使用 FCM 发送推送通知? [复制]

Posted

技术标签:

【中文标题】如何在 android 中使用 FCM 发送推送通知? [复制]【英文标题】:How can i send push notification using FCM in android? [duplicate] 【发布时间】:2018-04-06 12:45:15 【问题描述】:

我可以使用 Firebase 控制台发送推送通知。

但我想在不使用任何后端服务的情况下从我的应用(即管理应用)发送通知。 我想我可以使用 HTTP POST Rquest 发送它,但我必须将授权密钥保存在设备中。 如果有什么办法,请帮助我?我找不到相关文件。 谢谢。

【问题讨论】:

向设备发送消息需要您指定所谓的 FCM 服务器密钥以进行授权。顾名思义,此密钥应仅在受信任的环境中使用,例如您控制的服务器。这样做的原因是拥有密钥可以让您向应用程序的所有用户发送消息。要在不设置自己的服务器的情况下安全地发送消息,请考虑使用 Cloud Functions。有关这方面的更多信息,请参阅***.com/a/37634914 和我的博文:firebase.googleblog.com/2016/08/… 【参考方案1】:

当您谈论HTTP POST 时,我假设您正在谈论远程通知。

如果没有 token,您将无法发送推送通知,如果用户授予权限,则必须保存该通知。

为了示例,这里是一个 HTTP POST 请求在 nodejs 中的样子,以便发送通知。

const request = require("request");

const options =  
  method: 'POST',
  url: 'https://fcm.googleapis.com/fcm/send',
  headers: 
   
     Authorization: 'key=HERE_GOES_YOUR_KEY' ,
  body: 
   
     to: 'HERE_GOES_YOUR_TOKEN',
     notification:  title: 'hello', body: 'world' 
  ,
  json: true
;

request(options, function (error, response, body) 
  if (error) throw new Error(error);

  console.log(body);
);

【讨论】:

感谢您的回复。我知道你提供的信息。我想知道 Firebase 是否提供任何发送通知的方法。 我刚才解释了,你必须使用token进行远程推送通知,没有别的办法。 @SaketMayank

以上是关于如何在 android 中使用 FCM 发送推送通知? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何不向不想接收推送的用户发送FCM?

如何使用 Google FCM 和 Microsoft azure 作为托管服务器从 chrome for android 上的 PWA 发送推送通知

来自通知中心的推送通知不起作用,但在 FCM 中它正在工作

如何使用 FCM 向我的数据库中的用户发送推送通知?安卓

FCM - 通过设备令牌和环境/组发送 android 推送通知

是否可以通过 POSTMAN 向特定应用程序包名称发送 FCM 推送通知?