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ą jakiegokolwiek 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.
Deweloperów, którzy chcą nadal optymalizować wzrost liczby użytkowników, zachęcamy 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.
Aplikacja błyskawiczna w Google Play zapewnia bogate, natywne wrażenia po kliknięciu linku w internecie. Użytkownicy mogą korzystać z Twojej aplikacji bez konieczności jej instalowania, co zwiększa poziom i jakość zaangażowania. Aby aplikacja błyskawiczna wczytywała się tak szybko jak typowa strona mobilna, musisz utworzyć dobrze skonstruowaną i wydajną aplikację błyskawiczną. Im mniejszy jest plik binarny aplikacji błyskawicznej, tym szybciej się ona wczytuje i tym lepsze jest wrażenie użytkownika.
Z tego dokumentu dowiesz się, jak zarządzać strukturą aplikacji i rozmiarem pliku binarnego, aby zapewnić płynne działanie aplikacji błyskawicznej. Te same metody możesz zastosować, aby poprawić działanie aplikacji z możliwością zainstalowania.
Refaktoryzacja do wielu modułów funkcji
Największą poprawę rozmiaru pliku binarnego aplikacji można uzyskać, refaktoryzując aplikację do wielu modułów funkcji. Zacznij od modułu funkcji podstawowych , a następnie wyodrębnij powiązane tematycznie przepływy pracy do własnych modułów funkcji. Przypisz do każdego modułu funkcji aktywność początkową i unikalny adres URL, aby użytkownicy mogli pomyślnie ukończyć przepływ pracy modułu.
Podczas tworzenia modułów funkcji staraj się, aby moduł funkcji podstawowych był jak najmniejszy. Zwróć szczególną uwagę na te części aplikacji, które wymagają dostępu do bibliotek zależnych. Jeśli tylko jeden moduł funkcji używa danej biblioteki, zaimportuj ją w tym module, a nie w module funkcji podstawowych. Pamiętaj, że aby opublikować aplikację błyskawiczną dla danego modułu funkcji, łączny rozmiar tego modułu i modułu funkcji podstawowych musi być mniejszy niż 15 MB.
Sprawdzone metody
Podczas refaktoryzacji aplikacji pamiętaj o tych sprawdzonych metodach:
- Używaj tej samej bazy kodu dla obu typów aplikacji
- Możesz uprościć proces zarządzania projektem aplikacji, używając tej samej modułowej bazy kodu do tworzenia zarówno aplikacji instalowanej, jak i aplikacji błyskawicznych.
- Projektowanie pod kątem wielu modułów funkcji
- Nawet jeśli Twoja aplikacja ma tylko jeden przepływ pracy i na razie wymaga tylko jednego modułu funkcji, warto zaprojektować ją pod kątem wielu modułów funkcji. Dzięki temu możesz dodawać do aplikacji istniejące moduły bez wpływu na rozmiar oryginalnego modułu funkcji.
- Na początku nie skupiaj się na limicie rozmiaru modułu funkcji
- Limity rozmiaru modułu funkcji nie dotyczą plików binarnych tworzonych lokalnie. Aplikację błyskawiczną możesz też opublikować w ścieżce testów wewnętrznych, która wymusza limit 15 MB na rozmiary modułów funkcji. Limit 15 MB obowiązuje tylko w ścieżkach alfa i produkcyjnej.
Aktualizowanie zasobów aplikacji
Niektóre aplikacje, zwłaszcza te z dłuższą historią bazy kodu, zawierają zasoby, których pliki binarne aplikacji już nie używają. Szukając sposobów na zmniejszenie rozmiaru modułów aplikacji, weź pod uwagę te typowe źródła niepotrzebnego kodu.
Zmniejszanie rozmiaru plików graficznych
Możesz znacznie zmniejszyć łączny rozmiar elementów rysowalnych aplikacji, używając formatu WebP zamiast PNG. Aplikacja błyskawiczna w Google Play w pełni obsługuje format WebP, w tym przezroczystość i kompresję bezstratną, dzięki czemu jakość obrazu pozostaje taka sama.
Jeśli to możliwe, usuń wszystkie wymagania dotyczące zgodności wstecznej w przypadku używania innych obrazów PNG. Jeśli musisz używać obrazów PNG, umieść je w module, który służy do tworzenia i instalowania aplikacji.
Usuwanie nieużywanych języków
Jeśli Twoja aplikacja obsługuje wiele języków, zmniejsz liczbę zlokalizowanych zasobów. Ten krok jest szczególnie przydatny, jeśli używasz biblioteki „app
compat”, takiej jak android.support.v7.appcompat.
Ta biblioteka zawiera komunikaty w wielu językach, z których niektóre mogą nie być obsługiwane przez Twoją aplikację.
Usuwanie dodatkowych plików
Twoja aplikacja może już nie używać niektórych zasobów, które zostały zaimportowane do projektu. Aby pomóc w usunięciu tych zasobów, Android Studio ma kontrolę Lint dla tej konkretnej sytuacji. Aby użyć tego narzędzia, wykonaj te czynności:
- Naciśnij Ctrl+Alt+Shift+I (Command+Alt+Shift+I w systemie Mac OS).
- W wyświetlonym oknie wpisz
"unused resources". - Aby rozpocząć proces sprawdzania użycia zasobów, wybierz opcję Nieużywane zasoby.
Jeśli w aplikacji pozostały duże zasoby, zastanów się, czy można je wypakować z aplikacji i pobrać jako osobne pliki po rozpoczęciu interakcji użytkownika z aplikacją. Tego rodzaju odroczenie ładowania obrazów zwykle wymaga zmiany kodu, ale może znacznie zmniejszyć rozmiar pliku aplikacji błyskawicznej, ponieważ pobierane są tylko te zasoby, o które użytkownik wyraźnie poprosi.
Usuwanie nieużywanych bibliotek
Wraz z rozwojem aplikacji może ona zawierać zaskakująco dużą liczbę zależności, zwłaszcza jednego z tych typów:
- Biblioteki natywne: biblioteki zawierające kod natywny, który nigdy nie jest uruchamiany przez aplikację błyskawiczną.
- Zależności przechodnie: biblioteki, od których zależą zaimportowane biblioteki aplikacji.
Android Studio ma kilka przydatnych narzędzi do identyfikowania zbędnych zależności w projekcie aplikacji:
- Biblioteki zewnętrzne
Widok Projekt w Android Studio zawiera sekcję Biblioteki zewnętrzne.
Ta sekcja zawiera wszystkie biblioteki używane przez aplikację, w tym kod natywny i wszystkie zależności przechodnie. W tym widoku poszukaj nieużywanych lub zduplikowanych bibliotek, których aplikacja nie potrzebuje.
- APK Analyzer
Za pomocą narzędzia APK Analyzer możesz porównywać różne kompilacje, w tym kompilacje aplikacji błyskawicznych.
Gdy ustalisz, których bibliotek aplikacja nie potrzebuje, wyklucz je, dodając do pliku kompilacji Gradle wiersze podobne do tych:
<feature_module>/build.gradle
Dynamiczny
dependencies { implementation('some-important-but-large-library') { exclude group: 'com.example.imgtools', module: 'native' } }
Kotlin
dependencies { implementation('some-important-but-large-library') { exclude(group = "com.example.imgtools", module = "native") } }
Więcej informacji o zmniejszaniu łącznego rozmiaru importu zależności aplikacji znajdziesz w przewodniku Gradle dotyczącym zarządzania zależnościami.
Wdrażanie dostarczania zasobów z chmury
Jeśli chcesz jeszcze bardziej zmniejszyć rozmiar, być może będziesz musiał(-a) skorzystać z dostarczania zasobów z chmury.