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

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:

  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. Uzatma incelemeyi geçerse 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

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'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 ve rc (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üklerseniz 1.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 da 1.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:

  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ınlanmak üzere uzantı gönderme

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

  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, 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:

  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ına karşılık gelen bir package-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.

  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.