Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Uzantıları değerlendirmek için Uzantı Öykünücüsünü kullanın

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Uzantı öykünücüsünü uygulamanızla kullanmadan önce , genel Firebase Yerel Öykünücü Paketi iş akışını anladığınızdan ve Yerel Öykünücü Paketi'ni yükleyip yapılandırdığınızdan ve CLI komutlarını gözden geçirdiğinizden emin olun.

Bu kılavuz ayrıca Firebase Uzantılarına ve bunları Firebase uygulamalarınızda nasıl kullanacağınıza aşina olduğunuzu varsayar.

Uzantılar öykünücüsü ile ne yapabilirim?

Uzantı öykünücüsü ile uzantıları güvenli bir yerel ortamda yükleyebilir ve yönetebilir ve fatura maliyetlerini en aza indirirken yeteneklerini daha iyi anlayabilirsiniz. Öykünücü, Cloud Firestore, Realtime Database, Cloud Storage, Authentication ve Pub/Sub için öykünücüleri kullanan arka plan olayıyla tetiklenen işlevler ve Cloud Functions v2'de uygulanan Eventarc ile tetiklenen işlevler dahil olmak üzere uzantınızın işlevlerini yerel olarak çalıştırır.

Bir Firebase projesi seçin

Firebase Local Emulator Suite, ürünleri tek bir Firebase projesi için öykünür.

Kullanılacak projeyi seçmek için, öykünücüleri başlatmadan önce, CLI'de çalışma dizininizde firebase use . Veya --project bayrağını her bir öykünücü komutuna iletebilirsiniz.

Local Emulator Suite, gerçek Firebase projelerinin ve demo projelerinin öykünmesini destekler.

Proje tipi Özellikler Emülatörlerle kullanın
Gerçek

Gerçek bir Firebase projesi, sizin oluşturduğunuz ve yapılandırdığınız projedir (büyük olasılıkla Firebase konsolu aracılığıyla).

Gerçek projeler, veritabanı örnekleri, depolama paketleri, işlevler veya o Firebase projesi için kurduğunuz diğer kaynaklar gibi canlı kaynaklara sahiptir.

Gerçek Firebase projeleriyle çalışırken, desteklenen ürünlerin herhangi biri veya tümü için öykünücüler çalıştırabilirsiniz.

Taklit etmediğiniz tüm ürünler için uygulamalarınız ve kodunuz canlı kaynakla (veritabanı örneği, depolama grubu, işlev vb.) etkileşime girer.

Demo

Bir demo Firebase projesinin gerçek bir Firebase yapılandırması ve canlı kaynağı yoktur. Bu projelere genellikle kod laboratuvarları veya diğer öğreticiler aracılığıyla erişilir.

Demo projeleri için proje kimlikleri demo ön demo- sahiptir.

Demo Firebase projeleriyle çalışırken, uygulamalarınız ve kodunuz yalnızca öykünücülerle etkileşime girer. Uygulamanız, bir öykünücünün çalışmadığı bir kaynakla etkileşim kurmaya çalışırsa, bu kod başarısız olur.

Mümkün olan her yerde demo projeleri kullanmanızı öneririz. Avantajlar şunları içerir:

  • Bir Firebase projesi oluşturmadan öykünücüleri çalıştırabileceğiniz için daha kolay kurulum
  • Daha güçlü güvenlik, çünkü kodunuz yanlışlıkla taklit edilmeyen (üretim) kaynakları çalıştırırsa, veri değişikliği, kullanım ve faturalandırma şansı yoktur.
  • SDK yapılandırmanızı indirmek için internete erişmeniz gerekmediğinden daha iyi çevrimdışı destek.

Bir uzantıyı yükleyin ve değerlendirin

Bir uzantının ihtiyaçlarınızı karşılayıp karşılamadığını değerlendirmek için Uzantı öykünücüsünü kullanmak basittir.

Aşağıdaki iş akışı herhangi bir uzantıyı kapsamasına rağmen, Tetik E-posta ( firestore-send-email ) uzantısıyla ilgilendiğinizi varsayalım. Yerel öykünücülerle çalıştırıldığında, Tetik E-posta, Cloud Firestore ve Cloud Functions öykünücülerini otomatik olarak kullanır.

Bir uzantıyı yerel olarak değerlendirmek için:

  1. Uzantıyı yerel uzantılar bildirimine ekleyin. Uzantı bildirimi, uzantı örneklerinin ve yapılandırmalarının bir listesidir.

    firebase ext:install --local firebase/firestore-send-email

    Yukarıdaki komutu çalıştırmak, firebase/firestore-send-email uzantısının en son sürümünü yapılandırmanızı ve yapılandırmayı bildirime kaydetmenizi ister, ancak yapılandırmayı projenize dağıtmaz. Bununla ilgili daha fazla bilgi için Bildirimlerle uzantı yapılandırmasını yönetme bölümüne bakın.

  2. Local Emulator Suite'i normalde yaptığınız gibi başlatın.

    firebase emulators:start

Şimdi, bildiriminizde listelenen firestore-send-email uzantısı örneğini kullanarak, Local Emulator Suite bu uzantının kaynak kodunu ~/.cache/firebase/extensions . Kaynaklar indirildikten sonra Local Emulator Suite başlayacak ve uzantının arka planda tetiklenen işlevlerinden herhangi birini tetikleyebilecek ve uygulamanızla entegrasyonunu test etmek için uygulamanızı Local Emulator Suite'e bağlayabileceksiniz.

E-posta belgeleri koleksiyonuna veri eklemek ve Tetik E-posta uzantısının gerektirdiği şekilde diğer arka uç kaynaklarını ayarlamak için Emulator Suite UI'yi kullanabilirsiniz.

Alternatif olarak, sürekli entegrasyon iş akışları gibi etkileşimli olmayan test ortamları için, diğer adımların yanı sıra gerekli Cloud Firestore verilerini dolduran ve işlevleri tetikleyen uzantıyı değerlendirmek için bir test komut dosyası yazabilirsiniz. Ardından, test komut dosyanızı yürütmek için Local Emulator Suite'i çağırırsınız:

firebase emulators:exec my-test.sh

Uzantı öykünücüsü ile test etmenin üretimden farkı nedir?

Uzantılar öykünücüsü, uzantıları üretim deneyimiyle yakından eşleşecek şekilde test etmenize olanak tanır. Ancak, üretim davranışından bazı farklılıklar vardır.

Bulut IAM'si

Firebase Emulator Suite, çalıştırmak için IAM ile ilgili herhangi bir davranışı çoğaltmaya veya bunlara uymaya çalışmaz. Öykünücüler sağlanan Firebase Güvenlik Kurallarına bağlıdır, ancak örneğin Bulut İşlevleri'ni çağıran hizmet hesabını ve dolayısıyla izinleri ayarlamak için IAM'nin normal olarak kullanılacağı durumlarda öykünücü yapılandırılabilir değildir ve geliştirici makinenizde küresel olarak kullanılabilen hesabı kullanır, doğrudan yerel bir komut dosyasını çalıştırmaya benzer.

Tetikleme türü sınırlaması

Şu anda Firebase Local Emulator Suite, yalnızca HTTP isteğiyle tetiklenen işlevleri, uzantılar için Eventarc özel olay tetikleyicilerini ve Cloud Firestore, Realtime Database, Cloud Storage, Authentication ve Pub/Sub için arka planda olayla tetiklenen işlevleri destekler. Diğer tetiklenen işlev türlerini kullanan uzantıları değerlendirmek için uzantınızı bir test Firebase projesine yüklemeniz gerekir .

Sıradaki ne?