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ę kierując się opinią deweloperów i naszymi ciągłymi inwestycjami 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 przekierują 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 dzieli się je na 3 kategorie: potrzebne zawsze, potrzebne w momencie uruchomienia i potrzebne później.
Zawsze potrzebne
Niektóre zasoby trudno jest 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 rozpoczęciu 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 później 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 przekroczyła 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 poszczególnych modułów, nie będziesz mieć możliwości opublikowania ich na ścieżkach alfa lub wersji. Po prawidłowym skonfigurowaniu możesz pobierać moduły funkcji w czasie działania za pomocą biblioteki PlayCore.
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 w wtyczce Google Play Instant Plugin do Unity w wersjach Unity 5.6, 2017.4 i 2018.2. Późniejsze 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 interfejsów API Cloud Storage dla 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.