如需开始学习如何使用 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 模块化 API
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 命名空间型 API
// 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); // ... });
获取令牌后,将其发送到您的应用服务器,并使用您首选的方法进行存储。
发送测试通知消息
在目标设备上安装并运行该应用。在 Apple 设备上,您需要接受权限请求,才能收到远程通知。
确保应用在设备的后台运行。
在 Firebase 控制台中,打开“Messaging”(消息功能)页面。
如果这是您的第一条消息,请选择制作首个宣传活动。
- 选择 Firebase 通知消息,然后选择创建。
否则,请在宣传活动标签页上选择新建宣传活动,然后选择通知。
输入消息内容。所有其他字段都是选填字段。
从右侧窗格中选择发送测试消息。
在标签为添加 FCM 注册令牌的字段中,输入您根据本指南的前一部分获得的注册令牌。
选择测试。
在您选择测试后,目标客户端设备(在后台中运行应用)应该会接收到通知。
后续步骤
向前台应用发送消息
向在后台运行的应用成功发送通知消息后,您可参阅在 JavaScript 客户端中接收消息,尝试向前台应用发送消息。
除通知消息之外的其他功能
如果除了通知消息之外,您还要向应用添加其他更高级的行为,请参阅以下内容: