Bu sayfada, Uzantılar Merkezi'nde nasıl uzantı yayınlayabileceğiniz açıklanmaktadır.
Başlamadan önce
Eklenti yayınlamak için önce eklenti 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ınızın kaynak kodunu doğrudan Uzantıları Merkezi'ne yüklemek yerine kaynak konumunu belirtirsiniz. Uzantıları Merkezi, kodu indirip buradan oluşturur.
Şu anda bu, uzantı kaynak kodunuzu herkese açık bir GitHub deposunda kullanıma sunmak anlamına gelir.
Doğrulanabilir bir kaynaktan yüklemenin birkaç avantajı vardır:
- Kullanıcılar, yüklenecek uzantının ilgili düzeltmesinin kaynak kodunu inceleyebilir.
- Örneğin, devam eden çalışmayı veya geliştirme aşamasından kalan dosyaları değil, yalnızca yüklemek istediğiniz dosyaları 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ümlerinin yüklenmesini destekler. Bu sayede, uzantılarınızı ve uzantı yükleme sürecini, yayınlanacakları ortamda test edebilirsiniz.
Bu özellik, aşağıdaki gibi bir geliştirme döngüsü sağlar:
Firebase Emulator Suite'i kullanarak uzantınızı geliştirin ve hızlıca iterasyon yapın.
Uzantılarınızı yerel kaynaktan yükleyerek gerçek bir projede test edin:
firebase ext:install /path/to/extension
firebase deploy --only extensions
Uzantıları Merkezi'ne bir yayın öncesi sürüm yükleyin (aşağıya bakın). Daha geniş kapsamlı test için yükleme bağlantısını dağıtın ve gerektiğinde daha fazla yayın öncesi sürüm yükleyerek iterasyon yapın.
Son kararlı sürümü Uzantılar Merkezi'ne (aşağıya bakın) yükleyin ve incelenmesi için gönderin. Uzatma incelemeyi geçerse Uzantı Merkezi'nde yayınlanır.
extension.yaml
dosyasında sürüm numarasını 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 gönderin.
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ınızda aşağıdakileri belirtirsiniz:
Kaydolduğunuz yayıncı kimliği.
Uzantıyı tanımlayan bir kimlik dizesi. Uzantılarınıza şu biçimde ad verin:
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ının benzersiz bir kökü olduğu sürece bir depoda birden fazla uzantı bulunabileceğini unutmayın.
Yeni bir uzantıyı ilk kez yüklediğinizde, depolama alanı uzantınızın kanonik kaynağı olarak kaydedilir.
Depodaki uzantınızı içeren dizin.
Uzantınızın kaynak sürümünü oluşturmak istediğiniz commit'in 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 ön sürüm yüklemek üzere kullanılır. Yeni bir uzantının ilk yüklemesi için bu aşamalardan birini kullanın.stable
aşaması, herkese açık sürümlerin Uzantılar Merkezi'nde yayınlanması için kullanılır.stable
sürümü yüklediğinizde otomatik olarak bir inceleme başlatılır ve incelemeden geçen uzantı yayınlanır.
Sürüm numarası belirtmediğinizi unutmayın. Bu değer
extension.yaml
dosyasından alınır. Yayın öncesi uzantı sürümü yüklediğinizde sürüme aşama ve yükleme numarası 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.
Eklentinin yayın öncesi sürümünü yüklediğinize göre, test için başkalarıyla paylaşabilirsiniz. Kullanıcılar uzantınızı iki şekilde 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.
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üncellenen sürümü yükleme
Bir uzantının ilk sürümünü yükledikten sonra sorunları düzeltmek, özellikler eklemek veya sürüm aşamasını ilerletmek için güncelleme 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.
Güncelleme yüklemek için:
İsteğe bağlı: Kodunuzu herkese açık bir Git deposuna gönderin.
Firebase CLI'nin
ext:dev:upload
komutunu çalıştırın:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_id
Bu kez, GitHub deposunu veya uzantı kök dizinini belirtmeniz istenmez. Bunlar uzantınız için zaten yapılandırılmıştır. O zamandan beri depo yapınızı yeniden düzenlediyseniz veya yeni bir depoya taşıdı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ılarınızı herkese açık olarak yayınlamaya hazır olduğunuzda:
Kodunuzu herkese açık bir Git deposuna gönderin. (Herkese açık sürümler için gereklidir.)
Sürüm aşaması olarak
stable
'yi belirterek Firebase CLI'ninext:dev:upload
komutunu çalıştırın:firebase ext:dev:upload your_publisher_id/your_extension_id
Daha önce uzantınızın 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ı Merkezi'nde yayınla'yı tıklayın.
Gönderilen yorumların incelenmesi birkaç gün sürebilir. Kabul edilen uzantılar Uzantı Merkezi'nde yayınlanır. İncelemeniz reddedilirse nedenini açıklayan bir mesaj alırsınız. Bildirilen sorunları giderip incelemeye 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ı ve yükleme sürecini ayrıntılı bir şekilde test etmiş olmanız gerekir.
- Dokümanlarınız eksiksiz ve doğru olmalı, Firebase konsolunda iyi şekilde oluşturulmalıdır.
- Yayıncı adınız ve markanız sizi yayıncı olarak net ve doğru bir şekilde tanımlamalıdır.
- Uzantınızın adı, açıklaması ve simgesi, uzantınızın amacını açık ve doğru şekilde yansıtmalıdır.
- 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
içinde beyan etmiş olmanız gerekir. - 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ı uyarınca açıkça 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
Uzantının bir sürümünü kullanımdan kaldırma
Zaman içinde, uzantınızın eski bir sürümünün desteğini sonlandırmak isteyebilirsiniz. Örneğin, kritik bir hatayı düzelten veya bir bağımlılığı önemli bir güvenlik güncellemesiyle 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 uzantıyı tıklayarak ayrıntılar görünümünü açın.
- Desteği sonlandırmak istediğiniz sürümü seçin.
- Sürümün desteğini sonlandı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.*
Desteği sonlandırılan uzantı sürümleri Uzantı Merkezi'nde 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ümlerinin desteği sonlandırılırsa uzantı kullanımdan kaldırılmış olarak kabul edilir ve Uzantıları Merkezi'nden kaldırılır. Desteği sonlandırılan bir uzantının yeni sürümünü yüklediğinizde otomatik olarak bir inceleme başlatılır ve uzantı kabul edildiğinde Uzantılar Merkezi'nde tekrar yayınlanır.
Desteği sonlandırılan bir özelliği 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ını giderme
Uzantınızı yüklediğinizde arka uç, önce aşağıdaki işlemi kullanarak kaynak kodunuzu oluşturur:
GitHub deponuzu kopyalar ve belirtilen kaynak referansını kontrol eder.
extension.yaml
içinde belirtilen her işlev kaynak dizinindenpm clean-install
'ü çalıştırarak NPM bağımlılıkları yükler (Cloud Functions kaynaklarındasourceDirectory
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 kodunuz yükleme sonrası komut dosyalarını kullanıyorsa yüklemeden önce kodunuzu yeniden yapılandırın.
extension.yaml
içinde belirtilen her işlev kaynak dizinindenpm run build
'ü çalıştırarak kodunuzu oluşturur.
Paylaşılan nihai uzantı paketine yalnızca uzantınızın kök dizini kaydedilir.
Uzantı yüklerken derleme hataları alırsanız hata kalmayana kadar yukarıdaki derleme adımlarını yeni bir dizinde yerel olarak tekrarlayın ve ardından tekrar yüklemeyi deneyin.