如何使用 Fastify 和 Firebase Cloud Messaging 实现推送通知?

阅读时长 6 分钟读完

在当今的移动应用和 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

纠错
反馈