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.
Firebase Uzantı Merkezi'nde kişisel kullanım için veya dünyayla paylaşmak üzere kendi uzantınızı oluşturabilirsiniz. Örneğin, uzantınız belirli bir uygulamanızın düzenli olarak ihtiyaç duyduğu bir görevi yerine getirir 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 veya TypeScript'te Cloud Functions kodunuzu içerir. Bu, uzantının görevlerini Firebase ve Google hizmetleri tarafından tetiklenen etkinliklere yanıt.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.PREINSTALL
,POSTINSTALL
veCHANGELOG
dosyaları, uzantınızın sahip olması gereken minimum dokümandır. 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 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ı, işlerini Cloud Functions'i kullanarak yaptığından, olası entegrasyonlar sorununu iki şekilde ele alabilirsiniz: 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 Extensions ve Cloud İşlevler, işlevleri manuel olarak tetiklemenin iki yolunu destekler:
- HTTP tetikleyicileri: Bir işlevi HTTP uç noktasına 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ılarınız, HTTP uç noktalarını sunarak webhook'ları destekleyen tüm web hizmetleriyle entegre olabilir. Ç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 Functions'ini tetikleyebilecek etkinlikler yayınlar.
- Analytics: Analytics bir etkinlik 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 paketlere yüklendiğinde, arşivlendiğinde veya paketlerden silindiğinde işlevleri tetikleyin.
- Crashlytics: Crashlytics bir uyarıyı tetiklediğinde işlevleri tetikler
- 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 tetikleme
- 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: Bir uzantı, etkinlikler yapılandırılabilir bir Eventarc kanalına yayınlandığında tetiklenen işlevler içerebilir. Buna karşılık, kullanıcıların uzantıların etkinliklerinden tetiklenen kendi işlevlerini tanımlayabilmesi için uzantılar kendi etkinliklerini bir Eventarc kanalına yayınlayabilir.
İşlevlerden desteklenir
Bir uzantının Cloud Functions işlevi tetiklendikten sonra, açık uçludur. Cloud Functions ile yapabileceğiniz bazı önemli işlemleri aşağıda bulabilirsiniz:
- Desteklenen bir IAM rolü kullanan tüm Firebase veya Google Cloud hizmetini okuma, yazma ve başka bir şekilde etkileşim kurma.
- Web API sağlayan herhangi bir üçüncü taraf hizmetle çalışma.
- Web API'si sağlıyorsanız özel hizmetlerinizle çalışın.
- TensorFlow.js, Express.js vb. dahil olmak üzere çoğu JavaScript kitaplığını çalıştırın.
Uzantı nasıl oluşturulur?
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şlangıç kılavuzunu bir kez inceledikten sonra, proje yaşam döngüsü boyunca her bir görevi açıklayan kendi uzantınız:
- Uzantılar için işlev yazma
- Parametreleri bir uzantıda kullanma
- Uzantıların uygun erişimini ayarlama
- Uzantı yaşam döngüsü etkinliklerine yanıt verme
- Uzantılara kullanıcı kancaları ekleme
- Uzantınız için kullanıcı dokümanları oluşturun
- Uzantıların Merkezi'nde uzantı yayınlama
- Uzantı.yaml referansını tamamlayın