在当今的移动应用和 Web 应用中,推送通知已经成为了不可或缺的组成部分,用于向用户传递及时的消息和提示。其中, Firebase Cloud Messaging(FCM)是一种全球性的通知服务,常常被用于发送推送通知。本文将介绍如何使用 Fastify 和 Firebase Cloud Messaging 实现推送通知,在本地开发和生产环境中使用 FCM,以及通过 FCM 计划和控制推送通知的时间和持久性。
Step 1:创建 Firebase 项目
首先,需要在 Firebase 控制台中创建一个 Firebase 项目。在创建项目时,需要为项目选择一个唯一的项目 ID,即 Firebase 引用名称。在选择完项目 ID 后,可以选择开启 Google Analytics。
Step 2:创建 FCM 应用
在 Firebase 控制台中创建 Firebase 项目后,需要创建一个 FCM 应用。在创建 FCM 应用时,需要选择格式正确的应用密钥。获取应用密钥的方法是登陆 Firebase 控制台,找到对应的项目,点击“设置” > “云消息传递(FCM)” > “从应用下载提供的google-services.json 文件”Download google-services.json file from the app download page)。
在下载的 JSON 文件中,可以找到一下关键属性,将它们添加到应用中。
-- -------------------- ---- ------- - --------------- - ----------------- ------ --------------- -------------------------------------- ------------- --------------- ----------------- -------------------------- -- --------- - - -------------- - ------------------- -------------------- ---------------------- - --------------- ------------------- - -- --------------- ------ ---------- - - -------------- ----- - -- ----------- - --------------------- - ------------------------------ ------ ----------------------------- ----- - - - -- ------------------------ --- -
Step 3:创建 Fastify 服务器
Fastify 是一个快速、低开销的 Web 框架,适用于服务端应用。以下是创建 Fastify 服务器的示例代码:
-- -------------------- ---- ------- ------ ------- ---- ---------- ------ ------------- ---- ----------------- ----------------------------- ----------- ---------------------------------------------- --- ----- --- - ---------- ------------- ----- --------- ------ -- - ----- ------- - --------------------- ----- ------ - -------------------- ----- ---------- - - ------------- - ------ ---- ------- ------- ----- -------- -- ------- ------- -- --- - ----- -------- - ----- ---------------------------------------------------- ----------------------- ---- --------- ----------- - ----- ------- - ----------------------- ---- ------ -------- - --- -----------------
在上面的示例代码中,我们创建了一个 post 方法,用于接收一个 message 和 tokens,以发送 FCM 消息至多个设备。在 Fastify 的 post 方法中,我们使用 firebase-admin 包创建了一个 FCM 消息,并尝试使用手机号码列表 tokens 发送此 FCM 消息。注意,请求的格式应该是匀且合法的 JSON 对象。
Step 4:使用 Postman 测试
在准备好了上面两个步骤后,我们可以使用 Postman 工具来测试本地 Fastify 服务器。下面是向本地 Fastify 服务器发送数据的示例代码:
-- -------------------- ---- ------- ----- -------------- - - ------- ------- -------- ---------------- -------------------- ----- ---------------- -------- ------ -------- ------- -------------------- -------------------- --- -- ------------------------------- --------------- -------------- -- ---------------- ---------- -- -------------------
在上面的示例代码中,我们将 message 和 tokens 作为 JSON 对象的属性值,广播给 Fastify 服务器,并在浏览器控制台上显示 response 数据。注意,tokens 的格式应该是存储在您的应用中需要发送消息的设备的 FCM 注册 ID 的数组,且每个注册 ID 应该都是字符串。
总结
在本文中,我们介绍了如何使用 Fastify 和 Firebase Cloud Messaging 实现推送通知,包括创建 Firebase 项目和 FCM 应用,编写 Fastify 服务器和使用 Postman 工具进行测试的具体步骤。在实际的 Web 应用和移动应用中,推送通知有着广泛的应用,希望本文可以为大家提供一些有用的参考和指导。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64852c9148841e9894416217