برنامه مشتری JavaScript Firebase Cloud Messaging را تنظیم کنید

از API جاوا اسکریپت FCM شما اجازه می دهد پیام های اطلاع رسانی دریافت در برنامه های وب در حال اجرا در مرورگرهای که حمایت API فشار . این شامل نسخه های مرورگر فهرست شده در این ماتریس پشتیبانی و برنامههای افزودنی Chrome از طریق API فشار.

SDK FCM فقط در صفحاتی که از طریق HTTPS ارائه می شوند پشتیبانی می شود. این به دلیل استفاده از سرویس کاران است که فقط در سایت های HTTPS در دسترس هستند. اگر شما نیاز به یک ارائه دهنده، میزبانی فایربیس است به صورت رایگان و HTTPS میزبانی وب بر روی دامنه خود را توصیه می شود.

برای شروع کار با FCM JavaScript API ، باید Firebase را به برنامه وب خود اضافه کرده و منطق را برای دسترسی به نشانه های ثبت اضافه کنید.

Firebase را به پروژه جاوا اسکریپت خود اضافه کنید

اگر شما در حال حاضر، اضافه فایربیس به پروژه جاوا اسکریپت خود را .

اگر در حال حاضر با استفاده از FCM برای وب و خواهید برای ارتقاء به SDK 6.7.0 و یا بعد از، شما باید فعال FCM API ثبت نام برای پروژه خود را در ابر کنسول گوگل. وقتی API را فعال می کنید ، مطمئن شوید که با همان حساب Google که برای Firebase استفاده می کنید وارد Cloud Console شده اید و مطمئن شوید که پروژه صحیح را انتخاب کرده اید. پروژه های جدیدی که FCM SDK را اضافه می کنند این API را به طور پیش فرض فعال کرده اند.

اعتبار وب را با FCM پیکربندی کنید

رابط وب FCM از اعتبار وب به نام "تشخیص سرور برنامه کاربردی داوطلبانه" یا کلیدهای "VAPID" برای تأیید درخواست ارسال به خدمات پشتیبانی وب پشتیبانی شده استفاده می کند. برای مشترک شدن برنامه خود برای اطلاع رسانی اعلانات ، باید یک جفت کلید را با پروژه Firebase خود مرتبط کنید. شما می توانید یک جفت کلید جدید ایجاد کنید یا جفت کلید موجود خود را از طریق Firebase Console وارد کنید.

یک جفت کلید جدید ایجاد کنید

  1. را باز ابر پیام تب از پنجره فایربیس کنسول تنظیمات و به بخش تنظیمات وب حرکت کنید.
  2. در برگه گواهی فشار وب، کلیک تولید کلید جفت. کنسول اعلان ایجاد جفت کلید را نمایش می دهد و رشته کلید عمومی و تاریخ اضافه شده را نمایش می دهد.

وارد کردن یک جفت کلید موجود

اگر یک جفت کلید موجود دارید که قبلاً با برنامه وب خود از آن استفاده می کنید ، می توانید آن را به FCM وارد کنید تا بتوانید از طریق برنامه های کاربردی FCM به نمونه های موجود برنامه وب خود دسترسی پیدا کنید. برای وارد کردن کلیدها ، باید در سطح مالک به پروژه Firebase دسترسی داشته باشید. کلید عمومی و خصوصی موجود خود را در فرم کدگذاری شده ایمن URL base64 وارد کنید:

  1. را باز ابر پیام تب از پنجره فایربیس کنسول تنظیمات و به بخش تنظیمات وب حرکت کنید.
  2. در وب گواهینامه فشار تب، پیدا کردن و انتخاب متن لینک، "وارد کردن یک جفت کلید موجود است."
  3. در واردات یک جفت محاوره ای کلیدی، ارائه کلید عمومی و خصوصی خود را در زمینه های مربوطه و واردات را کلیک کنید. کنسول رشته کلید عمومی و تاریخ اضافه شده را نمایش می دهد.

برای دستورالعمل در مورد نحوه اضافه کردن کلید به برنامه شما، و اعتبار پیکربندی وب در برنامه شما . برای کسب اطلاعات بیشتر در مورد فرمت از کلید و چگونه آنها را تولید، و کاربرد کلید سرور .

بازیابی یک شیء پیام رسانی

نسخه وب 9

import { getMessaging } from "firebase/messaging";

const messaging = getMessaging();

نسخه وب 8

const messaging = firebase.messaging();

اعتبار وب را در برنامه خود پیکربندی کنید

روش getToken(): Promise<string> اجازه می دهد تا FCM به استفاده از کلید اعتبار بی روح هنگام ارسال درخواست پیام به خدمات فشار متفاوت است. با استفاده از کلید شما تولید یا وارد شده با توجه به دستورالعمل در اعتبارنامه پیکربندی وب با FCM ، اضافه کردن آن را در کد خود را پس از شی پیام بازیابی شده است:

// Add the public key generated from the console here.
messaging.getToken({vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu"});

دسترسی به رمز ثبت نام

هنگامی که شما نیاز به بازیابی ثبت نام در حال حاضر Token برای یک نمونه از برنامه، پاسخ getToken . اگر اجازه اعلان داده نشده است ، این روش از کاربر مجوز اعلان می خواهد. در غیر این صورت ، توکن را برمی گرداند یا وعده را به دلیل خطا رد می کند.

سرویس پیام نیاز به یک firebase-messaging-sw.js فایل. مگر در مواردی که شما در حال حاضر دارند firebase-messaging-sw.js فایل، ایجاد یک فایل خالی با این نام و محل آن را در ریشه دامنه شما قبل از بازیابی رمز. بعداً در مراحل راه اندازی سرویس گیرنده می توانید محتوای معناداری را به فایل اضافه کنید.

برای بازیابی رمز فعلی:

نسخه وب 9

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);
  // ...
});

نسخه وب 8

// 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);
  // ...
});

پس از به دست آوردن توکن ، آن را به سرور برنامه خود ارسال کرده و با استفاده از روش دلخواه خود ذخیره کنید.

مراحل بعدی

پس از اتمام مراحل راه اندازی ، در اینجا چند گزینه برای حرکت به جلو با FCM برای وب (جاوا اسکریپت) وجود دارد: