Opublikuj rozszerzenie

Z tej strony dowiesz się, jak opublikować rozszerzenie w Centrum rozszerzeń.

Zanim zaczniesz

Aby opublikować rozszerzenie, musisz najpierw zarejestrować się jako wydawca rozszerzeń.

wiarygodne źródła;

Wszystkie rozszerzenia opublikowane w Extensions Hub muszą mieć publicznie weryfikowalne źródło. Zamiast przesyłać kod źródłowy rozszerzenia bezpośrednio do rozszerzeń Centrum rozszerzeń, musisz zamiast tego określić lokalizację źródłową, a Centrum rozszerzeń ją pobierze. i na tej podstawie stworzymy rozwiązanie.

Obecnie oznacza to udostępnienie kodu źródłowego rozszerzenia w publicznym repozytorium GitHub.

Przesyłanie z możliwego do zweryfikowania źródła ma kilka zalet:

  • Użytkownicy mogą sprawdzić kod źródłowy konkretnej wersji rozszerzenia, która zostanie zainstalowana.
  • Możesz mieć pewność, że prześlesz tylko to, co chcesz, a nie np. w trakcie opracowywania lub w przypadku niepotrzebnych plików.

Zalecany cykl programowania

Narzędzia dla programistów Rozszerzeń w Firebase obsługują przesyłanie przedpremierowych wersji o rozszerzeniach, co ułatwia testowanie instalacji rozszerzenia w tym samym środowisku, w którym zostaną ostatecznie wydane.

Ta funkcja umożliwia cykl programowania w ten sposób:

  1. Szybko ulepszaj swoje rozszerzenie za pomocą Pakietu emulatorów Firebase.

  2. Przetestuj rozszerzenie w prawdziwym projekcie, instalując je ze źródła lokalnego:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. Prześlij wersję przedpremierową do Centrum rozszerzeń (patrz poniżej). Rozpowszechniaj link instalacyjny, aby przeprowadzić szersze testy, a także iterację, przesyłając więcej materiałów wersji przedpremierowych.

  4. Prześlij ostateczną, stabilną wersję do Centrum rozszerzeń (patrz poniżej) i prześlij ją do sprawdzenia. Jeśli rozszerzenie przejdzie weryfikację, zostanie opublikowane Centrum rozszerzeń.

  5. Zwiększ numer wersji w tabeli extension.yaml i powtórz ten cykl przez na kolejną wersję Twojego rozszerzenia.

Przesyłanie nowego rozszerzenia

Aby przesłać rozszerzenie po raz pierwszy:

  1. Opcjonalnie: zatwierdź kod w publicznym repozytorium GitHub.

  2. Uruchom polecenie ext:dev:upload interfejsu wiersza poleceń Firebase:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Źródło lokalne

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

    W wywołaniu polecenia musisz określić:

    • Zarejestrowany identyfikator wydawcy.

    • Ciąg tekstowy identyfikujący rozszerzenie. Nazwy rozszerzeń muszą mieć format: firebase-product-description-of-tasks-performed. Przykład: firestore-bigquery-export

    Pojawi się prośba o dodatkowe informacje:

    • Jeśli przesyłasz z GitHuba:

      • Adres URL repozytorium rozszerzenia w GitHub. Pamiętaj, że może zawierać wiele rozszerzeń, o ile każde z nich ma i unikalny pierwiastek.

        Gdy po raz pierwszy prześlesz nowe rozszerzenie, repozytorium zostanie zarejestrowane jako źródło kanoniczne rozszerzenia.

      • Katalog w repozytorium, który zawiera Twoje rozszerzenie.

      • Odwołanie do Gita zatwierdzenia, które chcesz utworzyć jako wersję rozszerzenia źródła. Może to być hasz zatwierdzenia, tag lub nazwa gałęzi.

    • Etap wydania wersji, którą przesyłasz.

      Etapy alpha, beta i rc (kandydat do wydania) są przeznaczone do przesyłania wersji przedpremierowych, które testerzy mogą zainstalować. Wybierz jeden z tych etapów do wstępnego przesyłania nowego rozszerzenia.

      Etap stable służy do publikowania wersji publicznych w Centrum rozszerzeń. Przesłanie wersji stable spowoduje automatyczne rozpoczęcie procesu sprawdzania, a jeśli zostanie ono zakończone pomyślnie, rozszerzenie zostanie opublikowane.

    Pamiętaj, że nie musisz podawać numeru wersji – ta wartość pochodzi z pliku extension.yaml. Gdy prześlesz wersję rozszerzenia przedpremierową, do wersji zostanie dołączony etap i numer przesyłania. Jeśli na przykład extension.yaml określa wersję 1.0.1, a prześlesz kandydata do wydania, będzie to wersja 1.0.1-rc.0. Przesłanie kolejnego kandydata do wydania tej samej wersji spowoduje automatyczne zwiększenie liczby o jeden, co da wersję 1.0.1-rc.1, a tak dalej.

Po przesłaniu wersji przedpremierowej rozszerzenia możesz udostępnić je innym osobom do przetestowania. Użytkownicy mogą zainstalować rozszerzenie w jednym z dwóch sposoby:

  • Za pomocą konsoli: użytkownicy mogą zainstalować rozszerzenie, klikając link o tym formacie:

    https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version

    Możesz udostępnić testerom bezpośredni link.

  • Za pomocą interfejsu wiersza poleceń: użytkownicy mogą zainstalować rozszerzenie, przekazując rozszerzenie. Ciąg identyfikatora do polecenia ext:install:

    firebase ext:install your_publisher_id/your_extension_id@version \
        --project=destination_project_id
    

Przesyłanie zaktualizowanej wersji

Po przesłaniu pierwszej wersji rozszerzenia możesz przesyłać aktualizacje, aby rozwiązywać problemy, dodawać funkcje lub przechodzić do kolejnych etapów publikowania. Jeśli prześlesz nową wersję, użytkownicy, którzy mają starszą wersję Twojego zainstalowane rozszerzenie pojawi się w konsoli Firebase z prośbą o uaktualnienie.

Aby przesłać aktualizację:

  1. Opcjonalnie: prześlij kod do publicznego repozytorium Git.

  2. Uruchom polecenie ext:dev:upload w wierszu poleceń Firebase:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Tym razem nie poprosimy Cię o podanie repozytorium GitHub ani w katalogu głównym rozszerzenia, bo został on już skonfigurowany . Jeśli przeprowadzisz refaktoryzację struktury repozytorium lub zostały przeniesione do nowego repozytorium, możesz je zmienić za pomocą polecenia --root i --repo.

    Źródło lokalne

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

Przesyłanie przedłużenia terminu do publikacji

Gdy rozszerzenie jest gotowe do opublikowania publicznie:

  1. Zatwierdź swój kod w publicznym repozytorium Git. (wymagane w przypadku wersji publicznych).

  2. Uruchom polecenie ext:dev:upload w wierszu poleceń Firebase, określając stable jako etap wydania:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. Jeśli masz już opublikowaną wersję rozszerzenia, prześlij nową wersję Wersja stabilna spowoduje automatyczne przesłanie rozszerzenia do sprawdzenia.

    Jeśli przesłana została pierwsza stabilna wersja rozszerzenia, znajdź je w panelu wydawcy i kliknij Opublikuj w Centrum rozszerzeń.

Sprawdzenie może potrwać kilka dni. Jeśli zgłoszenie zostanie zaakceptowane, opublikowano w Centrum rozszerzeń. W przypadku odrzucenia otrzymasz wiadomość z wyjaśnieniem powód; możesz rozwiązać zgłoszone problemy i ponownie przesłać zgłoszenie do sprawdzenia.

Aby przyspieszyć sprawdzanie i zwiększyć swoje szanse na zdanie za pierwszym razem, Dokładnie sprawdź te kwestie:

  • dokładnie przetestować rozszerzenie i proces instalacji;
  • Twoja dokumentacja jest kompletna, poprawna i poprawnie wyświetla się w Firebase konsoli.
  • Nazwa wydawcy i marka jednoznacznie identyfikują Cię jako wydawcę.
  • Nazwa, opis i ikona rozszerzenia jasno i dokładnie wskazują przeznaczenia rozszerzenia.
  • Użyto przydatnych i dokładnych tagów.
  • Wszystkie interfejsy API Google i innych firm, których używasz, zadeklarowano w extension.yaml. i wszystkich typów zdarzeń emitowanych przez rozszerzenie.
  • prośba o dostęp do ról niezbędnych do działania rozszerzenia i jasne wyjaśnienie użytkownikom, dlaczego potrzebujesz takiego dostępu;
  • Twoje pliki źródłowe są wyraźnie objęte licencją na warunkach Apache-2.0.

Zarządzanie przesłanymi i opublikowanymi rozszerzeniami

Wyświetlanie listy przesłanych rozszerzeń

Aby wyświetlić listę rozszerzeń przesłanych pod Twoim identyfikatorem wydawcy, wykonaj jedną z tych czynności:

Panel wydawcy

Możesz je wyświetlić w panelu wydawcy.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:list:

firebase ext:dev:list your_publisher_id

Wyświetlanie wykorzystania przesłanych rozszerzeń

Aby wyświetlić wykorzystanie przesłanych przez siebie rozszerzeń pod identyfikatorem wydawcy:

Panel wydawcy

Panel wydawcy zawiera łączne dane o wykorzystaniu dotyczące wszystkich rozszerzeń i indywidualnych danych dla każdego z nich.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:usage:

firebase ext:dev:usage your_publisher_id

Wycofanie wersji rozszerzenia

W pewnym momencie możesz zdecydować się na wycofanie starej wersji rozszerzenia. Jeśli na przykład wydasz nową wersję, która zawiera poprawkę krytycznego błędu lub ważną aktualizację zabezpieczeń, musisz zablokować możliwość instalowania starszej wersji przez nowych użytkowników i zachęcić obecnych użytkowników do uaktualnienia aplikacji.

Aby wycofać wersję rozszerzenia, wykonaj jedną z tych czynności:

Panel wydawcy

  1. W panelu wydawcy kliknij rozszerzenie, aby otworzyć jego widoku szczegółów.
  2. Wybierz wersję, którą chcesz wycofać.
  3. Kliknij Wycofaj wersję.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:deprecate:

firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
    [--message "deprecation_message"]

Możesz określić 1 wersję lub zakres wersji. Przykłady:

  • 1.0.2
  • 1.1.0-1.1.7
  • <1.2.0
  • 1.1.*

Wycofane wersje rozszerzenia nie są widoczne w Centrum rozszerzeń i nie można Użytkownicy, których projekty mają zainstalowaną wycofaną wersję, zobaczą komunikat zachęcający ich do przejścia na wyższą wersję; użytkownicy nadal mogą używać i ponownie konfigurować do tego czasu.

Jeśli wszystkie wersje rozszerzenia zostały wycofane, rozszerzenie jest brane pod uwagę została wycofana i zostanie usunięta z Centrum rozszerzeń. Przesyłam nową wersję wycofanego rozszerzenia automatycznie rozpocznie jego weryfikację, ponownie opublikujemy go w Centrum rozszerzeń.

Aby cofnąć wycofanie, skorzystaj z panelu wydawcy lub uruchom za pomocą interfejsu wiersza poleceń Firebase Polecenie ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

Załącznik: rozwiązywanie problemów z błędami kompilacji

Gdy prześlesz rozszerzenie, backend najpierw skompiluje kod źródłowy za pomocą parametru następujący proces:

  1. Sklonuj repozytorium GitHub i wyodrębnij wskazane źródło.

  2. Instaluje zależności NPM przez uruchomienie polecenia npm clean-install w każdej funkcji katalog źródłowy określony w extension.yaml (zobacz sourceDirectory w zasobach Cloud Functions).

    Pamiętaj:

    • Każdy plik package.json musi mieć odpowiadającą wartość package-lock.json . Więcej informacji znajdziesz w npm-ci.

    • Skrypty poinstalacyjne nie będą uruchamiane podczas instalacji zależności. Jeśli kompilacja kodu źródłowego opiera się na skryptach występujących po instalacji, dokonać ich refaktoryzacji przed przesłaniem.

  3. Kompiluje kod, uruchamiając npm run build w każdym katalogu kodu źródłowego funkcji określonym w extension.yaml.

Tylko katalog główny rozszerzenia zostanie zapisany w ostatecznym rozszerzeniu który zostanie udostępniony.

Jeśli podczas przesyłania rozszerzenia wystąpią błędy kompilacji, powtórz opisane powyżej czynności na potrzeby kompilacji lokalnie w nowym katalogu, aż nie pojawią się żadne błędy, a następnie spróbuj przesłać rozszerzenie ponownie.