前言
在现代的 Web 应用开发中,前端工程师需要处理的职责越来越多,其中包括推送消息的功能。Firebase Cloud Messaging(FCM)是一种跨平台的推送消息解决方案,可以用于向 Web 应用、Android 应用和 iOS 应用推送消息。为了方便开发者使用 FCM,社区中存在多个基于 Node.js 的 FCM 客户端实现,如 fcm-node 和 fcm-push,但是这些包可能存在使用不便等问题。本文将介绍一款使用方便且功能完善的 FCM 客户端 npm 包 fcm-cli,来帮助前端工程师快速实现 FCM 推送功能。
fcm-cli 简介
fcm-cli 是一个基于 Node.js 的命令行工具,用于向 Firebase Cloud Messaging 发送推送消息。它集成了命令行参数解析、错误检查、消息格式验证、API 请求等功能,并且支持发送数据负载(Payload)和点击按钮通知。使用 fcm-cli,你可以在命令行下快速的执行 FCM 推送,而不必编写大量的代码。
fcm-cli 的功能特点:
- 支持向单个设备、主题和设备组发送通知。
- 支持发送数据负载(Payload)。
- 支持点击按钮通知。
- 使用 Google APIs 客户端库访问 FCM API。
- 支持命令行参数解析和错误检查。
- 自动验证消息格式。
安装 fcm-cli
你可以在你的 Node.js 项目中安装 fcm-cli。
npm install -g fcm-cli
接下来,你可以使用 fcm-cli
命令来使用 fcm-cli。
发送推送消息
假设要向一个设备推送一个通知,可以通过以下命令来执行:
fcm-cli send --to=<device_token> --title=<title> --body=<body>
其中:
device_token
,是接收推送消息的设备注册令牌。title
,是推送消息的标题。body
,是推送消息的正文。
你也可以在命令行下执行以下命令来查看 fcm-cli 发送命令的所有选项和帮助信息。
fcm-cli send --help
发送具有数据负载的推送消息
FCM 的消息允许携带一些数据负载(Payload)。在 fcm-cli 中,你可以通过以下命令来向一个设备发送具有数据负载的通知。
fcm-cli send --to=<device-token> --title=<title> --body=<body> --data=<JSON-string>
其中:
JSON-string
,是一个 JSON 格式的字符串,可以嵌套各种数据类型。
以下是一个示例的 JSON 格式:
{ "messageId": "1234", "data": { "image": "http://example.com/image.png", "link": "http://example.com/article.html", "text": "The message arrived" } }
当接收到 FCM 消息时,应用程序可以解析 Payload 并执行其相应的操作。例如,如果 Payload 包含一个应用内链接,应用程序应该打开链接。
发送带有按钮的推送消息
在 fcm-cli 中,你可以仅在消息推送的正文正文中添加按钮。而且,实现非常简单。例如:
fcm-cli send --to=<device-token> --title=<title> --body=<body> --click-action=<click-action> --button-text=<button-text>
其中:
click-action
,是点击按钮时要访问的 URL。button-text
,是按钮的文本。
这将在设备上显示一个文本按钮,当用户单击按钮时,将导航到 click-action
指定的 URL。
综上,fcm-cli 简单易用,并且具有丰富的功能,它对于为 Web 应用添加 FCM 推送消息功能的前端工程师非常有用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005551081e8991b448d242d