Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

הגדר אפליקציית לקוח העברת הודעות בענן של JavaScript Firebase

ה- API של JavaScript FCM מאפשר לך לקבל הודעות התראה באפליקציות אינטרנט הפועלות בדפדפנים התומכים ב- API של Push . זה כולל את גרסאות הדפדפן הרשומות במטריצת תמיכה זו והרחבות Chrome באמצעות ממשק ה- API.

FCM SDK נתמך רק בדפים המוגשים באמצעות HTTPS. זאת בשל השימוש בו בעובדי שירות, הזמינים רק באתרי HTTPS. אם אתה זקוק לספק, מומלץ אירוח Firebase לאירוח HTTPS בחינם בתחום שלך.

כדי להתחיל לעבוד עם ה- FCM JavaScript API, יהיה עליך להוסיף את Firebase לאפליקציית האינטרנט שלך ולהוסיף לוגיקה כדי לגשת לאסימונים לרישום.

הוסף את Firebase לפרויקט JavaScript שלך

אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט JavaScript שלך .

אם אתה משתמש כרגע ב- FCM באינטרנט וברצונך לשדרג ל- SDK 6.7.0 ואילך, עליך להפעיל את ממשק ה- API לרישום FCM עבור הפרויקט שלך במסוף הענן של Google. כאשר אתה מפעיל את ה- API, ודא שאתה מחובר ל- Cloud Console עם אותו חשבון Google שבו אתה משתמש ב- Firebase, וודא שאתה בוחר בפרויקט הנכון. פרויקטים חדשים שמוסיפים את ה- FCM SDK מאפשרים לממשק API זה כברירת מחדל.

הגדר את אישורי האינטרנט עם FCM

ממשק האינטרנט FCM משתמש באישורי אינטרנט המכונים "זיהוי שרת יישומים מרצון" או "VAPID", כדי לאשר שליחת בקשות לשירותי דחיפה ברשת הנתמכים. כדי להירשם כמנוי לאפליקציה שלך לדחיפת התראות, עליך לשייך זוג מקשים לפרויקט Firebase שלך. באפשרותך ליצור זוג מפתחות חדש או לייבא את זוג המפתחות הקיים באמצעות מסוף Firebase.

צור זוג מפתחות חדש

  1. פתח את הכרטיסייה העברת הודעות בענן בחלונית ההגדרות של קונסולת Firebase וגלול לקטע תצורת האינטרנט .
  2. בכרטיסייה אישורי אינטרנט דחיפה , לחץ על צור זוג מקשים . המסוף מציג הודעה כי צמד המפתחות נוצר, ומציג את מחרוזת המפתחות הציבורית ואת התאריך שנוסף.

ייבא זוג מפתחות קיים

אם יש לך זוג מפתחות קיים שאתה כבר משתמש בו באפליקציית האינטרנט שלך, אתה יכול לייבא אותו ל- FCM כדי שתוכל להגיע למופעים הקיימים של אפליקציות האינטרנט שלך באמצעות ממשקי API של FCM. כדי לייבא מפתחות, עליך להיות בעל גישה ברמת הבעלים לפרויקט Firebase. ייבא את המפתח הציבורי והפרטי הקיים בטופס המקודד הבטוח של URL של base64:

  1. פתח את הכרטיסייה העברת הודעות בענן בחלונית ההגדרות של קונסולת Firebase וגלול לקטע תצורת האינטרנט .
  2. בכרטיסיית אישורי ה- Web Push , מצא ובחר את טקסט הקישור, "ייבא זוג מפתחות קיים."
  3. בתיבת הדו-שיח ייבוא ​​צמד מפתחות , ספק את המפתחות הציבוריים והפרטיים שלך בשדות המתאימים ולחץ על ייבא . המסוף מציג את מחרוזת המפתח הציבורי ואת התאריך שנוסף.

להוראות כיצד להוסיף את המפתח לאפליקציה שלך, ראה הגדרת אישורי אינטרנט באפליקציה שלך . לקבלת מידע נוסף אודות פורמט המקשים וכיצד ליצור אותם, ראה מפתחות שרת יישומים .

אחזר אובייקט העברת הודעות

אינטרנט v8

const messaging = firebase.messaging();

אינטרנט v9

import { getMessaging } from "firebase/messaging";

const messaging = getMessaging();

הגדר את פרטי הכניסה לאינטרנט באפליקציה שלך

השיטה getToken(): Promise<string> מאפשר ל- FCM להשתמש בתעודת מפתח VAPID בעת שליחת בקשות הודעות לשירותי דחיפה שונים. באמצעות המפתח שיצרת או ייבאת על פי ההוראות בסעיף תצורת אישורי אינטרנט עם FCM , הוסף אותו בקוד שלך לאחר אחזרת אובייקט ההודעות:

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

גישה לאסימון ההרשמה

כאשר עליך לאחזר את אסימון הרישום הנוכחי עבור מופע אפליקציה, התקשר ל- getToken . אם לא ניתנה הרשאת הודעה, שיטה זו תבקש מהמשתמש הרשאות התראה. אחרת, הוא מחזיר אסימון או דוחה את ההבטחה עקב שגיאה.

שירות המסרים דורש קובץ firebase-messaging-sw.js . אלא אם כן יש לך כבר קובץ firebase-messaging-sw.js , צור קובץ ריק בשם זה firebase-messaging-sw.js אותו בשורש הדומיין שלך לפני שתשלח אסימון. תוכל להוסיף תוכן משמעותי לקובץ בהמשך תהליך הגדרת הלקוח.

כדי לאחזר את האסימון הנוכחי:

אינטרנט v8

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

אינטרנט v9

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

לאחר שהשגת את האסימון, שלח אותו לשרת האפליקציות שלך ושמור אותו בשיטה המועדפת עליך.

הצעדים הבאים

לאחר שתסיים את שלבי ההתקנה, הנה כמה אפשרויות להתקדם עם FCM עבור האינטרנט (JavaScript):