Bu sayfada, Extensions Hub'da uzantıları nasıl yayınlayabileceğiniz açıklanmaktadır.
Başlamadan önce
Bir uzantı yayınlamak için önce uzantı yayıncısı olarak kaydolmanız gerekir.
Doğrulanabilir kaynaklar
Extensions Hub'da yayınlanan tüm uzantıların herkes tarafından doğrulanabilir bir kaynağı olmalıdır. Uzantı kaynak kodunuzu doğrudan Extensions Hub'a yüklemek yerine kaynak konumunu belirtirsiniz. Extension Hub, uzantıyı indirip oradan oluşturur.
Şu anda bu, uzantı kaynak kodunuzun herkese açık bir GitHub deposunda kullanıma sunulması anlamına geliyor.
Doğrulanabilir bir kaynaktan yüklemenin çeşitli avantajları vardır:
- Kullanıcılar, yüklenecek uzantının ilgili düzeltmesinin kaynak kodunu inceleyebilir.
- Yalnızca yüklemek istediğiniz öğeleri yüklediğinizden ve örneğin devam eden çalışmalar veya geliştirmede kalan dosyaları silmediğinizden emin olabilirsiniz.
Önerilen geliştirme döngüsü
Firebase Extensions geliştirme araçları, uzantılarınızın yayın öncesi sürümlerinin yüklenmesini destekler. Böylece, uzantılarınızı ve uzantı yükleme işlemini en sonunda yayınlanacakları ortamda kolayca test edebilirsiniz.
Bu olanak, aşağıdaki gibi bir geliştirme döngüsünü mümkün kılar:
Firebase Emulator Suite'i kullanarak uzantınızı geliştirin ve hızla yineleyin.
Uzantınızı yerel kaynaktan yükleyerek gerçek bir projede test edin:
firebase ext:install /path/to/extension
firebase deploy --only extensions
Uzantı Merkezi'ne yayın öncesi bir sürüm yükleyin (aşağıya bakın). Daha kapsamlı testler için yükleme bağlantısını dağıtın ve gerektiğinde daha fazla yayın öncesi sürüm yükleyerek tekrarlayın.
Uzantıların kararlı olan son sürümünü Extensions Hub'a yükleyin (aşağıya bakın) ve incelemeye gönderin. Uzantı, incelemeyi geçerse Extension Hub'da yayınlanır.
Sürüm numarasını
extension.yaml
üzerinde artırın ve uzantınızın bir sonraki sürümü için bu döngüyü tekrarlayın.
Yeni uzantı yükleme
Bir uzantıyı ilk kez yüklemek için:
İsteğe bağlı: Kodunuzu herkese açık bir GitHub deposuna kaydedin.
Firebase CLI'ın
ext:dev:upload
komutunu çalıştırın:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Yerel kaynak
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Komut çağrınızda aşağıdakileri belirtirsiniz:
Kaydolduğunuz yayıncı kimliği.
Uzantıyı tanımlayan bir kimlik dizesi. Uzantılarınızı aşağıdaki biçimi kullanarak adlandırın:
firebase-product-description-of-tasks-performed
. Örnek:firestore-bigquery-export
Komut, ek bilgi sağlamanızı ister:
GitHub'dan yükleme yapıyorsanız:
Uzantının GitHub'daki deposunun URL'si. Her uzantı benzersiz bir köke sahip olduğu sürece bir deponun birden fazla uzantı içerebileceğini unutmayın.
İlk kez yeni bir uzantı yüklediğinizde kod deposu, uzantınız için standart kaynak olarak kaydedilir.
Kod deposundaki, uzantınızı içeren dizin.
Uzantı sürüm kaynağınızı oluşturmak istediğiniz kaydetmenin Git referansı. Bu bir kaydetme karması, etiket veya dal adı olabilir.
Yüklediğiniz sürümün yayınlama aşaması.
alpha
,beta
verc
(sürüm adayı) aşamaları, test kullanıcılarının yüklemesi için yayın öncesi sürümleri yüklemek amacıyla kullanılır. Yeni bir uzantının ilk kez yüklenmesi için bu aşamalardan birini kullanın.stable
aşaması, Extensions Hub'da yayınlanacak herkese açık sürümler için kullanılır. Birstable
sürümü yüklendiğinde otomatik olarak inceleme başlatılır ve inceleme başarılı olursa uzantı yayınlanır.
Sürüm numarası belirtmediğinizi unutmayın. Bu değer,
extension.yaml
dosyasından gelir. Yayın öncesi bir uzantı sürümü yüklediğinizde aşama ve yükleme numarası sürüme eklenir. Örneğin,extension.yaml
, 1.0.1 sürümünü belirtiyorsa ve bir sürüm adayı yüklerseniz1.0.1-rc.0
sürümü oluşturulur. Aynı sürümü başka bir aday yüklemek, bu sayıyı otomatik olarak artırır. Bu da1.0.1-rc.1
sonucunu verir.
Uzantının yayın öncesi sürümünü yüklediğinize göre bunu test için başkalarıyla paylaşabilirsiniz. Kullanıcılar, uzantınızı iki yöntemden biriyle yükleyebilir:
Konsol ile: Kullanıcılar, aşağıdaki biçime sahip bir bağlantıyı tıklayarak uzantıyı yükleyebilir:
https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version
Doğrudan bağlantıyı test kullanıcılarınızla paylaşabilirsiniz.
KSA ile: Kullanıcılar, uzantı kimliği dizesini
ext:install
komutuna ileterek uzantıyı yükleyebilir:firebase ext:install your_publisher_id/your_extension_id@version \ --project=destination_project_id
Güncellenmiş bir sürümü yükleyin
Bir uzantının ilk sürümünü yükledikten sonra sorunları düzeltmek, özellik eklemek veya sürüm aşamasını ilerletmek için güncellemeleri yükleyebilirsiniz. Yeni bir sürüm yüklediğinizde, Firebase konsolunda uzantınızın daha eski bir sürümünü yüklemiş olan kullanıcılardan yeni sürüme geçmeleri istenir.
Güncelleme yüklemek için:
İsteğe bağlı: Kodunuzu herkese açık bir Git deposuna kaydedin.
Firebase CLI'ın
ext:dev:upload
komutunu çalıştırın:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Uzantınız için zaten yapılandırılmış olduklarından bu kez GitHub deposunu veya uzantı kök dizinini belirtmeniz istenmez. Bu tarihten sonra depo yapınızı yeniden düzenlediyseniz veya yeni bir depoya taşındıysanız bunları
--root
ve--repo
komut bağımsız değişkenleriyle değiştirebilirsiniz.Yerel kaynak
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Yayınlanmak üzere uzantı gönderme
Uzantınızı herkese açık olarak yayınlamaya hazır olduğunuzda:
Kodunuzu herkese açık bir Git deposuna kaydedin. (Herkese açık sürümler için gereklidir.)
Firebase CLI'ın, sürüm aşaması olarak
stable
değerini belirterek Firebase CLI'sınınext:dev:upload
komutunu çalıştırın:firebase ext:dev:upload your_publisher_id/your_extension_id
Uzantınızın daha önce bir sürümünü yayınladıysanız yeni bir kararlı sürüm yüklediğinizde uzantı otomatik olarak incelemeye gönderilir.
Uzantının ilk kararlı sürümünü yüklediyseniz yayıncı kontrol panelinizde uzantıyı bulun ve Uzantılar Merkezi'nde Yayınla'yı tıklayın.
Gönderilen incelemenin tamamlanması birkaç gün sürebilir. Uzantı kabul edilirse Extensions Hub'da yayınlanır. İtirazın reddedilmesinin nedenini açıklayan bir mesaj alırsınız. Ardından, bildirilen sorunları giderebilir ve incelenmesi için yeniden gönderebilirsiniz.
İncelemeyi hızlandırmak ve ilk denemeyi geçme şansınızı artırmak için göndermeden önce aşağıdakileri bir kez daha kontrol edin:
- Uzantınızı ve yükleme işlemini baştan sona test ettiniz.
- Belgeleriniz eksiksiz ve doğru olmalı, Firebase konsolunda iyi bir şekilde oluşturulmalıdır.
- Yayıncı adınız ve markanız, sizi yayıncı olarak açık ve doğru bir şekilde tanımlar.
- Uzantınızın adı, açıklaması ve simgesi açık ve doğru bir şekilde uzantınızın amacını temsil etmektedir.
- Faydalı ve doğru etiketler uyguladınız.
- Kullandığınız tüm Google ve Google dışı API'leri ve uzantınızın yayınladığı tüm etkinlik türlerini
extension.yaml
içinde beyan ettiniz. - Yalnızca uzantının çalışması için gerekli olan rollere erişim istiyorsunuz ve kullanıcılara bu tür bir erişime neden ihtiyaç duyduğunuzu net bir şekilde açıkladınız.
- Kaynak dosyalarınız,
Apache-2.0
şartlarına göre açık bir şekilde lisanslanmıştır.
Yüklenen ve yayınlanan uzantıları yönetme
Yüklediğiniz uzantıları listeleme
Yayıncı kimliğiniz altında yüklediğiniz uzantıları listelemek için aşağıdakilerden birini yapın:
Yayıncı kontrol paneli
Bunları yayıncı kontrol panelinde görüntüleyebilirsiniz.
Firebase CLI
ext:dev:list
komutunu çalıştırın:
firebase ext:dev:list your_publisher_id
Yüklediğiniz uzantıların kullanımını görüntüleme
Yayıncı kimliğiniz altında yüklediğiniz uzantıların kullanımını görüntülemek için aşağıdakilerden birini yapın:
Yayıncı kontrol paneli
Yayıncı kontrol panelinde tüm uzantılarınız için kümülatif kullanım metrikleri ve her uzantı için ayrı metrikler bulunur.
Firebase CLI
ext:dev:usage
komutunu çalıştırın:
firebase ext:dev:usage your_publisher_id
Bir uzantının sürümünü kullanımdan kaldırma
Bir noktada uzantınızın eski bir sürümünü kullanımdan kaldırmak isteyebilirsiniz. Örneğin, kritik bir hatayı düzelten yeni bir sürüm yayınlarsanız veya bir bağımlılığı önemli bir güvenlik güncellemesiyle güncellerseniz yeni kullanıcıların eski bir sürümü yüklemesini engellemek ve mevcut kullanıcıları yeni sürüme geçmeye teşvik etmek önemlidir.
Bir uzantının sürümünü kullanımdan kaldırmak için aşağıdakilerden birini yapın:
Yayıncı kontrol paneli
- Yayıncı kontrol panelinde uzantıyı tıklayarak ayrıntılar görünümünü açın.
- Kullanımdan kaldırmak istediğiniz sürümü seçin.
- Sürümü kullanımdan kaldır'ı tıklayın.
Firebase CLI
ext:dev:deprecate
komutunu çalıştırın:
firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
[--message "deprecation_message"]
Tek bir sürüm veya sürüm aralığı belirtebilirsiniz. Örnekler:
1.0.2
1.1.0-1.1.7
<1.2.0
1.1.*
Uzantıların kullanımdan kaldırılmış sürümleri Extensions Hub'da listelenmez ve yüklenemez. Projelerinde desteği sonlandırılmış bir sürüm yüklü olan kullanıcılar, yeni sürüme geçmelerini teşvik eden bir mesaj görürler. Bu süre zarfında uzantıyı kullanmaya ve yeniden yapılandırmaya devam edebilirler.
Bir uzantının tüm sürümleri kullanımdan kaldırılırsa uzantı, kullanımdan kaldırılmış olarak kabul edilir ve Extensions Hub'da liste dışı bırakılır. Kullanımdan kaldırılmış bir uzantının yeni bir sürümünü yüklediğinizde otomatik olarak inceleme başlatılır ve kabul edildikten sonra bu uzantının Extensions Hub'da tekrar yayınlanması gerekir.
Desteğin sonlandırılması işlemini geri almak için yayıncı kontrol panelini kullanın veya Firebase KSA'sının ext:dev:undeprecate
komutunu çalıştırın:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
Ek: Yapı hatalarını giderme
Uzantınızı yüklediğinizde arka uç, önce aşağıdaki işlemi kullanarak kaynak kodunuzu oluşturur:
GitHub deponuzu klonlar ve belirtilen kaynak referansını kontrol eder.
extension.yaml
politikasında belirtilen her işlev kaynağı dizinindenpm clean-install
çalıştırarak NPM bağımlılıklarını yükler (Cloud Function kaynakları bölümündesourceDirectory
bölümüne bakın).Aşağıdakileri göz önünde bulundurun:
Her
package.json
dosyasına karşılık gelen birpackage-lock.json
dosyası olmalıdır. Daha fazla bilgi için npm-ci'ye bakın.Yükleme sonrası komut dosyaları, bağımlılık yüklemesi sırasında çalıştırılmaz. Kaynak kodu derlemeniz yükleme sonrası komut dosyalarına dayanıyorsa yüklemeden önce kodu yeniden düzenleyin.
extension.yaml
politikasında belirtilen her işlev kaynağı dizinindenpm run build
komutunu çalıştırarak kodunuzu oluşturur.
Paylaşılacak son uzantı paketine yalnızca uzantınızın kök dizini kaydedilir.
Uzantınızı yüklerken derleme hataları alırsanız yukarıdaki derleme adımlarını yerel olarak yeni bir dizinde çoğaltıp hata olmayana kadar yeniden yüklemeyi deneyin.