Przekształć istniejącą grę w grę błyskawiczną

Instrukcja konfigurowania aplikacji do uruchamiania Aplikacja błyskawiczna w Google Play zgodnie z objaśnieniem w sekcji Utwórz pierwszą aplikację błyskawiczną. dotyczą też gier. W tym przewodniku objaśniamy niektóre kroki konfiguracji związane z grami.

Gry błyskawiczne w Google Play możesz tworzyć za pomocą: Jedność (z pakietem błyskawicznym w Google Play lub bez niego wtyczka), Cocos2D Android Studio lub własny silnik niestandardowy.

W tym przewodniku zakładamy, że znasz już rodzaj rozgrywki które chcemy udostępnić. Jeśli chcesz poznać pomysły i sprawdzone metody tworzenia wysokiej jakości gier, przeczytaj sprawdzone metody dotyczące wrażeń użytkowników gier na Aplikacja błyskawiczna w Google Play.

Ponadto przed opublikowaniem gry, która może działać na Aplikacja błyskawiczna w Google Play, zapoznaj się z wymaganiami technicznymi .

Działanie, które zawiera ten filtr intencji, staje się punktem wejścia w przypadku aplikacji błyskawicznych w Google Play:

<activity android:name=".GameActivity">
   <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

Ta aktywność jest uruchamiana, gdy użytkownik kliknie przycisk Wypróbuj w Google Play. Sklep lub Gra błyskawiczna w aplikacji Gry Google Play. Możesz też uruchomić tę aktywność bezpośrednio za pomocą Interfejs API precyzyjnych linków

Definiowanie prawidłowych kodów wersji

Kod wersji aplikacji błyskawicznej w grze musi być krótszy niż kod wersji gry, którą można zainstalować. Taka konfiguracja wersji aplikacji pozwala użytkowników, aby przejść z aplikacji błyskawicznej w Google Play na pobieranie i instalowanie gry na urządzeniach. Platforma Androida uwzględnia to przejście na aktualizację aplikacji.

Aby mieć pewność, że postępujesz zgodnie z zalecanym schematem obsługi wersji, wykonaj jedną z tych czynności: te strategie:

  • Uruchom ponownie kody wersji aplikacji błyskawicznej w Google Play na 1.
  • Należy znacznie zwiększyć kod wersji aplikacji z możliwością zainstalowania, np. 1000, aby zapewnić wystarczającą ilość miejsca na wersję aplikacji błyskawicznej ma zostać zwiększona.

Możesz tworzyć grę błyskawiczną i grę instalacyjną na 2 oddzielne Projekty w Android Studio. Jeśli to zrobisz, musisz wykonać następujące czynności, aby: Opublikuj grę w Google Play:

  1. Użyj tej samej nazwy pakietu w obu projektach Android Studio.
  2. W Konsoli Google Play prześlij oba warianty do tej samej aplikacji.
.

Więcej informacji o ustawianiu wersji gry znajdziesz w sekcji Wersja

Obsługa środowiska wykonawczego

Podobnie jak inne aplikacje, gry w aplikacji błyskawicznej w Google Play działają w określonym piaskownicy na urządzeniu. Aby obsługiwać to środowisko wykonawcze, wykonaj te czynności opisane w kolejnych sekcjach.

Zrezygnuj z ruchu nieszyfrowanego

Gry w aplikacji błyskawicznej w Google Play nie obsługują ruchu HTTP. Jeśli Twoja gra jest kierowana na Androida 9 (poziom interfejsu API 28) lub nowszego, Android wyłącza obsługę zwykłego tekstu w niej domyślnie.

Jeśli jednak Twoja gra jest kierowana na Androida 8.1 (poziom interfejsu API 27) lub starszego, musisz: utwórz plik Network Security Config. W tym pliku ustaw cleartextTrafficPermitted na false, jak pokazano w ten fragment kodu:

res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">secure.example.com</domain>
    </domain-config>
</network-security-config>

Zaktualizuj docelową wersję piaskownicy

Zaktualizuj plik AndroidManifest.xml gry błyskawicznej, tak aby był kierowany na (środowisko piaskownicy obsługiwane przez aplikację błyskawiczną w Google Play). Możesz ukończyć tę aktualizację poprzez dodanie atrybutu android:targetSandboxVersion do <manifest> w grach, jak w tym fragmencie kodu:

<manifest
   xmlns:android="http://schemas.android.com/apk/res/android"
  ...
   android:targetSandboxVersion="2" ...>

Więcej informacji znajdziesz w dokumentacji targetSandboxVersion .

Nie polegaj na obecności pamięci podręcznej ani danych aplikacji

Aplikacja błyskawiczna pozostaje pobrana na urządzenie użytkownika do momentu pamięć podręczna aplikacji błyskawicznej została wyczyszczona, co ma miejsce w jednym z następujących problemów w sytuacjach:

  • Pamięć podręczna aplikacji błyskawicznej jest usuwana, ponieważ urządzenie jest na wyczerpaniu dostępnej pamięci.
  • użytkownik uruchomi ponownie swoje urządzenie;

Jeśli wystąpi któryś z tych procesów, użytkownik będzie musiał ponownie pobrać aplikację błyskawiczną. aby wejść z nim w interakcję.

Jeśli w systemie kończy się miejsce na dysku, możliwe, że dane użytkownika aplikacji błyskawicznej są usuwane z pamięci wewnętrznej. Dlatego okresowe synchronizowanie danych użytkownika z serwerem gry, aby postęp użytkownika jest zachowywany.

Zmniejszanie rozmiaru aplikacji

W przeciwieństwie do innych rodzajów aplikacji gry w aplikacji błyskawicznej w Google Play mają limit rozmiaru pobierania wynosi 15 MB. Aby utworzyć grę o tym rozmiarze, może wymagać refaktoryzacji logiki gry. W tej sekcji znajdziesz opis niektórych narzędzi które pozwalają zoptymalizować rozmiar gry.

Narzędzia

Poniższa lista narzędzi pomoże Ci określić, co ma wpływ rozmiar gry:

  • Analizator plików APK: zapewnia całościowy wgląd w zawartości skompilowanego pliku APK. Za pomocą tego widoku możesz określić liczbę bajtów, które każdy element ma udział w ogólnym rozmiarze. Użyj tego narzędzia, aby: pozwala szybko sprawdzić rozmiar zasobów, zasobów, funkcji logicznych i bibliotek natywnych, używanych przez grę.
  • Bloaty McBloatface: pokazuje profilu rozmiaru plików binarnych.
  • Inspektor GPU na Androidzie: sprawdzanie efektu rozmiaru pliku zmniejszanie rozmiaru tekstury bez konieczności ponownego kompilowania gry.

Techniki

Oto lista technik, których możesz użyć, aby zmniejszyć rozmiar Twoja gra:

  • Wyodrębnij część logiki gry i umieść ją w co najmniej jednej funkcji , które nie zawierają funkcji wliczają się do limitu rozmiaru.
  • Zmniejsz rozdzielczość tekstur w grze.
  • Rozważ użycie WebP zwłaszcza w przypadku używania nieskompresowanych tekstur w GPU. WebP tworzy obrazy o takiej samej jakości jak pliki JPEG, ale mają 15% Mniejszy o 30%. Chociaż dekompresja obrazów WebP trwa dłużej, czas dekompresji jest wciąż znacznie krótszy niż czas pobierania Twojego i tekstury gry. Firma Google zintegrowała ten format z grą open source, .
  • Skompresuj lub ponownie wykorzystaj dźwięki i muzykę.
  • Aby zmniejszyć rozmiar pliku binarnego, użyj różnych flag kompilacji:
    • -fvisibility=hidden – najważniejsze. W cmake możesz określić w następujący sposób:
      $ set_target_properties(your-target PROPERTIES CXX_VISIBILITY_PRESET hidden)
      
    • -Oz – ważna także przy zmniejszeniu rozmiaru. Jeśli kompilujesz za pomocą gcc, użyj -Os.
    • -flto – czasami zmniejsza rozmiar pliku.
    • Flagi łączące – używaj --gc-sections w połączeniu z flagami kompilatora, takimi jak jako -ffunction-sections i -fdata-sections.
  • Użyj ProGuard, aby zmniejszyć kod i zasoby.
  • Aby wygenerować mniejsze pliki DEX, użyj Gradle w wersji 4.4 lub nowszej.
  • Wdróż przesyłanie zasobów do chmury.

Podziel dużą grę na kilka plików APK

Optymalizowanie działania aplikacji błyskawicznej w Google Play może być trudne, umieść grę w pojedynczym pliku APK o wielkości 15 MB. zalecenia dotyczące zmniejszenia rozmiaru plików APK. Do adresu tego wyzwania, możesz podzielić swoją grę na kilka plików APK. Gracze zaczynają od pobieranie podstawowego, podstawowego pliku APK; podczas odtwarzania, pozostały podzielony Pliki APK są udostępniane grze w tle.

Na przykład podstawowy plik APK może zawierać podstawowy silnik gry i zasoby wymagane do wyświetlenia ekranu wczytywania. Po uruchomieniu podstawowego pliku APK wyświetli się plik ekranu wczytywania i natychmiast wysyła żądanie dodatkowego podzielonego pliku APK, który zawiera dane o grze i poziomach. Po udostępnieniu dzielonego pakietu APK może on wczytać do silnika gry i udostępnić graczowi treści potrzebne do rozpoczęcia w całej grze.

Wdrażanie sprawdzonych metod dbania o wygodę użytkowników

Gdy skonfigurujesz grę tak, aby obsługiwała aplikacje błyskawiczne, dodaj do niej zgodnie z zasadami przedstawionymi w sekcjach poniżej, i uzyskiwanie dodatkowych informacji.

Obsługa architektur 64-bitowych

Aplikacje opublikowane w Google Play muszą obsługiwać architektury 64-bitowe. Dodanie 64-bitowa wersja aplikacji zwiększa wydajność i umożliwia konfigurację dla urządzeń z architekturą 64-bitową. Więcej informacji o obsłudze 64-bitowej

Sprawdzanie, czy gra działa w trybie błyskawicznym

Jeśli część logiki gry zależy od tego, czy użytkownik jest zaangażowany aplikacji błyskawicznych, wywołaj metodę isInstantApp() . Ta metoda zwraca wartość true, jeśli aktualnie uruchomiony proces to aplikację błyskawiczną.

Pozwala to określić, czy aplikacja musi zostać uruchomiona w ograniczone środowisko wykonawcze lub możesz skorzystać funkcji platformy.

Wyświetl prośbę o instalację

Jeśli masz wersję próbną Aplikacja błyskawiczna w Google Play, w którymś momencie gra powinna pokazać komunikat odtwarzacza, aby zainstalować na urządzeniu pełną wersję. W tym celu użyj showInstallPrompt() w interfejsach API Google na Androida.

Aby uzyskać więcej informacji na temat tego, jak i kiedy należy prosić odtwarzacz o zainstalowanie, zobacz sprawdzone metody dotyczące wrażeń użytkowników w przypadku gier na Aplikacja błyskawiczna w Google Play.

Przenoszenie danych do zainstalowanej usługi

Jeśli graczowi podoba się wersja próbna, może zdecydować się na zainstalowanie pełną wersję gry. Dla wygody użytkowników ważne jest, postęp gracza jest przenoszony z aplikacji błyskawicznej pełną wersję gry.

Jeśli gra określa targetSandboxVersion z 2, postępy gracza są przenoszone do pełnej wersji gry. W przeciwnym razie musisz przenieść związane z ręcznymi postępami gracza. Użyj do tego interfejsu Cookie API – przykładowa aplikacja

Dodatkowe materiały

Więcej informacji o aplikacji błyskawicznej w Google Play znajdziesz w tych dodatkowych materiałach:

Ćwiczenie z programowania: tworzenie pierwszej aplikacji błyskawicznej
Dodaj obsługę aplikacji błyskawicznych w Google Play w istniejących już aplikacjach.
Ćwiczenie z programowania: tworzenie aplikacji błyskawicznej z wieloma funkcjami
Dostosuj aplikację z wieloma funkcjami.