Uzantınızı yayınlayın

Bu sayfada, Uzantı Merkezi'nde nasıl uzantı yayınlayabileceğiniz açıklanmaktadır.

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üklenmez.

Ö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 sonunda yayınlanacakları ortamda kolayca test edebilirsiniz.

Bu özellik, aşağıdaki gibi bir geliştirme döngüsünü mümkün kılar:

  1. Firebase Emulator Suite'i kullanarak uzantınızı geliştirin ve hızlı bir şekilde yineleyin.

  2. Uzantınızı yerel kaynaktan yükleyerek gerçek bir projede test edin:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
  3. 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.

  4. 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.

  5. 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:

  1. İsteğe bağlı: Kodunuzu herkese açık bir GitHub deposuna gönderin.

  2. 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ü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.

        İ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 taahhüdün Git referansı. Bu, bir commit karması, etiket veya dal adı olabilir.

    • Yüklediğiniz sürümün yayın aşaması.

      alpha, beta ve rc (sürüm 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ı, herkese açık sürümlerin Extensions Hub'da yayınlanması 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üm 1.0.1-rc.0 olur. Aynı sürümün başka bir yayın adayını yüklediğinizde sayı otomatik olarak artar ve 1.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ın 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:

  1. İsteğe bağlı: Kodunuzu herkese açık bir Git kod deposuna kaydedin.

  2. 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 zaten yapılandırılmıştır. 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ınızı herkese açık olarak yayınlamaya hazır olduğunuzda:

  1. Kodunuzu herkese açık bir Git kod deposuna kaydedin. (Herkese açık sürümler için gereklidir.)

  2. Firebase CLI'nın ext:dev:upload komutunu çalıştırın ve yayın aşaması olarak stable değerini belirtin:

    firebase ext:dev:upload your_publisher_id/your_extension_id
  3. Daha önce uzantınızın bir sürümünü yayınladıysanız yeni bir kararlı sürümün yüklenmesi, uzantının otomatik olarak incelemeye gönderilmesine neden olur.

    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ı giderip 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 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.yaml 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 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ıştı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_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ı sürümünün desteğini sonlandı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

  1. Yayıncı kontrol panelinde uzantıyı tıklayarak ayrıntılar görünümünü açın.
  2. Desteğini sonlandırmak istediğiniz sürümü seçin.
  3. 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.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 tüm sürümleri kullanımdan kaldırılırsa uzantı da 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:

  1. GitHub deponuzu kopyalar ve belirtilen kaynak referansını kullanır.

  2. npm clean-install komutunu extension.yaml içinde belirtilen her işlev kaynak dizininde çalıştırarak NPM bağımlılıklarını yükler (Cloud Function kaynakları bölümündeki sourceDirectory'ye bakın).

    Aşağıdakileri göz önünde bulundurun:

    • Her package.json dosyasının karşılık gelen bir package-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 bağlıysa yüklemeden önce yeniden düzenleyin.

  3. npm run build komutunu extension.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.