向后台应用发送测试消息

如需开始学习如何使用 FCM,您可以构建一个最简单的使用场景:当应用在某位用户的设备后台运行时,向该用户发送一条通知消息。本页面列出了实现上述目标所需执行的步骤,包括从设置到验证的所有步骤。如果您已针对 FCM 设置了 JavaScript 客户端应用,您可能已经完成了本页面中的一些步骤。

设置 SDK

如果您尚未将 Firebase 添加到您的 JavaScript 项目,请先添加。

获取注册令牌

如果您需要检索应用实例的当前注册令牌,请先使用 Notification.requestPermission() 向用户请求通知权限。按如下所示进行调用时,如果已授予权限,此函数会返回令牌;或者,如果已拒绝权限,此函数会拒绝 promise:

function requestPermission() {
  console.log('Requesting permission...');
  Notification.requestPermission().then((permission) => {
    if (permission === 'granted') {
      console.log('Notification permission granted.');

FCM 需要 firebase-messaging-sw.js 文件。除非您已经有 firebase-messaging-sw.js 文件,否则请创建一个使用该名称的空文件,并在检索令牌之前将该文件放在您网域的根目录中。您可以在后面的客户端设置流程中向该文件添加有意义的内容。

如需检索当前令牌,请参考以下代码:

Web

import { getMessaging, getToken } from "firebase/messaging";

// Get registration token. Initially this makes a network call, once retrieved
// subsequent calls to getToken will return from cache.
const messaging = getMessaging();
getToken(messaging, { vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => {
  if (currentToken) {
    // Send the token to your server and update the UI if necessary
    // ...
  } else {
    // Show permission request UI
    console.log('No registration token available. Request permission to generate one.');
    // ...
  }
}).catch((err) => {
  console.log('An error occurred while retrieving token. ', err);
  // ...
});

Web

// Get registration token. Initially this makes a network call, once retrieved
// subsequent calls to getToken will return from cache.
messaging.getToken({ vapidKey: '<YOUR_PUBLIC_VAPID_KEY_HERE>' }).then((currentToken) => {
  if (currentToken) {
    // Send the token to your server and update the UI if necessary
    // ...
  } else {
    // Show permission request UI
    console.log('No registration token available. Request permission to generate one.');
    // ...
  }
}).catch((err) => {
  console.log('An error occurred while retrieving token. ', err);
  // ...
});

获取令牌后,将其发送到您的应用服务器,并使用您首选的方法进行存储。

发送测试通知消息

  1. 在目标设备上安装并运行该应用。在 Apple 设备上,您需要接受权限请求,才能收到远程通知。

  2. 确保应用在设备的后台中运行。

  3. Firebase 控制台中,打开“Messaging”(消息传递)页面

  4. 如果这是您的第一条消息,请选择制作首个宣传活动

    1. 选择 Firebase 通知消息,然后选择创建
  5. 否则,请在宣传活动标签页上选择新建宣传活动,然后选择通知

  6. 输入消息内容。所有其他字段都是选填字段。

  7. 从右侧窗格中选择发送测试消息

  8. 在标签为添加 FCM 注册令牌的字段中,输入您根据本指南的前一部分获得的注册令牌。

  9. 选择测试

在您选择测试后,目标客户端设备(在后台中运行应用)应该会接收到通知。

后续步骤

向前台应用发送消息

向在后台运行的应用成功发送通知消息后,您可参阅在 JavaScript 客户端中接收消息,尝试向前台应用发送消息。

除通知消息之外的其他功能

如果除了通知消息之外,您还要向应用添加其他更高级的行为,请参阅以下内容: