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 Extensions Hub, możesz podać lokalizację źródłową, a Extensions Hub go pobierze i zbuduje.

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

Przesyłanie zweryfikowanego ź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 przesyłasz tylko to, co chcesz przesłać, a nie np. pliki w toku lub przypadkowe pliki pozostałe z programu.

Zalecany cykl programowania

Narzędzia programistyczne rozszerzeń Firebase umożliwiają przesyłanie wersji przedpremierowych rozszerzeń, co ułatwia testowanie rozszerzeń i procesu ich instalacji w tym samym środowisku, w którym zostaną ostatecznie opublikowane.

Ta funkcja umożliwia cykl rozwoju, który wygląda tak:

  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). Udostępnij link do instalacji, aby umożliwić szersze testowanie, i w razie potrzeby prześlij więcej 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 w Centrum rozszerzeń.

  5. Zwiększ numer wersji w extension.yaml i powtórz ten cykl dla kolejnej wersji rozszerzenia.

Prześlij nowe rozszerzenie

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 podajesz te informacje:

    • Zarejestrowany identyfikator wydawcy.

    • Ciąg tekstowy identyfikujący rozszerzenie. Nazwij rozszerzenia w takim formacie: firebase-product-description-of-tasks-performed. Na 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 repozytorium może zawierać wiele rozszerzeń, o ile każde z nich ma unikalny katalog główny.

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

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

      • Odniesienie do Git powiązane z komitowanym kodem, na podstawie którego chcesz skompilować źródło wersji rozszerzenia. Może to być hasz zatwierdzenia, tag lub nazwa gałęzi.

    • Etap publikowania przesyłanej wersji.

      Etapy alpha, beta i rc (kandydat do wersji) służą do przesyłania przedpremierowych wersji do zainstalowania przez testerów. 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, itd.

Po przesłaniu wersji przedpremierowej rozszerzenia możesz udostępnić je innym osobom do przetestowania. Użytkownicy mogą zainstalować rozszerzenie na 2 sposoby:

  • Za pomocą konsoli: użytkownicy mogą zainstalować rozszerzenie, klikając link w 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 ciąg znaków identyfikatora rozszerzenia 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. Gdy prześlesz nową wersję, użytkownicy, którzy mają zainstalowaną starszą wersję Twojego rozszerzenia, zostaną poproszeni w konsoli Firebase o przejście na nowszą wersję.

Aby przesłać aktualizację:

  1. Opcjonalnie: zatwierdzić kod w publicznym 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 pojawi się prośba o wskazanie repozytorium GitHub ani katalogu głównego rozszerzenia, ponieważ zostały one już skonfigurowane dla Twojego rozszerzenia. Jeśli od tego czasu zmodyfikowałeś strukturę repozytorium lub przeniosłeś je do nowego repozytorium, możesz zmienić te argumenty za pomocą argumentów --root--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 będzie 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, podając stable jako etap wydania:

    firebase ext:dev:upload your_publisher_id/your_extension_id
  3. Jeśli wersja rozszerzenia została już opublikowana, przesłanie nowej stabilnej wersji spowoduje automatyczne przesłanie rozszerzenia do sprawdzenia.

    Jeśli przesłałeś(-aś) pierwszą stabilną wersję rozszerzenia, znajdź je na panelu wydawcy i kliknij Opublikuj w Centrum rozszerzeń.

Weryfikacja może potrwać kilka dni od momentu przesłania. Jeśli zostanie zaakceptowane, zostanie opublikowane w Centrum rozszerzeń. Jeśli aplikacja zostanie odrzucona, otrzymasz wiadomość z wyjaśnieniem przyczyny. Następnie możesz rozwiązać zgłoszone problemy i ponownie przesłać aplikację do sprawdzenia.

Aby przyspieszyć proces weryfikacji i zwiększyć szanse na pozytywny wynik za pierwszym razem, przed przesłaniem sprawdź te kwestie:

  • dokładnie przetestować rozszerzenie i proces instalacji;
  • Twoja dokumentacja jest kompletna i poprawna oraz dobrze się renderuje w konsoli Firebase.
  • Nazwa i marka wydawcy jasno i dokładnie identyfikują Cię jako wydawcę.
  • Nazwa, opis i ikona rozszerzenia muszą wyraźnie i dokładnie przedstawiać jego przeznaczenie.
  • Zastosowano pomocne i dokładne tagi.
  • extension.yaml musisz zadeklarować wszystkie interfejsy API Google i innych firm, których używasz, oraz wszystkie typy zdarzeń emitowanych przez Twoje rozszerzenie.
  • Prosisz o przyznanie dostępu tylko do ról niezbędnych do działania rozszerzenia i jasno wyjaśniłeś 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 sprawdzić wykorzystanie rozszerzeń przesłanych z Twoim identyfikatorem wydawcy, wykonaj jedną z tych czynności:

Panel wydawcy

Panel wydawcy zawiera skumulowane dane o użytkowaniu wszystkich rozszerzeń oraz dane poszczególnych rozszerzeń.

wiersz poleceń Firebase

Uruchom polecenie ext:dev:usage:

firebase ext:dev:usage your_publisher_id

Wycofanie wersji rozszerzenia

Może się zdarzyć, że zechcesz wycofać starszą wersję rozszerzenia. Jeśli na przykład udostępnisz nową wersję, która zawiera poprawkę krytycznego błędu lub ważną aktualizację zabezpieczeń, nie pozwól nowym użytkownikom instalować starej wersji i zachęć obecnych użytkowników do uaktualnienia aplikacji.

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

Panel wydawcy

  1. Na panelu wydawcy kliknij rozszerzenie, aby otworzyć widok 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 podać jedną 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ą wyświetlane w Centrum rozszerzeń i nie można ich zainstalować. Użytkownicy, którzy mają zainstalowaną przestarzałą wersję, zobaczą komunikat zachęcający do jej zaktualizowania. W tym czasie nadal będą mogli używać rozszerzenia i je ponownie konfigurować.

Jeśli wszystkie wersje rozszerzenia są wycofane, rozszerzenie jest uważane za wycofane i zostanie usunięte z Centrum rozszerzeń. Przesłanie nowej wersji wycofanego rozszerzenia spowoduje automatyczne sprawdzenie i opublikowanie go ponownie w centrum rozszerzeń po zaakceptowaniu.

Aby cofnąć wycofanie, użyj panelu wydawcy lub uruchom w interfejsie wiersza poleceń Firebase polecenie ext:dev:undeprecate:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

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

Gdy przesyłasz rozszerzenie, backend najpierw kompiluje kod źródłowy, korzystając z tego procesu:

  1. Kopiuje repozytorium GitHub i sprawdza podane odwołanie źródłowe.

  2. Instaluje zależności NPM, uruchamiając npm clean-install w każdym katalogu źródeł funkcji określonym w extension.yaml (patrz sourceDirectory w Zasobach funkcji Cloud Functions).

    Pamiętaj:

    • Każdy plik package.json musi mieć odpowiadający mu plik 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 poinstalacyjnych, przed przesłaniem zmodyfikuj ją.

  3. Tworzy kod, uruchamiając polecenie npm run build w każdym katalogu źródłowym funkcji podanym w extension.yaml.

W ostatecznym pakiecie rozszerzenia, który zostanie udostępniony, zapisany zostanie tylko katalog główny rozszerzenia.

Jeśli podczas przesyłania rozszerzenia wystąpią błędy kompilacji, powtórz powyższe kroki kompilacji lokalnie w nowym katalogu, aż nie będzie żadnych błędów, a potem spróbuj przesłać ponownie.