Firebase'i progresif web uygulamasında (PWA) kullanma

Progresif Web Uygulamaları (PWA) aşağıdaki web uygulamalarıdır: kurallar grubu kullanıcılarınıza güvenilir, hızlı ve ilgi çekici bir deneyim sunmayı amaçlar.

Firebase, progresif web uygulamalarını verimli bir şekilde eklemenizi sağlayan pek çok PWA en iyi uygulamasını karşılamak için uygulamanıza yeni özellikler ekler:

PWA ile ilgili en iyi uygulama Firebase hizmetleri nasıl yardımcı olabilir?
Güvenli ve güvenilir çözümler
  • Firebase Hosting, SSL'yi sağlar Özel alanınız ve varsayılan Firebase için ücretsiz sertifikalar alt alan adı dışında bir Google Ads hesabı kullanıyor.
  • Firebase Authentication, kullanıcıların oturum açmasına olanak tanır güvenle kullanabilirsiniz.
  • FirebaseUI, şunlar için en iyi uygulamaları uyguluyor: kimlik doğrulama akışları.
Hızlı yükleme süresi
  • Firebase Hosting, HTTP/2'yi destekler ve önbelleğe alabilir hem statik hem de dinamik içeriğinizi küresel CDN'de yayınlayabilirsiniz.
  • Firebase JavaScript SDK'sı modülerdir ve şunları yapabilirsiniz: kitaplıkları dinamik olarak içe aktarır.
Ağ esnekliği
  • Cloud Firestore ile, şunları depolayabilir ve erişebilirsiniz: gerçek zamanlı ve çevrimdışı olarak sunar.
  • Firebase Authentication, kullanıcının kimlik doğrulamasını korur çevrimdışıyken bile takip edebilirsiniz.
Kullanıcıların ilgisini çekme
  • Firebase Cloud Messaging push göndermenizi sağlar kullanıcılarınızın iletilerine cihazlar.
  • Cloud Functions for Firebase ile, otomatikleştirilmiş kampanyalar Yeniden etkileşim mesajları ve

Bu sayfada, Firebase platformunun reklam oluşturmanıza ve oluşturmanıza modern ve yüksek performanslı bir PWA'mız oluşturabilirsiniz. Firebase JavaScript SDK'sı.

Şurayı ziyaret edin: başlangıç kılavuzu Firebase'i web uygulamanıza ekleyin.

Güvenilir ve güvenli

Sitenizi sunmaktan kimlik doğrulama akışı uygulamaya kadar her aşamada PWA'nızın güvenli ve güvenilir bir iş akışı sağladığını görürsünüz.

PWA'nızı HTTPS üzerinden sunma

Etkili barındırma hizmeti

HTTPS, web sitenizin bütünlüğünü korur. Ayrıca, gizlilik ve en iyi uygulamaları paylaşacağım. PWA'lar HTTPS üzerinden sunulmalıdır.

Varsayılan olarak Firebase Hosting uygulamanızın içeriğini HTTPS üzerinden sunar. İçeriğinizi ücretsiz olarak yayınlayabilirsiniz. Firebase alt alan adı veya kendiniz özel alanınızla birlikte kullanılamaz. Bizim barındırma hizmeti, özel alan adınız için bir SSL sertifikası sağlar otomatik olarak ve ücretsiz olarak sunulur.

Şurayı ziyaret edin: Firebase Hosting için başlangıç kılavuzu başlıklı makalemizi incelemenizi öneririz.

Güvenli bir kimlik doğrulama akışı sunun

Duyarlı kimlik doğrulama akışı

FirebaseUI, bir kimlik doğrulama akışına bağlı olarak düşen duyarlı kimlik doğrulama akışı Firebase Authentication, izin veriliyor uygulamanıza gelişmiş ve güvenli bir oturum açma akışını kolayca entegre edebilirsiniz. FirebaseUI, kullanıcının cihazlarının ekran boyutuna otomatik olarak uyum sağlar ve kimlik doğrulama akışlarıyla ilgili en iyi uygulamaları izliyor.

FirebaseUI, birden çok oturum açma sağlayıcıyı destekler. URL'yi FirebaseUI yetkilendirmesi, yalnızca birkaç satır kodla uygulamanıza aktarılır oturum açma sağlayıcıları için yapılandırılmıştır:

// FirebaseUI config.
var uiConfig = {
  signInSuccessUrl: 'URL',  // the URL to direct to upon success
  signInOptions: [
    firebase.auth.GoogleAuthProvider.PROVIDER_ID,
    firebase.auth.EmailAuthProvider.PROVIDER_ID
  ]
};

// Initialize the FirebaseUI widget using Firebase.
var ui = new firebaseui.auth.AuthUI(firebase.auth());
ui.start('#firebaseui-auth-container', uiConfig);

Ziyaret edin: GitHub'daki belgelerimize tarafından sunulan çeşitli yapılandırma seçenekleri hakkında daha fazla bilgi FirebaseUI.

Farklı cihazlarda kullanıcıların oturumunu açma

Cihazlarda oturum açma

FirebaseUI kullanarak entegre etme tek dokunuşla oturum açın, uygulamanız, oturum açtıkları farklı cihazlarda bile kullanıcıların bunu oturum açma kimlik bilgileriyle ayarlamalarına tabi tutun.

Sayfanın tek satırını değiştirerek FirebaseUI ile tek dokunuşla oturum açmayı etkinleştirin yapılandırma:

// FirebaseUI config.
var uiConfig = {
  signInSuccessUrl: 'URL',  // the URL to direct to upon success
  authMethod: 'https://accounts.google.com',
  signInOptions: firebase.auth.GoogleAuthProvider.PROVIDER_ID,
  // Enable one-tap sign-in.
  credentialHelper: firebaseui.auth.CredentialHelper.GOOGLE_YOLO
};

Ziyaret edin: GitHub'daki belgelerimize tarafından sunulan çeşitli yapılandırma seçenekleri hakkında daha fazla bilgi FirebaseUI.

Hızlı yükleme süresi

Yüksek performans, kullanıcı deneyimini iyileştirir, kullanıcıları elde tutmaya ve dönüşümü artırır. Çok iyi performans; örneğin "hazırlama süresi ilk anlamlı boyama" ve "etkileşime geçme süresi", PWA'lar için önemli bir gerekliliktir.

Statik öğelerinizi verimli bir şekilde yayınlayın

Etkili barındırma hizmeti

Firebase Hosting şunları sunar: içerik genel bir CDN üzerinden ve HTTP/2 uyumlu. Statik öğelerinizi Firebase'de barındırdığınızda, sizin için tüm bunları kullanabilirsiniz. Google Etiket Yöneticisi'nden yararlanmak için bu hizmetin devamı niteliğinde.

Dinamik içeriğinizi önbelleğe alın

Firebase Hosting ile web uygulamanız aynı zamanda dinamik içerik de sunucu tarafında Cloud Functions veya bir Cloud Run container mimarisine alınmış uygulama. Bunu kullanma hizmeti kullanıyorsanız, bir Google Hesabı'nda dinamik içeriğinizi önbelleğe alabilirsiniz tek satır kodla güçlü global CDN:

res.set('Cache-Control', 'public, max-age=300, s-maxage=600');

Bu hizmet, arka ucunuza ek çağrılar yapılmasını önlemenize ve sonuçları hızlandırmanıza olanak tanır. ve maliyetleri düşürür.

Nasıl yapıldığını öğrenmek için belgelerimize dinamik içerik yayınlayabilir (Cloud Functions veya Cloud Run tarafından desteklenir) ve Firebase Hosting ile CDN önbelleğe alma özelliğini etkinleştirin.

Hizmetleri yalnızca ihtiyaç duyduklarında yükle

Firebase JavaScript SDK'sı şu olabilir: kısmen içe aktarıldı hedef indirme boyutunu minimumda tutun. Bu modüler SDK'dan yararlanarak Uygulamanızın ihtiyaç duyduğu Firebase hizmetlerini yalnızca ihtiyaç olduğunda içe aktarın.

Örneğin, uygulamanızın ilk yükleme hızını artırmak için uygulamanızın ilk boyama hızını artırın Firebase Authentication. Ardından, uygulamanız Firebase için Google Analytics gibi diğer Firebase hizmetlerini Cloud Firestore.

Webpack gibi bir paket yöneticisi kullanarak önce Firebase Authentication yükleyebilirsiniz:

import firebase from 'firebase/app';
import 'firebase/auth';

// Load Firebase project configuration.
const app = firebase.initializeApp(firebaseConfig);

Ardından, veri katmanınıza erişmeniz gerektiğinde Cloud Firestore kitaplığı dinamik içe aktarmalar:

import('firebase/firestore').then(() => {
  const firestore = app.firestore();
  // Use Cloud Firestore ...
});

Ağ esnekliği

Kullanıcılarınızın güvenilir internet erişimi olmayabilir. PWA'lar benzer olmalıdır ve mümkün olduğunda çevrimdışı olarak çalışmalıdır.

Uygulama verilerinize çevrimdışı olarak erişme

Cloud Firestore destekler çevrimdışı veri kalıcılığı Bu, uygulamanızın veri katmanının çevrimdışı olarak şeffaf bir şekilde çalışmasını sağlar. Şununla birleştirildi: Hizmet çalışanlarına statik öğelerinizi önbelleğe alma çevrimdışı olarak tamamen çalışabilir. Çevrimdışı veri kalıcılığını etkinleştirebilirsiniz tek satır kodla:

firebase.firestore().enablePersistence().then(() => {
  const firestore = app.firestore();
  // Use Cloud Firestore ...
});

Çevrimdışı kimlik doğrulama durumunu koruma

Firebase Authentication, oturum açma verilerinin yerel önbelleğiyle, önceden oturum açmış kullanıcının kimlik doğrulamasından geçmiştir. Oturum açma durumu gözlemci, Kullanıcı çevrimdışıyken uygulamayı yeniden yüklese bile normal şekilde çalışır ve tetiklenir:

firebase.auth().onAuthStateChanged((user) => {
  if (user) {
    // User is signed-in ...
  } else {
    // User is signed out ...
  }
});

Başlamak için dokümanlarımızı inceleyin Cloud Firestore ve Firebase Authentication.

Kullanıcıların ilgisini çekin

Kullanıcılarınız uygulamanız için yeni özellikler yayınladığınızdan haberdar olmak isterler. kullanarak kullanıcı etkileşimini yüksek tutun. PWA'nızı proaktif ve sorumlu bir şekilde ayarlayın ulaşmak için de kullanabilirsiniz.

Kullanıcılarınıza push bildirimleri gösterme

Entegre Firebase Cloud Messaging sunucunuzdan alakalı bildirimleri kullanıcılarınızın cihazlar. Bu hizmet, kullanıcılarınıza bildirim gönderdiklerinde bile, Uygulama kapatıldı.

Kullanıcı yeniden etkileşimini otomatikleştirin

Cloud Functions for Firebase kullanıldığında Kullanıcılarınıza bulut etkinliklerine dayalı yeniden etkileşim mesajları gönderin (örneğin, Cloud Firestore için veri yazma veya kullanıcı hesabını silme. Ayrıca, kullanıcılara push bildirimi de gönderebilirsiniz Bu kullanıcı yeni bir takipçi edindiğinde:

// Send push notification when user gets a new follower.
exports.sendNotification = functions.database.ref('/followers/{userUID}/{followerUID}')
    .onWrite((change, context) => {
      const userUID = context.params.userUID;
      const followerUID = context.params.followerUID;

      const tokens = getUserDeviceTokens(userUID);
      const name = getUserDisplayName(followerUID);

      // Notification details.
      const payload = {
        notification: {
          title: 'You have a new follower!',
          body: `${name} is now following you.`
        }
      };
      return admin.messaging().sendToDevice(tokens, payload);
    });