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

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

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

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

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

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

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

تتطلب خدمة "المراسلة عبر السحابة الإلكترونية من Firebase" ملف 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. في الحقل المُسمَّى إضافة الرمز المميّز للتسجيل في خدمة "المراسلة عبر السحابة الإلكترونية من Firebase"، أدخِل الرمز المميّز للتسجيل الذي حصلت عليه في قسم سابق من هذا الدليل.

  9. اختَر اختبار.

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

الخطوات اللاحقة

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

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

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

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