Ostrzeżenie: aplikacja błyskawiczna w Google Play nie będzie już dostępna. Od grudnia 2025 r. nie będzie można publikować aplikacji błyskawicznych w Google Play, a wszystkie interfejsy Instant API Usług Google Play przestaną działać. Użytkownicy nie będą już otrzymywać aplikacji błyskawicznych z Google Play za pomocą żadnego mechanizmu.
Wprowadzamy tę zmianę na podstawie opinii deweloperów i naszych ciągłych inwestycji w ulepszanie ekosystemu od czasu wprowadzenia aplikacji błyskawicznych w Google Play.
Aby nadal optymalizować wzrost liczby użytkowników, zachęcamy deweloperów do kierowania użytkowników do standardowej aplikacji lub gry za pomocą precyzyjnych linków, które w razie potrzeby przekierowują ich do określonych ścieżek lub funkcji.
Aby zmniejszyć rozmiar aplikacji i dostosować go do wymagań, najpierw wypróbuj standardowe techniki optymalizacji rozmiaru pliku APK. Jeśli chcesz jeszcze bardziej zmniejszyć rozmiar, możesz skorzystać z dostarczania komponentów w chmurze. Z tego dokumentu dowiesz się, jak przygotować komponenty do dostarczania w chmurze oraz jakie opcje pomocy są dostępne w różnych silnikach gier. Wskazówki na tej stronie dotyczą głównie gier, ale zasady te mają zastosowanie do każdej aplikacji zawierającej duże zasoby.
Przygotowanie
Zastanawiając się, jak podzielić aplikację na potrzeby dostarczania zasobów w chmurze, pomyśl, jak podzielić pliki aplikacji na sekcje na podstawie tego, kiedy mają być dostępne dla użytkownika. Zazwyczaj można je podzielić na 3 kategorie: potrzebne zawsze, potrzebne w momencie uruchomienia i potrzebne później.
Zawsze potrzebne
Niektóre zasoby trudno podzielić na mniejsze bloki lub muszą być one dołączone do podstawowego pliku APK. Przykłady to kod gry i zależności biblioteki lub silnika. Chociaż biblioteka Google Play Core obsługuje pakiety aplikacji na potrzeby kodu, wiele silników nie obsługuje kodu pobranego później.
Wymagane w momencie uruchomienia
Po uruchomieniu gry użytkownik powinien móc od razu zacząć grać. Aplikacja błyskawiczna w Google Play wymaga, aby użytkownicy mogli rozpocząć grę w mniej niż 15 sekund przy połączeniu LTE lub 4G (patrz lista kontrolna aplikacji błyskawicznej w Google Play). Dlatego ogranicz dodatkowe pobieranie po uruchomieniu do rozmiaru niezbędnego do obsługi początkowego działania. Na przykład pobieranie po premierze może obejmować pierwszy poziom gry i komponenty z lokalizacją lub dowolny kod wymagany do uruchomienia pierwszych kilku minut rozgrywki.
Potrzebne później
Do tej kategorii należą wszystkie treści, które można pobrać później w tle w razie potrzeby. Ta kategoria obejmuje większość komponentów w przypadku gier długich. Pobranie tych zasobów w późniejszym czasie pomoże zmniejszyć rozmiar aplikacji do minimum.
Obsługa wyszukiwarki
Dostarczanie zasobów w chmurze to podstawowy sposób na to, aby gra błyskawiczna mogła przekroczyć limit 15 MB. Obsługa pobierania komponentów różni się w zależności od silnika gry. Poniżej znajdziesz najczęstsze przypadki oraz opcje hostowania komponentów.
Pamiętaj, że mniejsza liczba zasobów potrzebnych na początku pozwala użytkownikowi szybciej rozpocząć grę, co przekłada się na mniejszą liczbę rezygnacji i lepsze utrzymanie graczy podczas pierwszego uruchomienia.
Play Feature Delivery (za pomocą pakietów aplikacji)
Jeśli publikujesz aplikację jako pakiet aplikacji (co jest preferowaną metodą), możesz użyć modułów funkcji, aby pobrać dodatkowe zasoby poza podstawowym plikiem APK. W przypadku aplikacji błyskawicznej każdy moduł funkcji musi mieć w manifeście ustawioną wartość dist:instant="true"
. Nie należy używać właściwości
dist:on-demand
. Jest ona używana głównie w przypadku modułów na żądanie w zainstalowanych plikach APK. Każdy moduł funkcji musi też mieścić się w limicie 15 MB dla aplikacji błyskawicznych, niezależnie od tego, czy zawiera kod. Jeśli nie zmieścisz się w tym limicie w przypadku żadnego modułu, nie będziesz mieć możliwości opublikowania go na ścieżkach alfa lub wersji. Po prawidłowym skonfigurowaniu możesz pobierać moduły funkcji w czasie działania za pomocą biblioteki Play Core.
Cocos Creator
Cocos obsługuje dostarczanie zasobów w chmurze od wersji 2.0.4. Cocos pobiera komponenty na żądanie, renderując obiekty zastępcze, jeśli komponenty nie zostały pobrane na czas. Cocos generuje pliki zasobów, które muszą być hostowane w ramach usługi online, ponieważ Cocos nie udostępnia własnej usługi.
Unity
Dostarczanie w chmurze jest obsługiwane we wtyczce Google Play Instant do silnika Unity w wersjach Unity 5.6, 2017.4 i 2018.2. Nowsze wersje Unity oferują więcej korzyści związanych z usuwaniem silnika, więc warto je zastosować, aby zwolnić więcej miejsca. Zasoby w chmurze Unity są przechowywane w plikach AssetBundle
, które Unity tworzy za Ciebie. Przesłanie ich na serwer w chmurze umożliwia dostarczanie komponentów w chmurze, ponieważ Unity ma wbudowaną obsługę pobierania pakietów komponentów.
Inne wyszukiwarki
Niezależnie od tego, czy używasz niestandardowego silnika, czy kolekcji bibliotek natywnych, Twój wybór może od razu obsługiwać pobieranie zasobów z chmury. Jeśli masz wystarczająco dużo zasobów, które musisz pobrać z chmury, musisz zaprogramować lub zintegrować sposób pobierania zasobów na żądanie w swojej grze. Warto zacząć od interfejsów API Hostingu Firebase lub Cloud Storage Firebase. Niektóre wyszukiwarki oferują proste pobieranie plików HTTPS, które może być wystarczające w Twoim przypadku.
Hostowanie komponentów
Jeśli nie używasz pakietów aplikacji w Google Play do pobierania komponentów za pomocą tej platformy, musisz hostować komponenty w innym miejscu. Możesz hostować je w dowolnej usłudze, o ile ma ona rozsądną dystrybucję i dostępność na całym świecie. Użytkownicy aplikacji Gry Play od Google grają na całym świecie, więc komponenty hostowane w chmurze muszą być szybko dostarczane w dowolnej lokalizacji.