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 Uzantı Merkezi'ne yüklemek yerine kaynak konumunu belirtirsiniz. Uzantı 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ü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 dosyaları 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/extensionfirebase deploy --only extensionsYayı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.yamliç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 işleyin.
Firebase CLI'nın
ext:dev:uploadkomutunu çalıştırın:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_idYerel kaynak
cd /path/to/extensionfirebase ext:dev:upload your_publisher_id/your_extension_id --localKomut ç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, ek bilgi girmenizi 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,betaverc(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.stableaşaması, Uzantı Merkezi'nde yayınlanacak herkese açık sürümler için kullanılır.stablesü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 unutmayın. Bu değer,
extension.yamldosyası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.yamlsürüm 1.0.1'i belirtiyorsa ve yayın adayı yüklerseniz sürüm1.0.1-rc.0olur. Aynı sürümün başka bir yayın adayını yüklediğinizde sayı otomatik olarak artar ve1.0.1-rc.1olur.
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:installkomutuna 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 kaydedin.
Firebase CLI'nın
ext:dev:uploadkomutunu çalıştırın:GitHub
firebase ext:dev:upload your_publisher_id/your_extension_idBu kez, GitHub deposunu veya uzantı kök dizinini belirtmeniz istenmez. Çünkü bunlar uzantınız için zaten yapılandırılmıştır. Depo yapınızı yeniden düzenlediyseniz veya yeni bir depoya taşıdıysanız
--rootve--repokomut bağımsız değişkenleriyle bunları değiştirebilirsiniz.Yerel kaynak
cd /path/to/extensionfirebase 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 kod deposuna kaydedin. (Herkese açık sürümler için gereklidir.)
Firebase CLI'nın
ext:dev:uploadkomutunu çalıştırın ve yayın aşaması olarakstabledeğerini belirtin:firebase ext:dev:upload your_publisher_id/your_extension_idDaha ö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ı bulup Uzantı Merkezi'nde yayınla'yı tıklayın.
Gönderildikten sonra inceleme 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ı giderebilir ve inceleme için yeniden gönderebilirsiniz.
İnceleme sürecini hızlandırmak ve ilk denemede geçme ş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 açık 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.
- Kullandığınız tüm Google ve Google dışı API'leri
extension.yamlve 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 bu tür bir erişime neden ihtiyacınız olduğunu açıkça açıklıyorsunuz.
- Kaynak dosyalarınız,
Apache-2.0şartları kapsamında açıkça lisanslanmış olmalıdır.
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_idYü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_idUzantı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 sürüm aralığı belirtebilirsiniz. Örnekler:
1.0.21.1.0-1.1.7<1.2.01.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 süre zarfında uzantıyı kullanmaya ve yeniden yapılandırmaya devam edebilirler.
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-installkomutunuextension.yamliçinde belirtilen her işlev kaynak dizininde çalıştırarak NPM bağımlılıklarını yükler (sourceDirectorybölümündeki Cloud Functions kaynakları'na bakın).Aşağıdakileri göz önünde bulundurun:
Her
package.jsondosyasının karşılık gelen birpackage-lock.jsondosyası 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 buildkomutunuextension.yamliç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.