Uzantınızı yayınlayın

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

Uzantı Merkezi'nde yayınlanan tüm uzantıların herkese açık olarak 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 belirli bir 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:

  1. Firebase Emulator Suite'i kullanarak uzantınızı geliştirin ve hızlıca iterasyon yapın.

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

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

  4. Son kararlı sürümü Uzantılar Merkezi'ne (aşağıya bakın) yükleyin ve incelenmesi için gönderin. İncelemeyi geçen uzantılar Uzantı Merkezi'nde yayınlanır.

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

İlk kez uzantı yüklemek için:

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

  2. 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ğırmanızda şunları belirtirsiniz:

    • Kayıt ettiğiniz 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. Ö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.

        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 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 ön 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ş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ü belirtirse ve bir sürüm adayı yüklerseniz sürüm 1.0.1-rc.0 olur; aynı sürümün başka bir sürüm adayı yüklendiğinde sayı otomatik olarak artar ve sürüm 1.0.1-rc.1 olur.

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:

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

  2. 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ın için ek süre isteğinde bulunma

Uzantılarınızı herkese açık olarak yayınlamaya hazır olduğunuzda:

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

  2. Sürüm aşaması olarak stable'yi belirterek Firebase CLI'nin ext:dev:upload komutunu çalıştırın:

    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 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. Başvurunuz reddedilirse bunun nedenini açıklayan bir mesaj alırsınız. Bildirilen sorunları giderip incelenmek üzere yeniden gönderebilirsiniz.

İncelemenin hızlandırılması ve ilk denemede geçme şansınızın artırılması için göndermeden önce aşağıdakileri tekrar 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 uygulamışsınızdır.
  • 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 isteğinde bulunuyor ve kullanıcılara bu tür erişime neden ihtiyaç duyduğunuzu açıkça belirtmişsinizdir.
  • 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

Bu raporları 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

  1. Yayıncı kontrol panelinde uzantıyı tıklayarak ayrıntılar görünümünü açın.
  2. Desteği sonlandırmak istediğiniz sürümü seçin.
  3. 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, yükseltme yapmalarını teşvik eden bir mesaj görür. Bu süreçte 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 kabul edildikten sonra uzantı, Uzantı Merkezi'nde tekrar yayınlanır.

Desteği sonlandırılan bir özelliği tekrar etkinleştirmek 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ı yüklediğinizde arka uç, kaynak kodunuzu oluşturmak için aşağıdaki süreci uygular:

  1. GitHub deponuzu kopyalar ve belirtilen kaynak referansını kontrol eder.

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

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

    • Her package.json dosyasında 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ükleme 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.

  3. extension.yaml içinde belirtilen her işlev kaynak dizininde npm 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.