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

Firebase uzantısı, çeşitli davranışlara yanıt olarak belirli bir görevi veya 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 uygulamanızın düzenli olarak ihtiyaç duyduğu belirli bir görevi gerçekleştirebilir veya şirketinizin API'lerinden birine erişmeyi kolaylaştırabilir. Uzantınızı oluşturduktan sonra diğerleri. Bu kullanıcılar, uzantıyı kendi Firebase projelerinde kullanmak üzere yükleyip yapılandırabilir.

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ırmalarına ve kullanmaları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 veya TypeScript'te Cloud Functions kodunuzu içerir. Bu kod, Firebase ve Google hizmetleri tarafından tetiklenen etkinliklere yanıt olarak uzantının görevlerini gerçekleştirir.
  • extension.yaml dosyası, tetikleyicileri ve IAM erişim rolleri gibi uzantı meta verilerinin yanı sıra kullanıcı tarafından yapılandırılabilir olmasını istediğiniz tüm parametreleri içerir.
  • 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. Ayrıca, kullanıcıların uzantınızı tanımasına yardımcı olacak bir simge de eklemeniz gerekir. İlgili içeriği oluşturmak için kullanılan Firebase konsolu, Firebase CLI ve Extensions Hub, kullanıcılar uzantınızı keşfettiğinde, yüklediğinde ve yönettiğinde bu dosyalardan yararlanır.

Uzantınızı oluşturduktan sonra Firebase CLI'yi kullanarak bir projeye yükleyebilir veya Uzantıları Merkezi'nde yayınlayabilirsiniz. Uzantıları Merkezi'nde herkes bu uzantıyı keşfedip projelerine yükleyebilir.

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

Firebase uzantıları, işlerini Cloud Functions'i kullanarak yaptığından, olası entegrasyonlar sorununu iki şekilde düşünebilirsiniz: Uzantımın işlevlerini hangi ürünler tetikleyebilir? ve Tetiklendikten sonra uzantımın işlevleri hangi ürünlerle etkileşime geçebilir?

Desteklenen işlev tetikleyicileri

Manuel tetikleyiciler

Öncelikle bir işlevi manuel olarak tetikleyebilirsiniz. Firebase uzantıları ve Cloud Functions, işlevleri manuel olarak tetiklemenin iki yolunu destekler:

  • HTTP tetikleyicileri: HTTP uç noktasına işlev dağıtma
  • Çağırılabilir işlevler: Firebase istemci SDK'larını kullanarak Cloud Functions'lerinizi doğrudan iOS, Android veya web istemci kodunuzdan çağırın.

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 yayar İşlevler.

  • Analytics: Analytics bir etkinlik kaydettiğinde işlevleri tetikler
  • App Distribution: App Distribution bir uyarı tetiklediğinde işlevleri tetikleme
  • Kimlik doğrulama: Kullanıcılar hesap oluşturup sildiğinde işlevleri tetikleme
  • Cloud Firestore: Sayfalar oluşturulduğunda, güncellendiğinde veya silindiğinde işlevleri tetikleme
  • Cloud Storage: Nesneler paketlere yüklendiğinde, arşivlendiğinde veya paketlerden silindiğinde işlevleri tetikleyin.
  • Crashlytics: Crashlytics bir uyarı tetiklediğinde işlevleri tetikleme
  • Performans İzleme: Performans İzleme bir uyarı tetiklediğinde işlevleri tetikleme
  • 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ılar, yapılandırılabilir bir Pub/Sub konusuna etkinlik gönderildiğinde tetiklenen işlevler içerebilir.
  • 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 uzantıları, uzantı yazarı olarak uzantının "yaşam döngüsü" etkinliklerine (bir projeye ilk kez yükleme, yeni bir sürüme yükseltme ve yeniden yapılandırma) yanıt veren işlevler yazmanıza olanak tanımak için bu özelliği kullanır.
  • 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, olası entegrasyonların kapsamı genellikle sınırsızdır. Cloud Functions ile yapabileceğiniz bazı önemli işlemleri aşağıda bulabilirsiniz:

  • 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 tüm üçüncü taraf hizmetleriyle çalışır.
  • 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ı oluşturma

Başlarken eğitimi, eksiksiz bir uzantı oluşturma, test etme ve yayınlama sürecinde size yol gösterir. Bu eğitim, uzantı oluşturmayı öğrenmenin önerilen yoludur.

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: