了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Bir JavaScript Firebase Bulut Mesajlaşma istemci uygulaması kurun

FCM JavaScript API, Push API'yi destekleyen tarayıcılarda çalışan web uygulamalarında bildirim mesajları almanızı sağlar. Buna, bu destek matrisinde listelenen tarayıcı sürümleri ve Push API aracılığıyla Chrome uzantıları dahildir.

FCM SDK, yalnızca HTTPS üzerinden sunulan sayfalarda desteklenir. Bunun nedeni, yalnızca HTTPS sitelerinde bulunan hizmet çalışanlarını kullanmasıdır. Bir sağlayıcıya ihtiyacınız varsa Firebase Barındırma önerilir ve kendi alanınızda HTTPS barındırma için ücretsiz bir katman sağlar.

FCM JavaScript API'sini kullanmaya başlamak için web uygulamanıza Firebase eklemeniz ve kayıt belirteçlerine erişmek için mantık eklemeniz gerekir.

FCM SDK'yı ekleyin ve başlatın

  1. Henüz yapmadıysanız, Firebase JS SDK'yı kurun ve Firebase'i başlatın .

  2. Firebase Cloud Messaging JS SDK'yı ekleyin ve Firebase Cloud Messaging'i başlatın:

Web modüler API

import { initializeApp } from "firebase/app";
import { getMessaging } from "firebase/messaging";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);


// Initialize Firebase Cloud Messaging and get a reference to the service
const messaging = getMessaging(app);

Web ad alanlı API

import firebase from "firebase/compat/app";
import "firebase/compat/messaging";

// TODO: Replace the following with your app's Firebase project configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Initialize Firebase Cloud Messaging and get a reference to the service
const messaging = firebase.messaging();

Şu anda web için FCM kullanıyorsanız ve SDK 6.7.0 veya sonraki bir sürüme geçmek istiyorsanız Google Cloud Console'da projeniz için FCM Kayıt API'sini etkinleştirmeniz gerekir. API'yi etkinleştirdiğinizde, Cloud Console'da Firebase için kullandığınız Google hesabıyla oturum açtığınızdan ve doğru projeyi seçtiğinizden emin olun. FCM SDK'sını ekleyen yeni projelerde bu API varsayılan olarak etkindir.

Web Kimlik Bilgilerini FCM ile Yapılandırma

FCM Web arabirimi, desteklenen web push hizmetlerine istek gönderme yetkisi vermek için "Gönüllü Uygulama Sunucusu Kimliği" veya "VAPID" anahtarları adı verilen Web kimlik bilgilerini kullanır. Uygulamanızı push bildirimlerine abone olmak için Firebase projenizle bir çift anahtar ilişkilendirmeniz gerekir. Firebase Konsolu aracılığıyla yeni bir anahtar çifti oluşturabilir veya mevcut anahtar çiftinizi içe aktarabilirsiniz.

Yeni bir anahtar çifti oluştur

  1. Firebase konsolu Ayarlar bölmesinin Bulut Mesajlaşma sekmesini açın ve Web yapılandırması bölümüne gidin.
  2. Web Push sertifikaları sekmesinde Anahtar Çifti Oluştur seçeneğine tıklayın. Konsol, anahtar çiftinin oluşturulduğuna dair bir bildirim görüntüler ve ortak anahtar dizisini ve eklenme tarihini görüntüler.

Mevcut bir anahtar çiftini içe aktarın

Halihazırda web uygulamanızla kullanmakta olduğunuz mevcut bir anahtar çiftiniz varsa, FCM API'leri aracılığıyla mevcut web uygulaması örneklerinize ulaşabilmek için bunu FCM'ye aktarabilirsiniz. Anahtarları içe aktarmak için Firebase projesine sahip seviyesinde erişiminiz olmalıdır. Mevcut genel ve özel anahtarınızı base64 URL güvenli kodlanmış biçimde içe aktarın:

  1. Firebase konsolu Ayarlar bölmesinin Bulut Mesajlaşma sekmesini açın ve Web yapılandırması bölümüne gidin.
  2. Web Push sertifikaları sekmesinde, "mevcut bir anahtar çiftini içe aktar" bağlantı metnini bulun ve seçin.
  3. Bir anahtar çiftini içe aktar iletişim kutusunda, ortak ve özel anahtarlarınızı ilgili alanlara girin ve İçe Aktar seçeneğine tıklayın. Konsol, genel anahtar dizesini ve eklenen tarihi görüntüler.

Anahtarı uygulamanıza nasıl ekleyeceğinizle ilgili talimatlar için Uygulamanızda Web kimlik bilgilerini yapılandırma bölümüne bakın. Anahtarların biçimi ve bunların nasıl oluşturulacağı hakkında daha fazla bilgi için bkz. Uygulama sunucusu anahtarları .

Uygulamanızda Web kimlik bilgilerini yapılandırın

getToken(): Promise<string> yöntemi, FCM'nin farklı push hizmetlerine mesaj istekleri gönderirken VAPID anahtarı kimlik bilgilerini kullanmasına izin verir. Web Kimlik Bilgilerini FCM ile Yapılandırma bölümündeki talimatlara göre oluşturduğunuz veya içe aktardığınız anahtarı kullanarak, mesajlaşma nesnesi alındıktan sonra kodunuza ekleyin:

import { getMessaging, getToken } from "firebase/messaging";

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

Kayıt belirtecine erişin

Bir uygulama örneği için mevcut kayıt jetonunu almanız gerektiğinde, önce Notification.requestPermission() ile kullanıcıdan bildirim izinleri isteyin. Gösterildiği gibi çağrıldığında, izin verilirse bir belirteç döndürür veya reddedilirse sözü reddeder:

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

FCM, bir firebase-messaging-sw.js dosyası gerektirir. Halihazırda bir firebase-messaging-sw.js dosyanız yoksa, bu ada sahip boş bir dosya oluşturun ve bir belirteç almadan önce bunu etki alanınızın kök dizinine yerleştirin. Daha sonra istemci kurulum sürecinde dosyaya anlamlı içerik ekleyebilirsiniz.

Geçerli belirteci almak için:

Web modular API

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 namespaced API

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

Jetonu aldıktan sonra, onu uygulama sunucunuza gönderin ve tercih ettiğiniz yöntemi kullanarak saklayın.

Sonraki adımlar

Kurulum adımlarını tamamladıktan sonra, Web için FCM (JavaScript) ile ilerlemek için birkaç seçeneği burada bulabilirsiniz: