Để bắt đầu với FCM, hãy xây dựng trường hợp sử dụng đơn giản nhất: gửi thông báo cho một người dùng cụ thể khi ứng dụng đang chạy ở chế độ nền trên thiết bị. Trang này liệt kê tất cả các bước để đạt được điều này, từ thiết lập đến xác minh. Trang này có thể bao gồm các bước bạn đã hoàn tất nếu bạn đã thiết lập ứng dụng khách JavaScript cho FCM.
Thiết lập SDK
Nếu bạn chưa thực hiện, hãy thêm Firebase vào dự án JavaScript.
Truy cập vào mã thông báo đăng ký
Khi bạn cần truy xuất mã thông báo đăng ký hiện tại cho một thực thể ứng dụng, trước tiên, hãy yêu cầu người dùng cấp quyền gửi thông báo bằng Notification.requestPermission()
.
Khi được gọi như minh hoạ, phương thức này sẽ trả về một mã thông báo nếu quyền được cấp hoặc từ chối lời hứa nếu bị từ chối:
function requestPermission() { console.log('Requesting permission...'); Notification.requestPermission().then((permission) => { if (permission === 'granted') { console.log('Notification permission granted.');
FCM yêu cầu tệp firebase-messaging-sw.js
.
Nếu bạn không có tệp firebase-messaging-sw.js
, hãy tạo một tệp trống
bằng tên đó và đặt tên đó trong thư mục gốc của miền trước khi truy xuất mã thông báo.
Bạn có thể thêm nội dung có ý nghĩa vào tệp sau trong quá trình thiết lập ứng dụng.
Cách truy xuất mã thông báo hiện tại:
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); // ... });
Sau khi bạn nhận được mã thông báo, hãy gửi mã thông báo đó đến máy chủ ứng dụng và lưu trữ mã thông báo đó bằng phương thức bạn muốn.
Gửi tin nhắn thông báo thử nghiệm
Cài đặt và chạy ứng dụng trên thiết bị mục tiêu. Trên thiết bị Apple, bạn cần chấp nhận yêu cầu cấp quyền nhận thông báo từ xa.
Hãy đảm bảo ứng dụng đang chạy trong nền trên thiết bị.
Trong bảng điều khiển Firebase, hãy mở trang Nhắn tin.
Nếu đây là thư đầu tiên của bạn, hãy chọn Tạo chiến dịch.
- Chọn Tin nhắn thông báo Firebase rồi chọn Tạo.
Nếu không, trên thẻ Chiến dịch, hãy chọn Chiến dịch mới rồi chọn Thông báo.
Nhập nội dung tin nhắn. Tất cả các trường khác là không bắt buộc.
Chọn Gửi tin nhắn thử nghiệm trên ngăn bên phải.
Trong trường có nhãn Thêm mã thông báo đăng ký FCM, hãy nhập mã thông báo đăng ký mà bạn đã nhận được trong phần trước của hướng dẫn này.
Chọn Kiểm tra.
Sau khi bạn chọn Kiểm thử, thiết bị khách được nhắm đến (với ứng dụng ở nền) sẽ nhận được thông báo.
Các bước tiếp theo
Gửi tin nhắn đến các ứng dụng chạy trên nền trước
Sau khi bạn gửi thành công tin nhắn thông báo khi ứng dụng đang chạy nền, xem Nhận thông báo trong ứng dụng JavaScript để bắt đầu gửi thư đến các ứng dụng trên nền trước.
Không chỉ thông báo tin nhắn
Để mở rộng thông báo và thêm các hành vi nâng cao khác vào ứng dụng, hãy xem: