Bu sayfada, Uzantı Merkezi'nde uzantı yayınlama hakkında bilgi verilmektedir.
Başlamadan önce
Bir uzantıyı yayınlamak için önce uzantı yayıncısı olarak kaydolmanız gerekir.
Doğrulanabilir kaynaklar
Uzantı Merkezi'nde yayınlanan tüm uzantıların herkese açık olarak doğrulanabilir bir kaynağı olmalıdır. Uzantı kaynak kodunuzu doğrudan Extensions Hub'a yüklemek yerine kaynak konumunu belirtirsiniz. Extension Hub, kodu indirip buradan oluşturur.
Şu anda bu, uzantı kaynak kodunuzu herkese açık bir GitHub deposunda kullanıma sunmanız anlamına gelir.
Doğrulanabilir bir kaynaktan yükleme yapmanın çeşitli avantajları vardır:
- Kullanıcılar, yüklenecek uzantının belirli bir sürümünün kaynak kodunu inceleyebilir.
- Yalnızca yüklemek istediğiniz içerikleri yüklediğinizden emin olabilirsiniz. Örneğin, devam eden çalışmaları veya geliştirme sürecinden kalan gereksiz dosyaları yüklemezsiniz.
Ö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 sayede, uzantılarınızı ve uzantı yükleme sürecini nihayetinde yayınlanacakları ortamda kolayca test edebilirsiniz.
Bu özellik, 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ızlı bir şekilde 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ü Uzantı Merkezi'ne yükleyin (aşağıya bakın). Daha 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 yineleme yapın.
Son kararlı sürümü Uzantı Merkezi'ne yükleyin (aşağıya bakın) ve incelemeye gönderin. İncelemeyi geçen uzantılar, Uzantı Merkezi'nde yayınlanır.
extension.yaml
içinde 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 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'nı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:
Kaydettiğiniz yayıncı kimliği.
Uzantıyı tanımlayan 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 ister:
GitHub'dan yüklü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.
İlk kez yeni bir uzantı yüklediğinizde, depo uzantınızın kanonik kaynağı olarak kaydedilir.
Depoda uzantınızı içeren dizin.
Uzantı sürümünüzün kaynak olarak alınmasını istediğiniz commit'in Git referansı. Bu, bir commit karması, etiket veya dal adı olabilir.
Yüklediğiniz sürümün yayın aşaması.
alpha
,beta
verc
(yayın adayı) aşamaları, test kullanıcılarının yükleyebileceği yayın öncesi sürümleri yüklemek için kullanılır. Yeni bir uzantının ilk yüklemesi için bu aşamalardan birini kullanın.stable
aşaması, Uzantı Merkezi'nde yayınlanacak herkese açık sürümler için kullanılır.stable
sürümünün yüklenmesiyle inceleme otomatik olarak başlatılır ve incelemeyi geçen uzantı yayınlanır.
Sürüm numarası belirtmediğinizi fark edeceksiniz. 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
sürüm 1.0.1'i belirtiyorsa ve yayın adayı yüklerseniz sürüm1.0.1-rc.0
olur. Aynı sürümün başka bir yayın adayını yüklediğinizde sayı otomatik olarak artar ve1.0.1-rc.1
olur.
Uzantının yayın öncesi sürümünü yüklediğinize göre artık bu sürümü 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çimde 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üncellenmiş bir sürüm yükleme
Bir uzantının ilk sürümünü yükledikten sonra, sorunları düzeltmek, özellik eklemek veya yayınlama aşamasını ilerletmek için güncellemeler 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'nın
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. Çünkü bunlar uzantınız için daha önce yapılandırılmıştır. Depo yapınızı yeniden düzenlediyseniz veya yeni bir depoya taşıdıysanız
--root
ve--repo
komut bağımsız değişkenleriyle bunları değiştirebilirsiniz.Yerel kaynak
cd /path/to/extension
firebase ext:dev:upload your_publisher_id/your_extension_id --local
Yayınlanacak bir 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ın
ext:dev:upload
komutunu çalıştırın ve yayın aşaması olarakstable
değerini belirtin: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 uzantıyı yayıncı kontrol panelinizde bulun ve Uzantı Merkezi'nde yayınla'yı tıklayın.
Gönderildikten sonra inceleme işlemi birkaç gün sürebilir. Kabul edilirse uzantı, Uzantı Merkezi'nde yayınlanır. Reddedilirse nedeni açıklayan bir mesaj alırsınız. Ardından bildirilen sorunları düzeltebilir ve inceleme için yeniden gönderebilirsiniz.
İnceleme sürecini hızlandırmak ve ilk denemede onay alma şansınızı artırmak için göndermeden önce aşağıdakileri tekrar kontrol edin:
- Uzantınızı 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ımlar.
- Uzantınızın adı, açıklaması ve simgesi, uzantınızın amacını net ve doğru bir şekilde yansıtıyor.
- Yararlı ve doğru etiketler uyguladınız.
extension.yaml
içinde, kullandığınız tüm Google ve Google dışı API'leri ve uzantınızın yayınladığı tüm etkinlik türlerini beyan etmiş olmanız gerekir.- Yalnızca uzantının çalışması için gerekli olan rollere erişim isteğinde bulunuyorsunuz ve kullanıcılara neden bu tür bir erişime ihtiyacınız olduğunu açıkça açıklıyorsunuz.
- Kaynak dosyalarınızın
Apache-2.0
şartları kapsamında açıkça lisanslanmış olması gerekir.
Yüklenen ve yayınlanan uzantıları yönetme
Yüklediğiniz uzantıları listeleme
Yüklediğiniz uzantıları yayıncı kimliğiniz altında listelemek için aşağıdakilerden birini yapın:
Yayıncı kontrol paneli
Bu bilgileri 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
Bir noktada uzantınızın eski bir sürümünün desteğini sonlandırmak isteyebilirsiniz. Örneğin, kritik bir hatayı düzelten veya önemli bir güvenlik güncellemesiyle bağımlılığı güncelleyen yeni bir sürüm yayınlarsanız yeni kullanıcıların eski bir sürümü yüklemesini engellemek ve mevcut kullanıcıları yükseltmeye teşvik etmek önemlidir.
Bir uzantı sürümünün desteğini sonlandı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ğini sonlandırmak istediğiniz sürümü seçin.
- Sürüm 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 bir sürüm aralığı belirtebilirsiniz. Örnekler:
1.0.2
1.1.0-1.1.7
<1.2.0
1.1.*
Bir uzantının desteği sonlandırılan 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, yükseltme yapmalarını teşvik eden bir mesaj görür. Bu kullanıcılar, bu süre zarfında uzantıyı kullanmaya ve yeniden yapılandırmaya devam edebilir.
Bir uzantının her sürümü kullanımdan kaldırılırsa uzantı kullanımdan kaldırılmış olarak kabul edilir ve Uzantı Merkezi'nden kaldırılır. Kullanımdan kaldırılan bir uzantının yeni sürümünü yüklediğinizde otomatik olarak inceleme başlatılır ve kabul edildikten sonra uzantı, Uzantı Merkezi'nde tekrar yayınlanır.
Kullanımdan kaldırma işlemini geri almak için yayıncı kontrol panelini kullanın veya Firebase CLI'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ç, kaynak kodunuzu aşağıdaki işlemi kullanarak oluşturur:
GitHub deponuzu kopyalar ve belirtilen kaynak referansını kullanır.
npm clean-install
komutunuextension.yaml
içinde belirtilen her işlev kaynak dizininde çalıştırarak NPM bağımlılıklarını yükler (Cloud Functions kaynakları bölümündekisourceDirectory
'ye bakın).Aşağıdakileri göz önünde bulundurun:
Her
package.json
dosyasının karşılık gelen birpackage-lock.json
dosyası olmalıdır. Daha fazla bilgi için npm-ci sayfasına 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 yeniden düzenleyin.
npm run build
komutunuextension.yaml
içinde belirtilen her işlev kaynağı dizininde çalıştırarak kodunuzu oluşturur.
Paylaşılacak nihai 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 hatasız şekilde tekrarlayın, ardından tekrar yüklemeyi deneyin.