Pliki APK i utwory

Interfejs Google Play Developer API umożliwia przesyłanie nowych plików APK aplikacji i udostępnianie ich na różnych ścieżkach. Umożliwia to wdrażanie wersji alfa i beta aplikacji, które są udostępniane zatwierdzonym użytkownikom. Umożliwia to też wdrożenie wersji wdrażanej etapami, która jest automatycznie udostępniana niewielkiej liczbie użytkowników aplikacji. Po opublikowaniu wersji wdrażanej etapowo możesz stopniowo zwiększać liczbę użytkowników, którzy ją otrzymają, aż w końcu wdrożysz ją jako wersję „produkcyjną”.

Dodawanie i modyfikowanie plików APK

  1. Prześlij co najmniej 1 plik APK, wywołując metodę Edits.apks: upload.

    Ta metoda przesyła plik APK do „zasobnika” pamięci, gdzie można go przypisać do „ścieżki”, aby wdrożyć go u użytkowników. (Jeśli zmiana zostanie usunięta lub odrzucona, wszystkie przesłane w jej ramach pakiety APK również zostaną utracone).

  2. Publikuj pliki APK na „ścieżkach”, wywołując Edits.tracks: update. Pliki APK możesz publikować na tych ścieżkach:

    • Ścieżki testów, takie jak "alpha""beta"

      Wersje alfa i beta aplikacji są wdrażane na urządzeniach użytkowników, których przypiszesz do grup testów alfa i beta. Użytkowników możesz przypisywać do tych grup w Konsoli Google Play.

    • Ścieżka testu wewnętrznego: "qa"

      Wewnętrzne wersje aplikacji są wdrażane na ścieżce testów wewnętrznych skonfigurowanej w Konsoli Google Play.

    • Ścieżka produkcyjna: "production"

      Wersje na ścieżce „produkcyjnej” są wdrażane dla wszystkich użytkowników. Możesz korzystać z wdrażania etapowego na ścieżce „produkcyjnej”, aby bezpiecznie wdrożyć wersję najpierw u niewielkiego odsetka użytkowników produkcyjnych, a potem stopniowo zwiększać ten odsetek w miarę wzrostu zaufania do wersji.

    Użytkownicy trybu prostego nie powinni umieszczać więcej niż jednego pliku APK na żadnej ścieżce. Użytkownicy trybu zaawansowanego, którzy korzystają z obsługi wielu plików APK, mogą przesyłać na każdą ścieżkę zero, jeden lub więcej plików APK.

Nazwa ścieżki dla ścieżek formatu

Nazwa ścieżki dla ścieżki typu form factor ma określony identyfikator jako przedrostek.

Format Prefiks
System operacyjny Android Automotive motoryzacja
Wear OS Wear
Android TV telewizor
Android XR android_xr
Gry Google Play na PC google_play_games_pc

Jak obliczyć nazwę ścieżki dla danego formatu?

Typowe ścieżki, takie jak ścieżka produkcyjna, testów otwartych i testów wewnętrznych, mają dobrze znaną nazwę.

Typ śledzenia Domyślna nazwa ścieżki
Produkcja produkcja
Testy otwarte beta
Testy wewnętrzne qa

Nazwę ścieżki dla danego formatu można obliczyć w ten sposób:"[prefix]:defaultTrackName". Na przykład format Wear OS będzie miał ścieżki o nazwach: "wear:production", "wear:beta""wear:qa".

Ścieżki testów zamkniętych są tworzone ręcznie i mają niestandardowe nazwy. Ścieżka testów zamkniętych dla urządzenia o nazwie $name będzie miała nazwę "[prefix]:$name".

Przykład przepływu pracy APK

W tej sekcji opisujemy typowy sposób korzystania z interfejsu Tracks API. W tym przypadku zakładamy, że chcesz przesłać nowe wersje pliku APK na każdą ścieżkę i przypisać liczbę użytkowników, którzy będą otrzymywać wersję wdrażaną etapowo. (W praktyce deweloper raczej nie wykona wszystkich tych działań w ramach jednej operacji. Zamiast tego może na przykład zaktualizować wersję beta jednego dnia, utworzyć wdrożenie etapowe w wersji „produkcyjnej” innego dnia itd.).

  1. Otwórz nową edycję zgodnie z instrukcjami w artykule Przepływ pracy związany z edytowaniem.
  2. Wywołaj metodę Edits.apks: upload dla każdego pliku APK, który chcesz przesłać. Przekaż plik APK w treści żądania metody. (Spowoduje to umieszczenie pliku APK w obszarze pamięci, ale nie opublikuje go na ścieżce ani nie wdroży). Metoda zwraca kod wersji każdego przesłanego pliku APK. Będziesz używać tego kodu wersji, aby odwoływać się do pliku APK podczas publikowania go na ścieżce.
  3. Wywołaj metodę Edits.tracks: update w przypadku każdej ścieżki, na której chcesz opublikować pliki APK. W treści żądania przekaż zasób Edits.tracks zawierający wersję, którą chcesz wdrożyć. Na przykład, aby opublikować plik APK z kodem wersji 88:

    { "releases": [{   "versionCodes": ["88"],   "status": "completed" }] }

    Na tym etapie pliki APK nie są jeszcze dostępne dla użytkowników. Podobnie jak w przypadku innych zmian, nie zostaną one opublikowane, dopóki ich nie zatwierdzisz.

  4. Aby zatwierdzić zmiany, wywołaj metodę Edits: commit. Gdy to zrobisz, użytkownicy na każdej ścieżce otrzymają zaktualizowaną wersję pliku APK. (Podobnie jak w przypadku wszystkich zmian, zastosowanie zmian może potrwać kilka godzin).

Wdrażanie etapowe

Jeśli masz nową wersję pakietu APK, którą chcesz wdrożyć stopniowo, możesz ją opublikować jako wersję „wdrażaną etapami”. Jeśli to zrobisz, Google Play automatycznie wdroży ją na wybraną przez Ciebie część użytkowników aplikacji. Jeśli z „wdrażanym” plikiem APK nie ma żadnych problemów (np. nie powoduje on awarii), możesz zwiększyć odsetek użytkowników, którzy otrzymają tę wersję. Gdy będziesz gotowy, możesz wdrożyć ten plik APK jako nową wersję produkcyjną.

W tej sekcji opisujemy, jak przeprowadzić etapowe wdrażanie pliku APK, a następnie przenieść go do wersji produkcyjnej:

  1. Utwórz edycję zgodnie z opisem w sekcji Przepływ pracy dotyczący edycji.

  2. Prześlij nowy pakiet APK do edycji, korzystając z metody Edits.apks: upload.

  3. Rozpocznij wdrażanie etapowe "inProgress" na ścieżce produkcyjnej, korzystając z metody Edits.tracks: update. Wybierz ułamek użytkowników, którzy mają otrzymać nowy plik APK. Na tym etapie plik APK nie jest jeszcze dostępny dla użytkowników.

    { "releases": [{   "versionCodes": ["99"],   "userFraction": 0.05,   "status": "inProgress" }] }

  4. Zatwierdź zmiany w aktywnej edycji, wywołując Edits: commit. W ciągu najbliższych kilku godzin nowy plik APK zostanie udostępniony użytkownikom. Wybrana przez Ciebie część użytkowników otrzyma nowy plik APK.

W zależności od powodzenia wdrażania etapowego możesz zwiększyć odsetek użytkowników, którzy mogą otrzymać tę wersję, lub wstrzymać wdrażanie.

Zwiększanie odsetka użytkowników w przypadku wdrażania etapowego

Załóżmy, że wdrażasz wersję etapami i obecnie jest ona dostępna dla 5% użytkowników, jak opisano w poprzedniej sekcji. W tej sekcji dowiesz się, jak zwiększyć ten odsetek, jeśli wdrażanie przebiega prawidłowo:

  1. Utwórz zmianę zgodnie z opisem w sekcji Przepływ pracy związany ze zmianami.

  2. Zmień wdrażanie etapowe "inProgress" na ścieżce produkcyjnej za pomocą metody Edits.tracks: update. Zwiększ odsetek użytkowników, którzy powinni otrzymać nowy plik APK:

    { "releases": [{   "versionCodes": ["99"],   "userFraction": 0.1,   "status": "inProgress" }] }

  3. Zatwierdź zmiany w aktywnej edycji, wywołując Edits: commit. W ciągu najbliższych kilku godzin nowy plik APK zostanie udostępniony użytkownikom. Wybrana przez Ciebie część użytkowników otrzyma nowy plik APK.

Zatrzymywanie wdrażania etapowego

Załóżmy, że wdrażasz aplikację etapami i obecnie jest ona dostępna dla 5% użytkowników, jak opisano w poprzedniej sekcji. W tej sekcji dowiesz się, jak wstrzymać wdrażanie etapowe, jeśli wykryjesz problem:

  1. Utwórz edycję zgodnie z opisem w sekcji Przepływ pracy dotyczący edycji.

  2. Zmień wdrażanie etapowe "inProgress" na ścieżce produkcyjnej za pomocą metody Edits.tracks: update. Ustaw stan na "halted".

    { "releases": [{   "versionCodes": ["99"],   "status": "halted" }] }

  3. Zatwierdź zmiany w aktywnej edycji, wywołując Edits: commit. Wersja nie będzie już dostępna dla nowych użytkowników.

Jeśli później zdecydujesz się wznowić zatrzymaną publikację, możesz to zrobić, przywracając jej stan "inProgress".

Kończenie wdrażania etapowego

Gdy uznasz, że wdrażanie etapowe przebiega prawidłowo i chcesz udostępnić wersję wszystkim użytkownikom, możesz ustawić stan wersji na "completed":

  1. Utwórz edycję zgodnie z opisem w sekcji Przepływ pracy dotyczący edycji.

  2. Zmień wdrażanie etapowe "inProgress" na ścieżce produkcyjnej za pomocą metody Edits.tracks: update. Ustaw stan na "completed".

    { "releases": [{   "versionCodes": ["99"],   "status": "completed" }] }

  3. Zatwierdź zmiany w aktywnej edycji, wywołując Edits: commit. W ciągu najbliższych kilku godzin nowy plik APK zostanie udostępniony użytkownikom. Wybrana przez Ciebie część użytkowników otrzyma nowy plik APK.

Zatrzymywanie ukończonego wdrożenia

Jeśli masz wdrożenie na ścieżce, jak opisano w poprzedniej sekcji, ta sekcja zawiera informacje o tym, jak je wstrzymać w przypadku wykrycia problemu:

  1. Utwórz zmianę zgodnie z opisem w artykule Przepływ pracy dotyczący zmian.

  2. Zmień wersję "completed" na ścieżce produkcyjnej za pomocą metody Edits.tracks: update. Ustaw stan na "halted".

    { "releases": [{   "versionCodes": ["99"],   "status": "halted" }] }

  3. Zatwierdź zmiany w aktywnej edycji, wywołując Edits: commit. Wersja nie będzie już dostępna dla nowych użytkowników ani dla obecnych użytkowników, którzy chcą ją uaktualnić.

Wersja, która zacznie być udostępniana zamiast wersji "completed", będzie poprzednią wersją "completed" na ścieżce, która została opublikowana i nie jest wstrzymana. Pamiętaj, że możesz wstrzymać "completed"wersję na ścieżce tylko wtedy, gdy opublikowano już na niej co najmniej jedną "completed"wersję"completed".

Jeśli zadzwonisz pod numer GetTrack lub ListTracks, gdy wersja "completed" jest wstrzymana, „wersja rezerwowa” pojawi się jako ukończona wersja na ścieżce, na której wcześniej wstrzymano wersję "completed".

Jeśli na przykład masz początkową ścieżkę alpha, która wygląda tak:

{   "track": "alpha",   "releases": [     {       "name": "2 (2.0)",       "versionCodes": [         "2"       ],       "status": "completed"     }   ] } 

i zakończysz "completed" publikację, wykonując czynności opisane w tej sekcji, wywołanie GetTrack dla ścieżki alpha zwróci mniej więcej taki wynik:

{   "track": "alpha",   "releases": [     {       "name": "2 (2.0)",       "versionCodes": [         "2"       ],       "status": "halted"     },     {       "name": "1 (1.0)",       "versionCodes": [         "1"       ],       "status": "completed"     }   ] } 

Jeśli później zdecydujesz się wznowić "completed", możesz to zrobić, zmieniając jego stan z powrotem na "inProgress" lub "completed". Pamiętaj, że możesz utworzyć nową wersję ze stanem "inProgress" na podstawie wersji "completed", ale wtedy będziesz mieć możliwość wznowienia wdrażania wersji "completed" tylko do 100% (czyli do stanu "completed").

Nie możesz wstrzymać w pełni wdrożonej wersji, jeśli wersja, która ma stać się wersją rezerwową, ma problemy związane z naruszeniem zasad, które uniemożliwiają jej publikację.

Wersje robocze

Wersje robocze umożliwiają automatyczne przesyłanie plików APK i tworzenie wersji za pomocą interfejsu API, które można później wdrażać w Konsoli Google Play. Aby utworzyć wersję roboczą na ścieżce:

  1. Otwórz nową edycję zgodnie z instrukcjami w artykule Przepływ pracy związany z edytowaniem.
  2. Wywołaj metodę Edits.apks: upload dla każdego pliku APK, który chcesz przesłać. Przekaż pakiet APK w treści żądania metody. Ta metoda zwraca kod wersji każdego przesłanego pliku APK. Będziesz go używać do odwoływania się do pliku APK podczas przypisywania go do wersji.
  3. Wywołaj metodę Edits.tracks: update w przypadku każdego utworu, który chcesz opublikować. W treści żądania przekaż zasób Edits.tracks zawierający wersję roboczą, którą chcesz utworzyć. Na przykład:

    { "releases": [{   "name": "My draft release",   "versionCodes": ["88"],   "status": "draft" }] }

  4. Aby zatwierdzić zmiany, wywołaj metodę Edits: commit. Wersję roboczą możesz teraz sprawdzić i wdrożyć w Konsoli Google Play lub za pomocą interfejsu API.

Określanie informacji o wersji

Podczas publikowania nowej wersji aplikacji możesz wyróżnić nowości dla użytkowników, podając informacje o wersji.

Aby to zrobić, użyj pola "releaseNotes" podczas dostarczania zasobu Edits.tracks do metody Edits.tracks: update.

{   "releases": [{       "name": "Release with notes",       "versionCodes": ["88"],       "status": "completed",       "releaseNotes": [         {"language": "en-US", "text": "Describe what's new in this release."}       ]   }] }