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

Firebase Uzantısı, HTTP isteklerine yanıt olarak veya Firebase Cloud Messaging, Cloud Firestore veya Pub/Sub gibi diğer Firebase ve Google ürünlerinden gelen etkinlikleri tetikleyerek belirli bir görevi veya görev kümesini gerçekleştirir.

Firebase Extensions Hub'da kişisel kullanım için veya dünyayla paylaşmak için kendi uzantınızı oluşturabilirsiniz. Ö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şimi kolaylaştırabilir. Uzantınızı oluşturduktan sonra başkalarıyla paylaşabilirsiniz. Bu kullanıcılar uzantıyı kendi Firebase projelerinde kullanmak üzere yükleyebilir ve yapılandırabilir.

Bir uzantının yapısı

Bir uzantıyı üç ana bileşene sahip olarak düşünebilirsiniz:

  • Cloud Functions kodu, JavaScript veya TypeScript'te
  • 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 belgeler

Bir uzantı geliştirmek için bu bileşenleri aşağıdaki yapıda birleştirirsiniz:

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'teki Cloud Functions kodunuzu içerir. Bu, Firebase ve Google hizmetleri tarafından tetiklenen etkinliklere yanıt olarak uzantının görevlerini gerçekleştiren koddur.
  • extension.yaml dosyası, uzantınızla ilgili tetikleyiciler ve IAM erişim rolleri gibi meta verilerin yanı sıra kullanıcı tarafından yapılandırılabilir olmasını istediğiniz tüm parametreleri içerir.
  • PREINSTALL , POSTINSTALL ve CHANGELOG dosyaları, uzantınızın sahip olması gereken minimum belgelerdir. Bu dosyalar kullanıcılarınızın uzantınızın ne yaptığını, nasıl kullanılacağını ve hangi güncellemeleri yaptığınızı öğrenmesine yardımcı olur. Ayrıca kullanıcıların uzantınızı tanımasına yardımcı olacak bir simge de sağlamalısınız. Firebase konsolu, Firebase CLI ve Extensions Hub, kullanıcılar uzantınızı keşfettiğinde, yüklediğinde ve yönettiğinde bu dosyaların içeriğini görüntüler.

Uzantınızı oluşturduktan sonra Firebase CLI'yi kullanarak bunu bir projeye yükleyebilir veya herkesin keşfedip projelerine yükleyebileceği Uzantılar Merkezi'nde yayınlayabilirsiniz.

Uzantım hangi ürünlerle etkileşime girebilir?

Bir Firebase uzantısı işini Cloud Functions kullanarak yaptığı için olası entegrasyon sorusunu 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 girebilir?

Desteklenen işlev tetikleyicileri

Manuel tetikleyiciler

Her şeyden önce, bir işlevi manuel olarak tetikleyebilirsiniz. Firebase Uzantıları ve Bulut İşlevleri, işlevleri manuel olarak tetiklemenin iki yolunu destekler:

  • HTTP tetikleyicileri: bir işlevi bir HTTP uç noktasına dağıtın
  • Çağrılabilir işlevler: Firebase istemci SDK'larını kullanarak Bulut İşlevlerinizi doğrudan iOS, Android veya web istemci kodunuzdan çağırın.

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

Firebase hizmeti tetikleyicileri

Çoğu Firebase ürünü, bir uzantının Bulut İşlevlerini tetikleyebilecek olaylar yayar.

  • Analytics: Analytics bir etkinliği günlüğe kaydettiğinde işlevleri tetikler
  • Uygulama Dağıtımı: Uygulama Dağıtımı bir uyarı tetiklediğinde işlevleri tetikler
  • Kimlik doğrulama: kullanıcılar hesap oluşturup sildiğinde işlevleri tetikler
  • Cloud Firestore: sayfalar oluşturulduğunda, güncellendiğinde veya silindiğinde işlevleri tetikler
  • Bulut Depolama : nesneler paketlere yüklendiğinde, arşivlendiğinde veya paketlerden silindiğinde işlevleri tetikler
  • Crashlytics: Crashlytics bir uyarı tetiklediğinde işlevleri tetikler
  • Performans İzleme: Performans İzleme bir uyarıyı tetiklediğinde işlevleri tetikler
  • Gerçek Zamanlı Veritabanı: veri oluşturulduğunda, güncellendiğinde veya silindiğinde işlevleri tetikler
  • Remote Config: bir parametre güncellendiğinde işlevleri tetikler
  • Test Laboratuvarı: Test Laboratuvarı bir uyarı tetiklediğinde işlevleri tetikler

Google Cloud hizmeti tetikleyicileri

Bir uzantı, Firebase olmayan birkaç Google Cloud hizmetini tetikleyen işlevleri de içerebilir:

  • Cloud Pub/Sub : Bir uzantı, etkinlikler yapılandırılabilir bir Pub/Sub konusuna gönderildiğinde tetiklenen işlevleri içerebilir.
  • Bulut Zamanlayıcı : Bir uzantı, belirli bir programa göre çalışan işlevleri içerebilir
  • Bulut Görevleri : Bir uzantı, Bulut Görevleri kullanılarak sıraya alınabilecek işlevler içerebilir. Firebase Extensions bu özelliği, bir uzantı yazarı olarak bir uzantının "yaşam döngüsü" olaylarına yanıt veren işlevler yazmanıza olanak sağlamak için kullanır: bir projeye ilk kez yüklenme, yeni bir sürüme yükseltilme ve yeniden yapılandırılma.
  • Eventarc : Bir uzantı, olaylar yapılandırılabilir bir Eventarc kanalında yayınlandığında tetiklenen işlevleri içerebilir; tersine, kullanıcıların bir uzantının olaylarından tetiklenen kendi işlevlerini tanımlamalarına olanak sağlamak için bir uzantı kendi olaylarını bir Eventarc kanalında yayınlayabilir.

İşlevlerden desteklenir

Bir uzantının Bulut İşlevi tetiklendiğinde olası entegrasyon aralığı genellikle açık uçludur. Bulut İşlevinden yapabileceklerinize ilişkin bazı önemli noktalar şunlardır:

  • Desteklenen bir IAM rolünü kullanan herhangi bir Firebase veya Google Cloud hizmetini okuyun, yazın ve başka şekilde etkileşimde bulunun.
  • Web API'si sağlayan herhangi bir üçüncü taraf hizmetiyle çalışın.
  • Bir web API'si sağlarsanız özel hizmetlerinizle çalışın.
  • TensorFlow.js , Express.js vb. dahil çoğu JavaScript kitaplığını çalıştırın.

Bir uzantı nasıl oluşturulur?

Başlarken öğreticisi, eksiksiz bir uzantı oluşturma, test etme ve yayınlama sürecinde size yol gösterir ve nasıl oluşturulacağını öğrenmenin önerilen yoludur.

Başlamak

Başlangıç ​​kılavuzunu bir kez inceledikten sonra, kendi uzantınızı oluşturmayla ilgili görevlerin her birini açıklayan ayrı konu kılavuzlarına başvurabilirsiniz: