Uzantı yayıncısına genel bakış

Firebase Uzantısı, kullanıcıların verilerine yanıt olarak belirli bir görevi veya görev kümesini gerçekleştirir HTTP istekleri ya da diğer Firebase ve Google ürünlerinden gelen etkinlikleri tetiklemek (ör. Firebase Cloud Messaging, Cloud Firestore veya Pub/Sub.

Kişisel kullanmak veya dünyayla paylaşmak için kendi uzantınızı oluşturabilirsiniz: Firebase Extensions Hub. Örneğin, uzantınız belirli bir uygulamanızın düzenli olarak ihtiyaç duyduğu bir görev veya şirketinizin API'leri. Uzantınızı oluşturduktan sonra diğerleri. Bu kullanıcılar, uzantıyı kendilerinde kullanmak üzere yükleyip yapılandırabilir Firebase projeleri.

Bir uzantının yapısı

Bir uzantının üç ana bileşeni olduğunu düşünebilirsiniz:

  • JavaScript veya TypeScript'te Cloud Functions kodu
  • Uzantınızı açıklayan meta veriler
  • Kullanıcılarınızın uzantınızı yapılandırmasına ve kullanmasına yardımcı olacak dokümanlar

Bir uzantı geliştirmek için bu bileşenleri aşağıdaki şekilde derlersiniz: yapı:

example-extension
├── functions
│   ├── integration-tests
│   │   ├── extensions
│   │   │   └── example-extension.env
│   │   ├── firebase.json
│   │   └── integration-test.spec.js
│   ├── index.js
│   └── package.json
├── README.md
├── PREINSTALL.md
├── POSTINSTALL.md
├── CHANGELOG.md
├── icon.png
└── extension.yaml
  • functions dizini, JavaScript'teki Cloud Functions kodunuzu içerir. veya TypeScript'i içerir. Bu, uzantının görevlerini Firebase ve Google hizmetleri tarafından tetiklenen etkinliklere yanıt.
  • extension.yaml dosyası, uzantınızla ilgili aşağıdakiler gibi meta verileri içerir: ve IAM erişim rollerinin yanı sıra olmasını istediğiniz tüm parametreler yapılandırılabilir.
  • Minimum PREINSTALL, POSTINSTALL ve CHANGELOG dosyaları veya uzantınızın olması gereken belgeler. Bu dosyalar, kullanıcılarınızın uzantınızın işlevi, nasıl kullanılacağı ve yaptığınız güncellemeler. Siz kullanıcıların uzantınızı tanımasına yardımcı olacak bir simge de sağlamalıdır. İlgili içeriği oluşturmak için kullanılan Firebase konsolu, Firebase CLI ve Extensions Hub, kullanıcılar uzantınızı keşfederken, yüklediğinde ve yönettiğinde bu dosyalara erişebilir.

Uzantınızı oluşturduktan sonra, Firebase CLI kullanarak bir projeye dönüştürmenizi veya uzantılı uzantılarınızı herkesin keşfedebileceği projelerine yükleyebilir.

Uzantım hangi ürünlerle etkileşime geçebilir?

Firebase uzantıları, Cloud Functions'ı kullanarak çalışır. iki şekilde düşünebiliriz: Hangi ürünler, Uzantımın işlevleri nedir? ve Tetiklendikten sonra, uzantım hangi ürünleri hangi işlevlerle etkileşim kuruldu?

Desteklenen işlev tetikleyicileri

Manuel tetikleyiciler

Öncelikle bir işlevi manuel olarak tetikleyebilirsiniz. Firebase Extensions ve Cloud İşlevler, işlevleri manuel olarak tetiklemenin iki yolunu destekler:

  • HTTP tetikleyicileri: HTTP uç noktasına işlev dağıtma
  • Çağrılabilir işlevler: Cloud Functions işlevlerinizi doğrudan iOS cihazınızdan çağırın. Firebase istemci SDK'larını kullanan Android veya web istemcisi kodu.

Uzantınızdaki HTTP uç noktalarını ortaya çıkararak uzantınızı webhook'ları destekleyen herhangi bir web hizmetiyle entegre edilebilir. Çağrılabilir işlevler sayesinde Uzantınızı yükleyen kullanıcılar, Firebase SDK'larını istemci kitaplığı olarak kullanabilir API'nin uyguladığı API'ye erişebilirsiniz.

Firebase hizmet tetikleyicileri

Çoğu Firebase ürünü, uzantının Cloud'unu tetikleyebilecek etkinlikler yayınlar İşlevler.

  • Analytics: Analytics bir etkinliği günlüğe kaydettiğinde işlevleri tetikler
  • App Distribution: App Distribution belirli bir uygulamayı tetiklediğinde uyarı
  • Kimlik doğrulama: Kullanıcılar hesap oluşturduğunda ve sildiğinde işlevleri tetikler.
  • Cloud Firestore: Sayfalar oluşturulduğunda, güncellendiğinde veya silindi
  • Cloud Storage: Nesneler yüklendiğinde, arşivlendiğinde veya paketlerden silindi
  • Crashlytics: Crashlytics bir uyarıyı tetiklediğinde işlevleri tetikler
  • Performans İzleme: Performans İzleme sırasında işlevleri tetikler bir uyarı tetikler
  • Gerçek Zamanlı Veritabanı: Veriler oluşturulduğunda, güncellendiğinde veya silindi
  • Remote Config: Bir parametre güncellendiğinde işlevleri tetikler
  • Test Lab: Test Lab bir uyarıyı tetiklediğinde işlevleri tetikleyin

Google Cloud hizmet tetikleyicileri

Bir uzantı, Firebase'e ait olmayan çeşitli öğeleri tetikleyen işlevler de içerebilir Google Cloud hizmetleri:

  • Cloud Pub/Sub: Uzantı, etkinlikler yapılandırılabilir bir Pub/Sub konusuna yayınlanır.
  • Cloud Scheduler: Uzantı, bir küme üzerinde çalışan işlevler içerebilir program
  • Cloud Tasks: Uzantılar, kullanılarak sıraya alınabilen işlevler içerebilir Bulut Görevleri. Firebase Extensions, uygulamanızın uzantı yazarı, bir uzantının "yaşam döngüsü"ne yanıt veren işlevler yazma etkinlikler: bir projeye ilk kez yüklenmesi, ve yeniden yapılandırıldığından emin olmalısınız.
  • Eventarc: Uzantı, etkinlikler olduğunda tetiklenen işlevler içerebilir yapılandırılabilir bir Eventarc kanalına yayınlanmış olmalıdır. Öte yandan . bir uzantının etkinliklerinden tetiklenen kendi işlevlerini tanımlar.

İşlevlerden desteklenir

Bir uzantının Cloud Functions işlevi tetiklendikten sonra, açık uçludur. İşte size ulaşmak için kullanabileceğiniz bir Cloud Functions işleviyle gerçekleştirilebilir:

  • Herhangi bir Firebase veya Google Cloud'da okuma, yazma ve diğer şekillerde etkileşimde bulunma kullanılan bir desteklenen IAM rolüne sahip olmanız gerekir.
  • Web API'si sağlayan herhangi bir üçüncü taraf hizmetle çalışma.
  • Web API'si sağlıyorsanız özel hizmetlerinizle çalışın.
  • TensorFlow.js, Ekspres.js dahil çoğu JavaScript kitaplığını çalıştırın vb.

Uzantı nasıl oluşturulur?

Başlarken eğitimi, eksiksiz bir uzantı oluşturma, test etme ve yayınlama sürecini kapsar ve önerilen yoldan bahsedeceğiz.

Başlayın

Başlangıç kılavuzunu bir kez inceledikten sonra, proje yaşam döngüsü boyunca her bir görevi açıklayan kendi uzantınız: