Bu sayfada Extensions Hub'da bir uzantıyı nasıl yayınlayabileceğiniz açıklanmaktadır.
Sen başlamadan önce
Bir uzantı yayınlamak için öncelikle uzantı yayıncısı olarak kaydolmanız gerekir.
Doğrulanabilir kaynaklar
Extensions Hub'da yayınlanan tüm uzantıların herkese açık olarak doğrulanabilir bir kaynağa sahip olması gerekir. Uzantı kaynak kodunuzu doğrudan Extensions Hub'a yüklemek yerine, kaynak konumunu belirtirsiniz; Extension Hub onu indirip oradan oluşturur.
Şu anda bu, uzantı kaynak kodunuzu herkese açık bir GitHub deposunda kullanılabilir hale getirmek anlamına geliyor.
Doğrulanabilir bir kaynaktan yükleme yapmanın çeşitli avantajları vardır:
- Kullanıcılar yüklenecek uzantının spesifik revizyonunun kaynak kodunu inceleyebilir.
- Devam eden çalışmaları veya geliştirme aşamasından kalan başıboş dosyaları değil, yalnızca yüklemeyi planladığınız şeyleri yüklediğinizden emin olabilirsiniz.
Önerilen geliştirme döngüsü
Firebase Uzantıları geliştirme araçları, uzantılarınızın yayın öncesi sürümlerini yüklemeyi destekler; bu, uzantılarınızı ve uzantı yükleme sürecini, bunların sonunda yayınlanacakları ortamda test etmenizi kolaylaştırır.
Bu yetenek 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
Yayın öncesi sürümü Extensions Hub'a yükleyin (aşağıya bakın). Daha geniş kapsamlı testler için kurulum bağlantısını dağıtın ve gerektiği şekilde daha fazla yayın öncesi sürüm yükleyerek yineleyin.
Son, kararlı sürümü Extensions Hub'a yükleyin (aşağıya bakın) ve inceleme için gönderin. Uzantı incelemeyi geçerse Extension Hub'da yayınlanacaktır.
extension.yaml
dosyasındaki sürüm numarasını artırın ve bu döngüyü uzantınızın bir sonraki sürümü için tekrarlayın.
Yeni bir uzantı yükleyin
Bir uzantıyı ilk kez yüklemek için:
İsteğe bağlı : Kodunuzu genel GitHub deposuna kaydedin.
Firebase CLI'nin
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ısında aşağıdakileri belirtirsiniz:
Kaydettiğiniz yayıncı kimliği.
Uzantıyı tanımlayacak bir kimlik dizesi. Uzantılarınızı şu biçimde adlandırın:
firebase-product - description-of-tasks-performed
. Örneğin:firestore-bigquery-export
Komut sizden ek bilgi isteyecektir:
GitHub'dan yükleme yapıyorsanız:
Uzantının GitHub'daki deposunun URL'si. Her uzantının benzersiz bir kökü olduğu sürece bir havuzun birden fazla uzantı içerebileceğini unutmayın.
İlk kez yeni bir uzantı yüklediğinizde depo, uzantınızın standart kaynağı olarak kaydedilecektir.
Depodaki uzantınızı içeren dizin.
Uzantı sürümü kaynağınızı oluşturmak istediğiniz taahhüdün Git referansı. Bu bir taahhüt karması, etiket veya dal adı olabilir.
Yüklediğiniz sürümün yayın 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 içindir. Yeni bir uzantının ilk yüklemesi için bu aşamalardan birini kullanın.stable
aşama, Extensions Hub'da yayınlanacak genel yayınlar için kullanılır.stable
bir sürümün yüklenmesi otomatik olarak bir inceleme başlatır ve inceleme başarılı olursa uzantı yayınlanır.
Sürüm numarası belirtmediğinize dikkat edin; bu değer
extension.yaml
dosyasından gelir. Yayın öncesi bir uzantı sürümünü yüklediğinizde aşama ve yükleme numarası sürüme eklenir. Örneğin,extension.yaml
1.0.1 sürümünü belirtirse ve bir sürüm adayı yüklerseniz bu,1.0.1-rc.0
sürümüyle sonuçlanır; aynı sürüme ait başka bir sürüm adayının yüklenmesi, sayıyı otomatik olarak artıracak ve1.0.1-rc.1
ile sonuçlanacaktır, vb.
Artık uzantının yayın öncesi sürümünü yüklediğinize göre, onu test amacıyla başkalarıyla paylaşabilirsiniz. Kullanıcılar uzantınızı iki yoldan biriyle yükleyebilir:
Konsol ile : Kullanıcılar aşağıdaki formattaki bir bağlantıya tıklayarak uzantıyı yükleyebilirler:
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.
CLI 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, özellikler eklemek veya yayın aşamasını ilerletmek için güncellemeleri yükleyebilirsiniz. Yeni bir sürüm yüklediğinizde, uzantınızın eski bir sürümünü yüklemiş olan kullanıcılardan Firebase konsolunda yükseltme yapmaları istenir.
Bir güncelleme yüklemek için:
İsteğe bağlı : Kodunuzu genel Git deposuna kaydedin.
Firebase CLI'nin
ext:dev:upload
komutunu çalıştırın:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Bu sefer GitHub deposunu veya uzantı kök dizinini, uzantınız için zaten yapılandırılmış olduklarından belirtmeniz istenmeyecektir. O zamandan beri depo yapınızı yeniden düzenlediyseniz veya yeni bir depoya geçiş yaptıysanız, bunları
--root
ve--repo
komut argümanlarıyla değiştirebilirsiniz.Yerel kaynak
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Yayınlanmak üzere bir uzantı gönderin
Uzantınızı herkese açık olarak yayınlamaya hazır olduğunuzda:
Kodunuzu genel bir Git deposuna kaydedin. (Kamuya açık yayınlar için gereklidir.)
Yayın aşaması olarak
stable
belirterek Firebase CLI'ninext:dev:upload
komutunu çalıştırın:firebase ext:dev:upload your_publisher_id/your_extension_id
Uzantınızın bir sürümünü daha önce 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 Extensions Hub'da Yayınla'yı tıklayın.
Gönderildikten sonra inceleme birkaç gün sürebilir. Kabul edilirse uzantı Extensions Hub'da yayınlanacaktır. Reddedilirse nedenini açıklayan bir mesaj alırsınız; daha sonra bildirilen sorunları çözebilir ve inceleme için yeniden gönderebilirsiniz.
İncelemeyi hızlandırmak ve ilk denemede 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 sürecini kapsamlı bir şekilde test ettiniz.
- Belgeleriniz tam ve doğrudur ve Firebase konsolunda iyi bir şekilde işlenmektedir.
- 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, uzantınızın amacını açık ve doğru bir şekilde temsil eder.
- Yararlı 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
dosyasında beyan ettiniz. - Yalnızca uzantının çalışması için gerekli olan rollere erişim talep ediyorsunuz ve kullanıcılara neden bu tür bir erişime ihtiyaç duyduğunuzu açıkça açıkladınız.
- Kaynak dosyalarınız
Apache-2.0
koşulları kapsamında açıkça lisanslanmıştır.
Yüklenen ve yayınlanan uzantıları yönetin
Yüklediğiniz uzantıları listeleyin
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üleyin.
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üleyin
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 veya bir bağımlılığı önemli bir güvenlik güncelleştirmesiyle güncelleyen yeni bir sürüm yayınlarsanız, yeni kullanıcıların eski bir sürümü yüklemesini önlemek ve mevcut kullanıcıları yükseltmeye 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 ayrıntılar görünümünü açmak için uzantıyı tıklayın.
- Kullanımdan kaldırmak istediğiniz sürümü seçin.
- Sürümü 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.*
Bir uzantının kullanımdan kaldırılmış sürümleri, Extensions Hub'da listelenmez ve yüklenemez. Projelerinde kullanımdan kaldırılmış bir sürüm yüklü olan kullanıcılar, onları yükseltmeye teşvik eden bir mesaj görecektir; bu arada uzantıyı kullanmaya ve yeniden yapılandırmaya devam edebilirler.
Bir uzantının tüm sürümleri kullanımdan kaldırılmışsa, uzantının kullanımdan kaldırıldığı kabul edilir ve Uzantı Merkezi'nden kaldırılır. Kullanımdan kaldırılmış bir uzantının yeni bir sürümünün yüklenmesi, otomatik olarak bir inceleme başlatır ve kabul edildikten sonra Uzantı Merkezi'nde bir kez daha yayınlanır.
Kullanımdan kaldırma işlemini geri almak için yayıncı kontrol panelini kullanın veya Firebase CLI'nin ext:dev:undeprecate
komutunu çalıştırın:
firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions
Ek: Derleme hatalarında sorun giderme
Uzantınızı yüklediğinizde, arka uç öncelikle aşağıdaki işlemi kullanarak kaynak kodunuzu oluşturur:
GitHub deponuzu klonlar ve belirtilen kaynak referansını kontrol eder.
extension.yaml
dosyasında belirtilen her işlev kaynak dizinindenpm clean-install
komutunu çalıştırarak NPM bağımlılıklarını yükler ( Cloud Function Resources'takisourceDirectory
bakın).Aşağıdakilere dikkat et:
Her
package.json
dosyasının karşılık gelen birpackage-lock.json
dosyası olması gerekir. Daha fazla bilgi için bkz . npm-ci .Bağımlılık kurulumu sırasında kurulum sonrası komut dosyaları çalıştırılmayacaktır. Kaynak kod derlemeniz kurulum sonrası komut dosyalarına dayanıyorsa yüklemeden önce onu yeniden düzenleyin.
extension.yaml
dosyası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 kaydedilecektir.
Uzantınızı yüklerken derleme hataları alırsanız, hiçbir hata kalmayana kadar yukarıdaki derleme adımlarını yeni bir dizinde yerel olarak tekrarlayın ve ardından yüklemeyi tekrar deneyin.