Uzantınızı yayınlama

Bu sayfada Extensions Hub'da bir uzantıyı nasıl yayınlayabileceğiniz açıklanmaktadır.

Sen başlamadan önce

Bir uzantı yayınlamak için öncelikle uzantı yayıncısı olarak kaydolmanız gerekir.

Doğrulanabilir kaynaklar

Extensions Hub'da yayınlanan tüm uzantıların herkese açık olarak doğrulanabilir bir kaynağa sahip olması gerekir. Uzantı kaynak kodunuzu doğrudan Extensions Hub'a yüklemek yerine, kaynak konumunu belirtirsiniz; Extension Hub onu indirip oradan oluşturur.

Şu anda bu, uzantı kaynak kodunuzu herkese açık bir GitHub deposunda kullanılabilir hale getirmek anlamına geliyor.

Doğrulanabilir bir kaynaktan yükleme yapmanın çeşitli avantajları vardır:

  • Kullanıcılar yüklenecek uzantının spesifik revizyonunun kaynak kodunu inceleyebilir.
  • Devam eden çalışmaları veya geliştirme aşamasından kalan başıboş dosyaları değil, yalnızca yüklemeyi planladığınız şeyleri 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ümlerini yüklemeyi destekler; bu, uzantılarınızı ve uzantı yükleme sürecini, bunların sonunda yayınlanacakları ortamda test etmenizi kolaylaştırır.

Bu yetenek 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ızla 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ü Extensions Hub'a yükleyin (aşağıya bakın). Daha geniş kapsamlı testler için kurulum bağlantısını dağıtın ve gerektiği şekilde daha fazla yayın öncesi sürüm yükleyerek yineleyin.

  4. Son, kararlı sürümü Extensions Hub'a yükleyin (aşağıya bakın) ve inceleme için gönderin. Uzantı incelemeyi geçerse Extension Hub'da yayınlanacaktır.

  5. extension.yaml dosyasındaki 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 bir uzantı yükleyin

Bir uzantıyı ilk kez yüklemek için:

  1. İsteğe bağlı : Kodunuzu genel GitHub deposuna kaydedin.

  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ısında aşağıdakileri belirtirsiniz:

    • Kaydettiğiniz yayıncı kimliği.

    • Uzantıyı tanımlayacak 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 isteyecektir:

    • 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 havuzun birden fazla uzantı içerebileceğini unutmayın.

        İlk kez yeni bir uzantı yüklediğinizde depo, uzantınızın standart kaynağı olarak kaydedilecektir.

      • Depodaki uzantınızı içeren dizin.

      • Uzantı sürümü kaynağınızı oluşturmak istediğiniz taahhüdün Git referansı. Bu bir taahhüt 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üklemesi için yayın öncesi 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şama, Extensions Hub'da yayınlanacak genel yayınlar için kullanılır. stable bir sürümün yüklenmesi otomatik olarak bir inceleme başlatır ve inceleme başarılı olursa uzantı yayınlanır.

    Sürüm numarası belirtmediğinize dikkat edin; bu değer extension.yaml dosyasından gelir. Yayın öncesi bir uzantı sürümünü yüklediğinizde aşama ve yükleme numarası sürüme eklenir. Örneğin, extension.yaml 1.0.1 sürümünü belirtirse ve bir sürüm adayı yüklerseniz bu, 1.0.1-rc.0 sürümüyle sonuçlanır; aynı sürüme ait başka bir sürüm adayının yüklenmesi, sayıyı otomatik olarak artıracak ve 1.0.1-rc.1 ile sonuçlanacaktır, vb.

Artık uzantının yayın öncesi sürümünü yüklediğinize göre, onu test amacıyla başkalarıyla paylaşabilirsiniz. Kullanıcılar uzantınızı iki yoldan biriyle yükleyebilir:

  • Konsol ile : Kullanıcılar aşağıdaki formattaki bir bağlantıya tıklayarak uzantıyı yükleyebilirler:

    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ükleyin

Bir uzantının ilk sürümünü yükledikten sonra sorunları düzeltmek, özellikler eklemek veya yayın aşamasını ilerletmek için güncellemeleri 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.

Bir güncelleme yüklemek için:

  1. İsteğe bağlı : Kodunuzu genel Git deposuna kaydedin.

  2. Firebase CLI'nin ext:dev:upload komutunu çalıştırın:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Bu sefer GitHub deposunu veya uzantı kök dizinini, uzantınız için zaten yapılandırılmış olduklarından belirtmeniz istenmeyecektir. O zamandan beri depo yapınızı yeniden düzenlediyseniz veya yeni bir depoya geçiş yaptıysanız, bunları --root ve --repo komut argümanlarıyla değiştirebilirsiniz.

    Yerel kaynak

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

Yayınlanmak üzere bir uzantı gönderin

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

  1. Kodunuzu genel bir Git deposuna kaydedin. (Kamuya açık yayınlar için gereklidir.)

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

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. Uzantınızın bir sürümünü daha önce 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 Extensions Hub'da Yayınla'yı tıklayın.

Gönderildikten sonra inceleme birkaç gün sürebilir. Kabul edilirse uzantı Extensions Hub'da yayınlanacaktır. Reddedilirse nedenini açıklayan bir mesaj alırsınız; daha sonra bildirilen sorunları çözebilir ve inceleme için yeniden gönderebilirsiniz.

İncelemeyi hızlandırmak ve ilk denemede geçme şansınızı artırmak için, göndermeden önce aşağıdakileri bir kez daha kontrol edin:

  • Uzantınızı ve yükleme sürecini kapsamlı bir şekilde test ettiniz.
  • Belgeleriniz tam ve doğrudur ve Firebase konsolunda iyi bir şekilde işlenmektedir.
  • 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ı açık ve doğru bir şekilde temsil eder.
  • 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 dosyasında beyan ettiniz.
  • Yalnızca uzantının çalışması için gerekli olan rollere erişim talep ediyorsunuz ve kullanıcılara neden bu tür bir erişime ihtiyaç duyduğunuzu açıkça açıkladınız.
  • Kaynak dosyalarınız Apache-2.0 koşulları kapsamında açıkça lisanslanmıştır.

Yüklenen ve yayınlanan uzantıları yönetin

Yüklediğiniz uzantıları listeleyin

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

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üleyin

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

Bir uzantının sürümünü kullanımdan kaldırma

Bir noktada uzantınızın eski bir sürümünü kullanımdan kaldırmak isteyebilirsiniz. Örneğin, kritik bir hatayı düzelten veya bir bağımlılığı önemli bir güvenlik güncelleştirmesiyle 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 ayrıntılar görünümünü açmak için uzantıyı tıklayın.
  2. Kullanımdan kaldırmak istediğiniz sürümü seçin.
  3. Sürümü kaldı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 kullanımdan kaldırılmış sürümleri, Extensions Hub'da listelenmez ve yüklenemez. Projelerinde kullanımdan kaldırılmış bir sürüm yüklü olan kullanıcılar, onları yükseltmeye teşvik eden bir mesaj görecektir; bu arada uzantıyı kullanmaya ve yeniden yapılandırmaya devam edebilirler.

Bir uzantının tüm sürümleri kullanımdan kaldırılmışsa, uzantının kullanımdan kaldırıldığı kabul edilir ve Uzantı Merkezi'nden kaldırılır. Kullanımdan kaldırılmış bir uzantının yeni bir sürümünün yüklenmesi, otomatik olarak bir inceleme başlatır ve kabul edildikten sonra Uzantı Merkezi'nde bir kez daha yayınlanır.

Kullanımdan kaldırma işlemini 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ında sorun giderme

Uzantınızı yüklediğinizde, arka uç öncelikle aşağıdaki işlemi kullanarak kaynak kodunuzu oluşturur:

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

  2. extension.yaml dosyasında belirtilen her işlev kaynak dizininde npm clean-install komutunu çalıştırarak NPM bağımlılıklarını yükler ( Cloud Function Resources'taki sourceDirectory bakın).

    Aşağıdakilere dikkat et:

    • Her package.json dosyasının karşılık gelen bir package-lock.json dosyası olması gerekir. Daha fazla bilgi için bkz . npm-ci .

    • Bağımlılık kurulumu sırasında kurulum sonrası komut dosyaları çalıştırılmayacaktır. Kaynak kod derlemeniz kurulum sonrası komut dosyalarına dayanıyorsa yüklemeden önce onu yeniden düzenleyin.

  3. extension.yaml dosyasında belirtilen her işlev kaynağı dizininde npm run build komutunu çalıştırarak kodunuzu oluşturur.

Paylaşılacak son uzantı paketine yalnızca uzantınızın kök dizini kaydedilecektir.

Uzantınızı yüklerken derleme hataları alırsanız, hiçbir hata kalmayana kadar yukarıdaki derleme adımlarını yeni bir dizinde yerel olarak tekrarlayın ve ardından yüklemeyi tekrar deneyin.