إرسال رسالة اختبار إلى تطبيق في الخلفية

لبدء استخدام FCM، عليك إنشاء أبسط حالة استخدام، وهي إرسال رسالة إشعار إلى مستخدم معيّن عندما يكون التطبيق يعمل في الخلفية على الجهاز. تدرِج هذه الصفحة جميع الخطوات اللازمة لتحقيق ذلك، بدءًا من الإعداد وحتى إثبات الملكية، وقد تتضمّن خطوات سبق لك إكمالها إذا كنت قد أعددت تطبيقًا مستندًا إلى JavaScript لمنصة FCM.

إعداد حزمة تطوير البرامج (SDK)

أضِف Firebase إلى مشروع JavaScript، في حال لم يسبق لك إجراء ذلك.

الوصول إلى رمز التسجيل

عندما تحتاج إلى استرداد رمز التسجيل الحالي لمثيل تطبيق، عليك أولاً طلب أذونات الإشعارات من المستخدم باستخدام Notification.requestPermission(). عند استدعاء هذه الدالة كما هو موضّح، تعرض رمزًا مميزًا في حال منح الإذن أو ترفض الوعد في حال رفضه:

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، افتح صفحة "المراسلة".

  4. إذا كانت هذه هي رسالتك الأولى، اختَر إنشاء حملتك الأولى.

    1. اختَر رسائل إشعارات Firebase، ثمّ انقر على إنشاء.
  5. بخلاف ذلك، في علامة التبويب الحملات، انقر على حملة جديدة، ثمّ على الإشعارات.

  6. أدخِل نص الرسالة. جميع الحقول الأخرى اختيارية.

  7. اختَر إرسال رسالة اختبار من اللوحة اليمنى.

  8. في الحقل الذي يحمل التصنيف إضافة رمز مميّز للتسجيل في FCM، أدخِل رمز التسجيل الذي حصلت عليه في قسم سابق من هذا الدليل.

  9. انقر على اختبار.

بعد النقر على اختبار، من المفترض أن يتلقّى جهاز العميل المستهدَف (مع تشغيل التطبيق في الخلفية) الإشعار.

الخطوات التالية

إرسال رسائل إلى التطبيقات التي تعمل في المقدّمة

بعد إرسال رسائل الإشعارات بنجاح أثناء تشغيل تطبيقك في الخلفية، اطّلِع على تلقّي الرسائل في برنامج JavaScript لبدء إرسال الرسائل إلى التطبيقات التي يتم تشغيلها في المقدّمة.

تجاوز رسائل الإشعارات

لإضافة سلوكيات أخرى أكثر تقدّمًا إلى تطبيقك، يمكنك الاطّلاع على ما يلي: