Wdróż dostarczanie zasobów do chmury

Jeśli zmniejszasz aplikację, aby spełniała wymagania dotyczące rozmiaru, najpierw wypróbuj techniki optymalizacji standardowych plików APK. Jeśli musisz jeszcze bardziej zmniejszyć rozmiar, konieczne może być przesyłanie zasobów przez chmurę. Ten dokument zawiera informacje o tym, jak przygotować zasoby do dostawy w chmurze, oraz opcje pomocy z różnych silników gier. Wskazówki na tej stronie dotyczą gier, ale zasady te mają zastosowanie do każdej aplikacji zawierającej duże zasoby.

Przygotowanie

Zastanawiając się nad podzieleniem aplikacji pod kątem dostarczania zasobów do chmury, zastanów się, jak podzielić pliki aplikacji na sekcje w zależności od tego, kiedy muszą być dostępne dla użytkownika. Czas ten można podzielić zwykle na 3 kategorie: potrzebne zawsze, potrzebne od wprowadzenia na rynek i potrzebne później.

Potrzebne zawsze

Niektóre zasoby trudno podzielić na mniejsze bloki lub trzeba je połączyć w podstawowy plik APK. Może to być na przykład kod gry i jej zależności – biblioteka lub silnik. Google Play Core obsługuje pakiety aplikacji na potrzeby kodu, ale wiele wyszukiwarek nie obsługuje kodu pobranego później.

Potrzebne podczas uruchamiania

Użytkownik powinien być w stanie od razu zagrać w grę. Aplikacja błyskawiczna w Google Play wymaga, aby użytkownicy mogli rozpocząć grę w ciągu niecałych 15 sekund, korzystając z połączenia LTE lub 4G (zobacz listę kontrolną aplikacji błyskawicznych w Google Play). Dlatego po uruchomieniu usługi ogranicz dodatkowe pobieranie, tak aby jej rozmiar nie przekraczał limitu początkowego. Na przykład pobieranie natychmiast po premierze może zawierać pierwszy poziom gry i zasoby z lokalizacją lub dowolny kod wymagany do uruchomienia gry przez kilka pierwszych minut.

Potrzebne później

Do tej kategorii będzie należeć wszystko, co będzie można pobrać później, w tle w razie potrzeby. Ta kategoria zawiera większość zasobów trwających w grach. Pobranie tych zasobów później pomoże zmniejszyć rozmiar aplikacji do jak najmniejszego rozmiaru.

Wsparcie silnika

Dostarczanie zasobów do chmury to podstawowy sposób, aby umożliwić grze przekroczenie limitu 15 MB w przypadku gier błyskawicznych. Obsługa pobierania zasobów zależy od silnika gry. Poniżej znajdziesz typowe przypadki, a także informacje o opcjach hostingu zasobów.

Pamiętaj, że mniejsza liczba zasobów potrzebnych w momencie premiery pozwala szybciej rozpocząć korzystanie z gry, co przekłada się na mniejszą liczbę porzuceń i lepszy wskaźnik utrzymania użytkowników przy pierwszym uruchomieniu.

Przesyłanie funkcji w Play (za pomocą pakietów aplikacji)

Jeśli publikujesz aplikację w postaci pakietu aplikacji (jest to preferowana metoda), możesz za pomocą modułów funkcji pobierać dodatkowe zasoby poza podstawowym plikiem APK. W przypadku aplikacji błyskawicznej każdy moduł funkcji musi mieć ustawienie dist:instant="true" w pliku manifestu. Nie należy używać właściwości dist:on-demand. Działa ona głównie w przypadku modułów na żądanie w zainstalowanych plikach APK. Dodatkowo każdy moduł funkcji musi mieścić się w limicie 15 MB pliku APK niezależnie od tego, czy moduł zawiera kod. Jeśli każdy z modułów nie zmieści się w tym limicie, publikowanie na ścieżkach alfa i wersji nie będzie możliwe. Po prawidłowym skonfigurowaniu możesz pobierać moduły funkcji w czasie działania za pomocą biblioteki PlayCore.

Twórca Cocos

Cocos obsługuje dostarczanie zasobów w chmurze od wersji 2.0.4. Cocos pobiera zasoby na żądanie i renderuje obiekty zastępcze, jeśli nie zostaną pobrane na czas. Cocos generuje pliki zasobów, które muszą być hostowane w jakiejś usłudze online, ponieważ Cocos nie udostępnia własnej.

Jedność

Przesyłanie do chmury jest obsługiwane przez wtyczkę błyskawiczną Unity Google Play do Unity w wersji 5.6, 2017.4 lub 2018.2. Późniejsze wersje Unity mają więcej korzyści w zakresie usuwania silnika, więc warto na nie przejść w celu zwolnienia miejsca. Zasoby w chmurze Unity są hostowane w plikach AssetBundle, które tworzy dla Ciebie Unity. Przesłanie zasobów na serwer w chmurze umożliwia przesyłanie zasobów do chmury, ponieważ Unity ma wbudowaną obsługę pobierania pakietów zasobów.

Inne wyszukiwarki

Niezależnie od tego, czy używasz silnika niestandardowego, czy kolekcji bibliotek natywnych, wybrana przez Ciebie opcja może obsługiwać pobieranie zasobów od razu w chmurze. Jeśli masz wystarczającą liczbę zasobów, aby pobrać je z chmury, musisz kodować lub wdrożyć sposób pobierania zasobów gry na żądanie. Zacznij od interfejsów Firebase Hosting lub Firebase Cloud Storage. Niektóre wyszukiwarki obsługują proste pobieranie plików HTTPS, które też mogą Ci się przydać.

Hostowanie zasobów

Jeśli do pobierania zasobów z Google Play nie korzystasz z pakietów aplikacji, musisz je przechowywać w innym miejscu. Możesz je udostępniać w dowolnej usłudze, pod warunkiem że ma ona uzasadnioną dystrybucję i dostępność na całym świecie. Użytkownicy aplikacji Gry Google Play grają na całym świecie, więc zasoby hostowane w chmurze muszą być szybko udostępniane im w dowolnym miejscu.