Informacje o pakietach Android App Bundle
Czym jest pakiet Android App Bundle?
Android App Bundle został wprowadzony w 2018 roku. Jest to format publikowania na Androida obsługiwany przez Google Play i inne sklepy z aplikacjami oraz narzędzia do tworzenia kompilacji, takie jak Android Studio, Bazel, Buck, Cocos Creator, Gradle, Unity i Unreal.
Czym różnią się pakiety aplikacji na Androida od pakietów APK?
Pakiety aplikacji są przeznaczone tylko do publikowania i nie można ich instalować na urządzeniach z Androidem. Pakiet Android (APK) to dostępny do zainstalowania, wykonywalny format dla aplikacji na Androida. Dystrybutor musi przetworzyć pakiety aplikacji na pliki APK, aby można je było instalować na urządzeniach.
Czy pakiet aplikacji na Androida jest zastrzeżonym formatem, którego można używać tylko w Google Play?
Nie. Pakiet aplikacji na Androida nie jest zastrzeżony. Pakiet aplikacji jest typu open source, więc może go obsługiwać każdy sklep z aplikacjami. Pakiety są obsługiwane przez Google Play i niektóre inne sklepy z aplikacjami.
Czy utworzenie pakietu aplikacji na Androida uniemożliwia mi publikowanie treści w innych sklepach z aplikacjami?
Nie, nie będziesz mieć możliwości publikowania w innych sklepach z aplikacjami. Podczas tworzenia aplikacji możesz jednocześnie tworzyć pakiety aplikacji na Androida i pliki APK, w zależności od formatu publikacji wymaganego w przypadku każdego sklepu z aplikacjami.
Ile czasu potrzeba, aby korzystać z pakietu aplikacji na Androida?
W przypadku większości aplikacji utworzenie pakietu aplikacji na Androida jest równoważne z utworzeniem pakietu APK, ponieważ wymaga ono po prostu wyboru pakietu aplikacji na Androida zamiast pakietu APK na etapie kompilacji. W przypadku niektórych aplikacji trzeba wprowadzić pewne zmiany, aby móc w pełni korzystać z tych funkcji.
Czy jacyś deweloperzy używają już pakietu aplikacji na Androida?
Tak. Ponad milion aplikacji i gier korzysta z pakietów aplikacji do publikowania wersji produkcyjnych w Google Play. Dotyczy to większości popularnych aplikacji, co odpowiada miliardom aktywnych instalacji. Jeśli instalujesz aplikacje z Google Play, wiele aplikacji na Twoim urządzeniu zostało opublikowanych jako pakiety aplikacji.
Czy pakiet aplikacji na Androida uniemożliwia użytkownikom instalowanie aplikacji z nieoficjalnych źródeł?
Nie. Aplikacje na Androida nie uniemożliwiają użytkownikom instalowania plików APK z żadnych źródeł. AAB to tylko format publikowania, więc nie zmienia sposobu działania platformy Androida.
Czy jeśli deweloper używa pakietów aplikacji na Androida do dostarczania zoptymalizowanych plików APK, mogą wystąpić problemy?
W Androidzie zawsze zdarzało się, że plików APK nie można przenieść bezpośrednio z jednego urządzenia na drugie, niezależnie od tego, czy aplikacja jest publikowana za pomocą plików APK czy aplikacji na Androida. W szczególności pliki APK zostały zoptymalizowane pod kątem danego urządzenia (np. pod kątem konkretnej architektury układu) i przeniesienie ich bezpośrednio na inne urządzenie może powodować problemy, gdy urządzenie docelowe nie odpowiada właściwościom oryginalnego urządzenia. W takich sytuacjach musisz zainstalować plik APK lub zestaw plików APK odpowiednich dla urządzenia docelowego.
Czy mogę publikować aplikacje w wielu sklepach z aplikacjami?
Tak, możesz publikować aplikacje w wielu sklepach z aplikacjami niezależnie od tego, czy korzystasz z pakietów aplikacji na Androida. Pakiety aplikacji na Androida, które obsługują takie aplikacje, możesz publikować w Google Play i innych sklepach z aplikacjami jednocześnie, a także w innych sklepach z aplikacjami lub na stronach, które nie obsługują takich aplikacji.
Czy wymagania pakietu aplikacji na Androida dotyczą aplikacji prywatnych opublikowanych w zarządzanym Sklepie Google Play?
Nie, aplikacje prywatne opublikowane w zarządzanym Sklepie Google Play mogą publikować zarówno za pomocą plików APK, jak i pakietów AAB. Podczas tworzenia nowej prywatnej aplikacji możesz wybrać Zmień klucz podpisywania aplikacji i zrezygnować z podpisywania aplikacji przez Google Play, jeśli chcesz opublikować samodzielnie podpisany, prywatny plik APK.
Informacje o podpisywaniu aplikacji przez Google Play
Czym jest podpisywanie aplikacji przez Google Play?
Każdy pakiet APK na Androida musi być podpisany kryptograficznie kluczem podpisywania aplikacji, aby można było go zainstalować. Platforma Android używa klucza, aby mieć pewność, że wszystkie aktualizacje aplikacji są zgodne z aplikacją zainstalowaną na urządzeniu. Dzięki temu po pierwszej instalacji każda aktualizacja aplikacji pochodzi z tego samego klucza. Pozwala to zmniejszyć ryzyko instalowania szkodliwych aktualizacji aplikacji. Wprowadzona w 2017 roku podpisywanie aplikacji przez Google Play to usługa zarządzania kluczami w Google Play, która chroni klucze podpisywania aplikacji rozpowszechnianych w Google Play i nimi zarządza. Dodatkowo usługa podpisywania aplikacji przez Google Play wykonuje operację podpisywania na plikach APK wygenerowanych przez Google Play z przesłanych pakietów aplikacji na Androida. Podpisywanie aplikacji przez Google Play jest wymagane w przypadku nowych aplikacji, aby mogły korzystać z pakietów aplikacji na Androida.
Dlaczego Google wprowadziło podpisywanie aplikacji przez Google Play?
Przez lata korzystanie z kluczy podpisywania aplikacji stanowiło wyzwanie dla deweloperów Google Play. Utrata klucza oznacza, że nie będzie można dostarczać użytkownikom aktualizacji aplikacji, a przejęcie klucza naraża ich na złośliwe aktualizacje. W dystrybucji oprogramowania w kanałach dystrybucji często przechowywane są klucze do dystrybuowanego oprogramowania i zarządzane nimi, ponieważ ogranicza to ryzyko. Usługa podpisywania aplikacji przez Google Play została wprowadzona w 2017 roku, aby wyeliminować ryzyko utraty kluczy dystrybucyjnych Play, chronić użytkowników Google Play w przypadku kluczowego przejęcia konta i umożliwić deweloperom korzystanie z korzyści płynących z ciągłej inwestycji w zabezpieczenia Google.
W jaki sposób Google zapewnia bezpieczeństwo podpisywania aplikacji przez Google Play?
Google chroni klucze programistów w tej samej najwyższej w branży, bezpiecznej infrastrukturze, której używa się do ochrony kluczy Google. Klucze są przechowywane w postaci zaszyfrowanej na zablokowanych, dedykowanych serwerach zarządzania kluczami z rygorystycznymi listami kontroli dostępu i rejestrami kontroli obejmującymi wszystkie operacje. Działania Google związane z bezpieczeństwem chmury i sprawdzone metody znajdziesz szczegółowo w internecie.
Czy mogę wybrać klucz podpisywania aplikacji używany przez Google Play?
Tak. Gdy tworzysz nową aplikację, możesz wybrać opcję generowania i przechowywania klucza podpisywania aplikacji przez Google w Twoim imieniu lub wybrać własny klucz podpisywania aplikacji i przesłać jego kopię.
Chcę używać tego samego klucza podpisywania aplikacji w Google Play i innych sklepach z aplikacjami. Czy nadal jest to możliwe?
Jeśli zdecydujesz się używać tego samego klucza podpisywania w wielu sklepach z aplikacjami po sprawdzeniu sposobu działania aktualizacji aplikacji, nadal jest to możliwe. Pamiętaj, że pozwoli to każdemu sklepowi z aplikacjami aktualizować Twoją aplikację w różnych sklepach. Masz 2 możliwości:
- Możesz wygenerować klucz lokalnie i przesłać jego kopię do Google Play. Dzięki temu możesz używać tego samego klucza co Google Play podczas tworzenia aplikacji dla innych sklepów z aplikacjami.
- Możesz użyć klucza wygenerowanego przez Google na potrzeby podpisywania aplikacji przez Google Play, a potem pobierać z Konsoli Play pliki APK do dystrybucji, które są podpisane kluczem wygenerowanym przez Google, i używać ich do rozpowszechniania w innych sklepach z aplikacjami lub na stronach internetowych.
Czy mogę korzystać z podpisywania aplikacji przez Google Play w przypadku aplikacji utworzonej przed sierpniem 2021 roku bez przesyłania kopii klucza podpisywania aplikacji?
Tak. Podpisywanie aplikacji przez Google Play obsługuje opcję „uaktualnienia klucza” w przypadku aplikacji utworzonych przed sierpniem 2021 roku. Dzięki temu aplikacja może zacząć korzystać z podpisywania aplikacji przez Google Play za pomocą nowego klucza podpisywania aplikacji. Aby jednak skorzystać z tej opcji po uaktualnieniu, musisz przesłać 2 elementy w każdej wersji: pakiet aplikacji i starszy plik APK podpisany starym kluczem podpisywania aplikacji. Google Play użyje Twoich pakietów aplikacji na Androida do generowania plików APK podpisanych uaktualnionym kluczem w przypadku nowych instalacji i ich aktualizacji. Jednocześnie Google Play będzie używać starszych plików APK do aktualizacji aplikacji u użytkowników, którzy zainstalowali już Twoją aplikację. Z czasem instalacje starszego typu zostaną przeniesione do uaktualnionego klucza (np. gdy użytkownik przejdzie na nowe urządzenie mobilne).
Czy mogę używać tego samego klucza podpisywania aplikacji w przypadku aplikacji utworzonych przed sierpniem 2021 roku i aplikacji utworzonych po sierpniu 2021 roku?
Zasadniczo nie zalecamy używania tego samego klucza podpisywania aplikacji w wielu aplikacjach. Lepiej jest użyć unikalnego klucza dla każdej z nich. Jeśli jednak chcesz używać tego samego klucza podpisywania aplikacji w wielu aplikacjach, jest to możliwe. Podczas konfigurowania podpisywania aplikacji przez Google Play możesz przesłać kopię istniejącego klucza podpisywania aplikacji. Jeśli nie chcesz udostępniać dotychczasowego klucza podpisywania aplikacji, możesz skorzystać z nadchodzącej opcji „uaktualnienia klucza” aplikacji sprzed sierpnia 2021 r., aby zacząć korzystać z podpisywania aplikacji przez Google Play. Dzięki temu zarówno aplikacja sprzed sierpnia 2021 r., jak i aplikacja sprzed sierpnia 2021 r. będzie mogła używać tego samego nowego klucza.
Czy mogę zmienić klucz podpisywania aplikacji używany przez funkcję podpisywania aplikacji przez Google Play?
Tak, aplikacje mogą zmienić swój klucz, przesyłając prośbę o uaktualnienie klucza w Konsoli Play.
Jak sprawdzić, czy w kodzie Google Play nie wprowadzono nieoczekiwanych zmian?
W każdej chwili możesz pobierać artefakty z Google Play i Eksploratora pakietów aplikacji w Konsoli Play oraz je sprawdzać. Oprócz tego interfejs Play Developer API będzie wkrótce umożliwiać weryfikację plików APK przed ich zatwierdzeniem na ścieżce wersji. Możesz też korzystać z opcjonalnej funkcji o nazwie przejrzystość kodu w pakietach aplikacji. Dzięki przejrzystości kodu Ty i Twoi użytkownicy możecie mieć sklep z aplikacjami, np. Google Play, aby uwzględnić otrzymany kod.
Jak działa przejrzystość kodu w przypadku pakietów aplikacji?
Przejrzystość kodu to opcjonalna funkcja, dzięki której sklep z aplikacjami, który rozpowszechnia Twoją aplikację, uwzględnia dostarczony w niej kod. Aby korzystać z przejrzystości kodu, podczas kompilacji należy wygenerować w aplikacji plik przejrzystości kodu, który reprezentuje Twój kod (a konkretnie jest to plik zawierający hasze kodu aplikacji). Podpisujesz go własnym, prywatnym kluczem przejrzystości kodu. Nie musisz nigdy przekazywać Google klucza przejrzystości kodu. Następnie na urządzeniu możesz sprawdzić zainstalowany pakiet APK i upewnić się, że podpisany plik przejrzystości kodu nadal jest zgodny z kodem tego pliku. Dzięki temu masz pewność, że nawet jeśli sam plik APK zostanie ponownie podpisany podczas dystrybucji, kod zweryfikowany w ramach funkcji przejrzystości kodu nie został zmodyfikowany. Jeśli występuje niezgodność, jest to dowód na to, że kod został zmieniony podczas dystrybucji. Przejrzystość kodu nie zastępuje podpisów w plikach APK i nie jest częścią platformy Androida.
Publikowanie dużych aplikacji i gier w Google Play
Jakie są limity rozmiaru aplikacji w Google Play w przypadku korzystania z pakietów aplikacji na Androida?
Maksymalny rozmiar skompresowanego pliku do pobrania dla modułu podstawowego wygenerowanego z pakietu aplikacji na Androida to 200 MB. Oznacza to, że Google Play najpierw wygeneruje moduł podstawowy, a następnie wszelkie dodatkowe moduły funkcji lub pakiety zasobów z pakietu AAB. Następnie Google Play sprawdza, czy łączny rozmiar skompresowanych plików do pobrania na danym urządzeniu nie przekracza 4 GB.
Czy Google Play obsługuje pliki rozszerzeń (OBB) w przypadku pakietów aplikacji na Androida?
Nie. Google Play nie obsługuje plików rozszerzeń dla aplikacji na Androida. Pliki rozszerzające (OBB) to starsze rozwiązanie typowe dla Google Play do publikowania dużych aplikacji i gier za pomocą plików APK. Dla aplikacji na Androida o rozmiarze przekraczającym 200 MB dostępne są alternatywne rozwiązania Google i zewnętrznych.
Jak opublikować w Google Play aplikację lub grę o rozmiarze większym niż 200 MB?
Duże aplikacje i gry korzystające z pakietów aplikacji na Androida mogą korzystać z usług dostawy w Google Play, takich jak Play Asset Delivery lub Play Feature Delivery, aby przekroczyć limit 200 MB, albo korzystać z zewnętrznych sieci dostarczania treści.
Jaką korzyść zapewnia Play Asset Delivery w porównaniu z plikami rozszerzeń (OBB)?
W Google Play pliki APK wymagają oddzielnych plików rozszerzających (OBB), aby udostępniać użytkownikom dodatkowe zasoby. Pliki OBB nie są jednak podpisane i są przechowywane w pamięci zewnętrznej aplikacji, więc nie są zbyt bezpieczne. Dzięki Play Asset Delivery (PAD) gry większe niż 200 MB mogą zastąpić pliki OBB, publikując całą grę jako 1 pakiet aplikacji w Sklepie Play. PAD zapewnia też płynniejszy proces publikowania i elastyczne tryby dostarczania, co oznacza, że aktualizacje wymagają mniej miejsca na urządzeniu. W efekcie może zwiększać liczbę instalacji. I wreszcie, ASTC jest teraz obsługiwane na ok. 80% urządzeń, dzięki czemu funkcja kierowania na format kompresji tekstur w PAD umożliwia wyświetlanie ASTC na urządzeniach, które je obsługują. Możesz kierować reklamy na najszerszą gamę urządzeń, a jednocześnie efektywnie wykorzystać dostępny sprzęt i pamięć urządzenia.
Funkcje dostawy do Google Play odblokowane przez AAB
Jakie są przykłady nowych funkcji oferowanych w Google Play deweloperom korzystającym z pakietów aplikacji na Androida?
Sklepy z aplikacjami takie jak Google Play przetwarzają pakiety aplikacji na Androida w pakiety APK, które można zainstalować. Odpowiadając za pliki APK, można oferować nowe funkcje i usługi, które przynoszą korzyści deweloperom i użytkownikom. Google Play oferuje już usługi, które są już powszechnie używane i cenione przez deweloperów. Dwa przykłady to Play Feature Delivery i Play Asset Delivery.
Czym jest Play Feature Delivery?
Jedną z funkcji pakietów aplikacji jest to, że umożliwiają rozdzielenie aplikacji na kilka modułów nazywanych „modułami funkcji”. Moduły te mogą być następnie dynamicznie dostarczane do użytkowników i urządzeń w różnych momentach (inaczej niż w przeszłości, gdy wszystko trzeba było przesyłać jako jeden plik podczas instalacji). Play Feature Delivery pozwala określić, jakie moduły funkcji mają być dostarczane na poszczególne urządzenia i kiedy, korzystając z trybów przesyłania podczas instalacji, warunkowych i na żądanie. Pozwala to zmniejszyć rozmiar aplikacji, co przekłada się na większą liczbę instalacji i dostosowanie jej obsługi. Możesz na przykład udostępnić użytkownikom, którzy jej potrzebują, rzadko używaną funkcję, taką jak obsługa klienta, na żądanie, a nie podczas instalacji. Dzięki temu zmniejszysz rozmiar początkowej instalacji u wszystkich użytkowników. Możesz też zapewnić pełną obsługę aplikacji na zaawansowanych urządzeniach, a jednocześnie zmniejszyć jej rozmiar dzięki opcjonalnym funkcjom na żądanie dostępnym podstawowym urządzeniom, które mają ograniczoną ilość danych i pamięć urządzenia.
Czym jest Play Asset Delivery?
Play Asset Delivery umożliwia deweloperom gier zwiększanie wygody użytkowników i skrócenie czasu oczekiwania użytkowników dzięki dynamicznemu przesyłaniu dużych zasobów w optymalnym czasie. Gry korzystające z funkcji Play Asset Delivery mogą też korzystać z kierowania na format kompresji tekstur. Dzięki temu użytkownicy będą dostawać tylko takie zasoby, które są odpowiednie do danego urządzenia, a nie marnują miejsca ani przepustowości.
Czy te funkcje dostawy w Google Play są dostępne w innych sklepach z aplikacjami?
Nie. Usługi Play Feature Delivery i Play Asset Delivery obejmują aplikacje i gry bezpośrednio współpracujące ze Sklepem Google Play. Te usługi opcjonalne to przykłady tego, jak Google Play wyróżnia się jako sklep z aplikacjami, a także dodatkowe korzyści i przydatność dla deweloperów oraz użytkowników Google Play. Inne sklepy korzystające z pakietów aplikacji i plików APK oferują swoim programistom własne usługi w zakresie takich sklepów.