קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כדי להתחיל להשתמש ב-FCM, כדאי ליצור את תרחיש השימוש הפשוט ביותר: שליחת הודעת התראה למשתמש ספציפי כשהאפליקציה פועלת ברקע במכשיר.
בדף הזה מפורטים כל השלבים להשגת המטרה הזו, מההגדרה ועד האימות. יכול להיות שחלק מהשלבים כבר הושלמו אם הגדרתם אפליקציית לקוח JavaScript ל-FCM.
הגדרת ה-SDK
אם עדיין לא הוספתם את Firebase לפרויקט ב-JavaScript, אתם צריכים להוסיף אותו.
גישה לטוקן הרישום
כשצריך לאחזר את טוקן הרישום הנוכחי של מופע אפליקציה, קודם צריך לבקש מהמשתמש הרשאות לשליחת התראות באמצעות Notification.requestPermission().
כשקוראים לפונקציה כמו שמוצג, היא מחזירה אסימון אם ניתנה הרשאה או דוחה את ההבטחה אם ההרשאה נדחתה:
נדרש קובץ 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.constmessaging=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 UIconsole.log('No registration token available. Request permission to generate one.');// ...}}).catch((err)=>{console.log('An error occurred while retrieving token. ',err);// ...});
// 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 UIconsole.log('No registration token available. Request permission to generate one.');// ...}}).catch((err)=>{console.log('An error occurred while retrieving token. ',err);// ...});
אם זו ההודעה הראשונה שלכם, בוחרים באפשרות יצירת הקמפיין הראשון.
בוחרים באפשרות הודעות התראה של Firebase ולוחצים על יצירה.
אחרת, בכרטיסייה קמפיינים, בוחרים באפשרות קמפיין חדש ואז באפשרות התראות.
מזינים את הטקסט של ההודעה. כל שאר השדות הם אופציונליים.
בחלונית השמאלית, לוחצים על שליחת הודעת בדיקה.
בשדה עם התווית Add an FCM registration token (הוספת אסימון רישום ל-FCM), מזינים את אסימון הרישום שקיבלתם בקטע הקודם של המדריך הזה.
בוחרים באפשרות בדיקה.
אחרי שתבחרו באפשרות בדיקה, ההתראה אמורה להתקבל במכשיר הלקוח המטורגט (כשהאפליקציה פועלת ברקע).
השלבים הבאים
שליחת הודעות לאפליקציות שפועלות ברקע
אחרי שתצליחו לשלוח הודעות התראה כשהאפליקציה פועלת ברקע, תוכלו לעיין במאמר קבלת הודעות בלקוח JavaScript כדי להתחיל לשלוח הודעות לאפליקציות שפועלות בחזית.
מעבר להודעות התראה
כדי להוסיף לאפליקציה התנהגויות אחרות ומתקדמות יותר, מעבר להודעות התראה, אפשר לעיין במאמרים הבאים:
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-09-03 (שעון UTC)."],[],[],null,["To get started with FCM, build out the simplest use case: sending a\nnotification message to a specific user\nwhen the app is in the background on the device.\nThis page lists all the steps to achieve this, from setup to verification\n--- it may cover steps you already completed if you\nhave [set up a JavaScript client app](/docs/cloud-messaging/js/client)\nfor FCM.\n| **Important:** This guide focuses on the background case. If you want to receive messages when your app is in the foreground as well, see also [Receive Messages in a JavaScript Client](/docs/cloud-messaging/js/receive).\n\nSet up the SDK\n\nIf you haven't already, [add Firebase to your JavaScript project](/docs/web/setup).\n\nAccess the registration token\n\nWhen you need to retrieve the current registration token for an app instance, first\nrequest notification permissions from the user with `Notification.requestPermission()`.\nWhen called as shown, this returns a token if permission is granted or rejects the promise\nif denied:\n\n```javascript\nfunction requestPermission() {\n console.log('Requesting permission...');\n Notification.requestPermission().then((permission) =\u003e {\n if (permission === 'granted') {\n console.log('Notification permission granted.');\n```\n\n\u003cbr /\u003e\n\nFCM requires a `firebase-messaging-sw.js` file.\nUnless you already have a `firebase-messaging-sw.js` file, create an empty file\nwith that name and place it in the root of your domain before retrieving a token.\nYou can add meaningful content to the file later in the client setup process.\n\nTo retrieve the current token: \n\nWeb \n\n```javascript\nimport { getMessaging, getToken } from \"firebase/messaging\";\n\n// Get registration token. Initially this makes a network call, once retrieved\n// subsequent calls to getToken will return from cache.\nconst messaging = getMessaging();\ngetToken(messaging, { vapidKey: '\u003cYOUR_PUBLIC_VAPID_KEY_HERE\u003e' }).then((currentToken) =\u003e {\n if (currentToken) {\n // Send the token to your server and update the UI if necessary\n // ...\n } else {\n // Show permission request UI\n console.log('No registration token available. Request permission to generate one.');\n // ...\n }\n}).catch((err) =\u003e {\n console.log('An error occurred while retrieving token. ', err);\n // ...\n});https://github.com/firebase/snippets-web/blob/467eaa165dcbd9b3ab15711e76fa52237ba37f8b/snippets/messaging-next/index/messaging_get_token.js#L8-L25\n```\n\nWeb \n\n```javascript\n// Get registration token. Initially this makes a network call, once retrieved\n// subsequent calls to getToken will return from cache.\nmessaging.getToken({ vapidKey: '\u003cYOUR_PUBLIC_VAPID_KEY_HERE\u003e' }).then((currentToken) =\u003e {\n if (currentToken) {\n // Send the token to your server and update the UI if necessary\n // ...\n } else {\n // Show permission request UI\n console.log('No registration token available. Request permission to generate one.');\n // ...\n }\n}).catch((err) =\u003e {\n console.log('An error occurred while retrieving token. ', err);\n // ...\n});https://github.com/firebase/snippets-web/blob/467eaa165dcbd9b3ab15711e76fa52237ba37f8b/messaging/index.js#L27-L41\n```\n\nAfter you've obtained the token, send it to your app server and store\nit using your preferred method.\n\nSend a test notification message\n\n1. Install and run the app on the target device. On Apple devices, you'll need\n to accept the request for permission to receive remote notifications.\n\n2. Make sure the app is in the background on the device.\n\n3. In the Firebase console, open the [Messaging page](https://console.firebase.google.com/project/_/messaging/).\n\n4. If this is your first message, select **Create your first\n campaign**.\n\n 1. Select **Firebase Notification messages** and select **Create**.\n5. Otherwise, on the **Campaigns** tab, select **New campaign**\n and then **Notifications**.\n\n6. Enter the message text. All other fields are optional.\n\n7. Select **Send test message** from the right pane.\n\n8. In the field labeled **Add an FCM registration token**, enter the registration\n token you obtained in a previous section of this guide.\n\n9. Select **Test**.\n\nAfter you select **Test**, the targeted client device (with the app in\nthe background) should receive the notification.\n\nNext steps\n\nSend messages to foregrounded apps\n\nOnce you have successfully sent notification messages while your app is in\nthe background, see\n[Receive Messages in a JavaScript Client](/docs/cloud-messaging/js/receive)\nto get started sending to foregrounded apps.\n\nGo beyond notification messages\n\nTo go beyond notification messages and add other, more advanced behavior to your\napp, see:\n\n- [Receive Messages in a JavaScript Client](/docs/cloud-messaging/js/receive)\n- [Send Messages to Multiple Devices](/docs/cloud-messaging/js/send-multiple)"]]