Najczęstsze pytania dotyczące pakietu Android App Bundle

Informacje o pakietach Android App Bundle

Czym jest pakiet Android App Bundle (AAB)?

Wprowadzony w 2018 roku pakiet Android App Bundle (AAB) to format publikowania na Androida obsługiwany przez Google Play i inne sklepy z aplikacjami oraz przez narzędzia do tworzenia aplikacji, takie jak Android Studio, Bazel, Buck, Cocos Creator, Gradle, Unity i Unreal.

Czym różnią się pakiety AAB od plików APK?

Pakiety aplikacji służą tylko do publikowania i nie można ich zainstalować na urządzeniach z Androidem. Pakiet Android (APK) to format aplikacji, który można zainstalować i uruchomić na Androidzie. Pakiety aplikacji muszą zostać przetworzone przez dystrybutora na pliki APK, aby można je było zainstalować na urządzeniach.

Czy AAB to format zastrzeżony, którego można używać tylko w Google Play?

Nie, AAB nie jest formatem zastrzeżonym. Pakiet aplikacji jest dostępny jako oprogramowanie 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 tworzenie pakietów AAB uniemożliwia mi publikowanie w innych sklepach z aplikacjami?

Nie, nie uniemożliwia. Podczas tworzenia aplikacji możesz jednocześnie tworzyć pakiety AAB i pliki APK, w zależności od tego, jaki format publikowania jest wymagany w danym sklepie z aplikacjami.

Ile pracy wymaga używanie pakietu AAB?

W przypadku większości aplikacji utworzenie pakietu AAB wymaga tyle samo pracy co utworzenie pliku APK, ponieważ wystarczy wybrać AAB zamiast APK w czasie kompilacji. W przypadku niektórych aplikacji może być konieczne wprowadzenie pewnych zmian, aby w pełni wykorzystać zalety pakietów AAB.

Czy jacyś deweloperzy już używają pakietów AAB?

Tak. Ponad milion aplikacji i gier używa pakietów aplikacji do publikowania wersji produkcyjnych w Google Play, w tym większość popularnych aplikacji, które mają miliardy aktywnych instalacji. Jeśli do instalowania aplikacji używasz Google Play, wiele aplikacji na Twoim urządzeniu zostało opublikowanych jako pakiety aplikacji.

Czy AAB uniemożliwia użytkownikom instalowanie aplikacji z nieznanych źródeł?

Nie, pakiety AAB nie uniemożliwiają użytkownikom instalowania plików APK z dowolnego źródła. AAB to tylko format publikowania, więc nie zmienia on sposobu działania platformy Android.

Jeśli deweloper używa pakietów AAB do dostarczania zoptymalizowanych plików APK, czy oznacza to, że użytkownicy, którzy udostępniają te pliki APK, mogą napotkać problemy?

W Androidzie zawsze zdarzały się rzadkie przypadki, gdy plików APK nie można było bezpośrednio przenieść z jednego urządzenia na drugie, niezależnie od tego, czy aplikacja została opublikowana za pomocą plików APK czy pakietów AAB. Jeśli pliki APK zostały zoptymalizowane pod kątem urządzenia (np. pod kątem określonej architektury układu), przeniesienie ich bezpośrednio na inne urządzenie może spowodować problemy, jeśli urządzenie docelowe nie będzie zgodne z właściwościami urządzenia pierwotnego. W takich sytuacjach należy zainstalować plik APK lub zestaw plików APK odpowiednich dla urządzenia docelowego.

Czy mogę publikować w wielu sklepach z aplikacjami?

Tak, możesz publikować w wielu sklepach z aplikacjami, niezależnie od tego, czy używasz pakietów AAB. Możesz jednocześnie publikować pakiety AAB w Google Play i innych sklepach z aplikacjami, które je obsługują, oraz pliki APK w innych sklepach z aplikacjami lub witrynach, które nie obsługują pakietów AAB.

Czy wymaganie dotyczące pakietów AAB dotyczy aplikacji prywatnych publikowanych w zarządzanym Sklepie Google Play?

Tak, aplikacje prywatne publikowane w zarządzanym Sklepie Google Play z poziomu Konsoli Play muszą być publikowane jako pakiety AAB.

Publikowanie plików APK jest nadal obsługiwane za pomocą elementu iframe w zarządzanym Sklepie Play.

Podpisywanie aplikacji przez Google Play

Czym jest podpisywanie aplikacji przez Google Play?

Każdy plik APK na Androidzie musi być podpisany kryptograficznie za pomocą klucza podpisywania aplikacji, aby można go było zainstalować. Platforma Android używa klucza, aby zapewnić, że wszystkie aktualizacje aplikacji są zgodne z aplikacją instalowaną na urządzeniu. Dzięki temu po pierwszej instalacji każda aktualizacja aplikacji pochodzi od tego samego właściciela klucza. Zmniejsza to ryzyko złośliwych aktualizacji aplikacji. Wprowadzona w 2017 roku, usługa podpisywania aplikacji przez Google Play to usługa zarządzania kluczami w Google Play, która chroni klucze podpisywania aplikacji deweloperów w Google Play i zarządza nimi w przypadku aplikacji rozpowszechnianych w Google Play. Ponadto usługa podpisywania aplikacji przez Google Play wykonuje operację podpisywania plików APK, które Google Play generuje na podstawie przesłanych pakietów AAB. W przypadku nowych aplikacji wymagane jest podpisywanie aplikacji przez Google Play, aby mogły one używać pakietów AAB.

Dlaczego Google wprowadziło podpisywanie aplikacji przez Google Play?

Przez lata klucze podpisywania aplikacji były problemem dla deweloperów w Google Play. Utrata klucza uniemożliwiała dostarczanie aktualizacji aplikacji użytkownikom, a jego naruszenie narażało użytkowników na złośliwe aktualizacje. W przypadku dystrybucji oprogramowania powszechne jest, że kanały dystrybucji przechowują klucze oprogramowania i zarządzają nimi, ponieważ zmniejsza to ryzyko. Usługa podpisywania aplikacji przez Google Play została wprowadzona w 2017 roku, aby wyeliminować ryzyko utraty kluczy dystrybucji w Google Play, umożliwić ochronę użytkowników Google Play w przypadku naruszenia klucza oraz zapewnić deweloperom korzyści z ciągłych inwestycji Google w bezpieczeństwo.

Jak Google zapewnia bezpieczeństwo podpisywania aplikacji przez Google Play?

Google chroni klucze deweloperów w tej samej bezpiecznej infrastrukturze, która jest stosowana w branży i służy do ochrony własnych kluczy Google. Klucze są przechowywane w zaszyfrowanej postaci na zabezpieczonych serwerach zarządzania kluczami z rygorystycznymi listami kontroli dostępu i odpornymi na manipulacje śladami audytu obejmującymi wszystkie operacje. Informacje o operacjach i sprawdzonych metodach Google w zakresie bezpieczeństwa w chmurze są dostępne online.

Czy mogę wybrać klucz podpisywania aplikacji, którego Google Play używa w przypadku mojej aplikacji?

Tak. Podczas tworzenia nowej aplikacji możesz zezwolić Google na wygenerowanie i przechowywanie klucza podpisywania aplikacji 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 jest to nadal możliwe?

Jeśli po rozważeniu sposobu działania aktualizacji aplikacji zdecydujesz się używać tego samego klucza podpisywania w wielu sklepach z aplikacjami, nadal możesz to zrobić. Pamiętaj, że umożliwi to każdemu sklepowi z aplikacjami przeprowadzanie aktualizacji aplikacji 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 podczas tworzenia aplikacji na potrzeby innych sklepów z aplikacjami możesz używać tego samego klucza, którego używa Google Play.
  • Możesz użyć klucza wygenerowanego przez Google na potrzeby podpisywania aplikacji przez Google Play, a następnie pobrać z Konsoli Play pliki APK przeznaczone do dystrybucji, które są podpisane kluczem wygenerowanym przez Google, i użyć tych plików APK do dystrybucji w innych sklepach z aplikacjami lub witrynach.

Czy mogę używać podpisywania aplikacji przez Google Play w przypadku aplikacji utworzonej przed sierpniem 2021 roku bez podawania kopii klucza podpisywania aplikacji?

Tak, podpisywanie aplikacji przez Google Play obsługuje opcję „uaktualnienia klucza” w przypadku aplikacji utworzonych przed sierpniem 2021 roku. Umożliwia to aplikacji rozpoczęcie korzystania z podpisywania aplikacji przez Google Play za pomocą nowego klucza podpisywania aplikacji. Aby jednak skorzystać z tej opcji, po uaktualnieniu klucza musisz przesłać w każdej wersji 2 elementy: pakiet aplikacji i starszy plik APK podpisany starym kluczem podpisywania aplikacji. Google Play będzie używać Twoich pakietów AAB do generowania plików APK podpisanych uaktualnionym kluczem na potrzeby 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 mają już zainstalowaną Twoją aplikację. Z czasem starsze instalacje zostaną przeniesione na uaktualniony klucz (np. gdy użytkownicy przejdą na nowe urządzenie mobilne).

Czy można 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 przypadku wielu aplikacji. Bezpieczniej jest używać unikalnego klucza dla każdej aplikacji. Jeśli jednak musisz używać tego samego klucza podpisywania aplikacji w przypadku wielu aplikacji, jest to możliwe. Podczas konfigurowania podpisywania aplikacji przez Google Play możesz przesłać kopię dotychczasowego klucza podpisywania aplikacji. Jeśli nie chcesz udostępniać dotychczasowego klucza podpisywania aplikacji, możesz użyć nadchodzącej opcji „uaktualnienia klucza” w przypadku aplikacji utworzonej przed sierpniem 2021 roku, aby zacząć korzystać z podpisywania aplikacji przez Google Play. Dzięki temu zarówno aplikacja utworzona przed sierpniem 2021 roku, jak i aplikacja utworzona po sierpniu 2021 roku mogą używać tego samego nowego klucza.

Czy mogę kiedykolwiek zmienić klucz podpisywania aplikacji używany przez podpisywanie aplikacji przez Google Play?

Tak, aplikacje mogą zmienić klucz, prosząc o jego uaktualnienie w Konsoli Play.

Jak mogę sprawdzić, czy Google Play nie wprowadziło nieoczekiwanych zmian w moim kodzie?

W każdej chwili możesz pobrać i sprawdzić artefakty z Google Play oraz z sekcji Najnowsze wersje i pakiety w Konsoli Play. Ponadto interfejs Play Developer API wkrótce umożliwi weryfikowanie plików APK przed zatwierdzeniem ich na ścieżce wersji. Możesz też użyć opcjonalnej funkcji przejrzystości kodu w pakietach aplikacji. Dzięki przejrzystości kodu Ty i Twoi użytkownicy możecie pociągnąć sklep z aplikacjami, taki jak Google Play, do odpowiedzialności za dostarczany kod.

Jak działa przejrzystość kodu w pakietach aplikacji?

Przejrzystość kodu to opcjonalna funkcja, która umożliwia pociągnięcie sklepu z aplikacjami rozpowszechniającego Twoją aplikację do odpowiedzialności za dostarczany kod. Aby używać przejrzystości kodu, w czasie kompilacji wygeneruj w aplikacji plik przejrzystości kodu, który reprezentuje Twój kod (jest to plik zawierający skróty kodu aplikacji). Podpisz go własnym kluczem prywatnym przejrzystości kodu, który jest dostępny tylko dla Ciebie. Nigdy nie musisz udostępniać Google klucza przejrzystości kodu. Następnie na urządzeniu możesz sprawdzić zainstalowany plik APK i upewnić się, że podpisany przez Ciebie plik przejrzystości kodu nadal pasuje do kodu pliku APK. Daje Ci to pewność, że nawet jeśli sam plik APK został ponownie podpisany podczas dystrybucji, kod zweryfikowany przez przejrzystość kodu nie został zmodyfikowany. Jeśli wystąpi niezgodność, oznacza to, że kod został zmieniony podczas dystrybucji. Przejrzystość kodu nie zastępuje podpisów plików APK i nie jest częścią platformy Android.

Publikowanie dużych aplikacji i gier w Google Play

Jakie są limity rozmiaru aplikacji w Google Play w przypadku używania pakietów AAB?

Maksymalny rozmiar skompresowanego pliku do pobrania w przypadku modułu podstawowego wygenerowanego z pakietu AAB to 500 MB. Oznacza to, że Google Play najpierw wygeneruje moduł podstawowy, a potem wszystkie dodatkowe moduły funkcji lub pakiety zasobów z Twojego pakietu AAB. Następnie Google Play sprawdza, czy maksymalny łączny rozmiar skompresowanego pliku do pobrania, który otrzymuje dowolne urządzenie, nie przekracza 4 GB.

Czy Google Play obsługuje pliki rozszerzające (OBB) w przypadku pakietów AAB?

Nie, Google Play nie obsługuje plików rozszerzających w przypadku pakietów AAB. Pliki rozszerzające (OBB) to starsze rozwiązanie specyficzne dla Google Play, które umożliwia publikowanie dużych aplikacji i gier za pomocą plików APK. Istnieją alternatywy Google i innych firm dla pakietów AAB większych niż 500 MB.

Jak opublikować w Google Play aplikację lub grę większą niż 500 MB?

Duże aplikacje i gry korzystające z pakietów AAB mogą używać usług dostarczania Google Play, takich jak Play Asset Delivery lub Play Feature Delivery, aby przekroczyć limit rozmiaru 500 MB, lub mogą korzystać z sieci dostarczania treści osób trzecich.

Jakie zalety ma Play Asset Delivery w porównaniu z plikami rozszerzającymi (OBB)?

W Google Play pliki APK wymagały oddzielnych plików rozszerzających (OBB), aby udostępniać użytkownikom dodatkowe zasoby. Jednak ponieważ pliki OBB nie były podpisane i są przechowywane w pamięci zewnętrznej aplikacji, nie są zbyt bezpieczne. Dzięki Play Asset Delivery (PAD) gry większe niż 500 MB mogą zastąpić pliki OBB, publikując całą grę jako pojedynczy pakiet aplikacji w Sklepie Play. Oprócz płynniejszego procesu publikowania i elastycznych trybów dostarczania PAD oznacza, że aktualizacje wymagają mniej pamięci urządzenia. Dzięki temu może zwiększyć się liczba instalacji.

Wreszcie, ponieważ ASTC jest teraz obsługiwany na ok. 80% urządzeń, funkcja kierowania na format kompresji tekstur w PAD umożliwia udostępnianie ASTC na urządzenia, które go obsługują. Możesz kierować reklamy na najszerszy zakres urządzeń, efektywnie wykorzystując dostępny sprzęt i pamięć urządzenia.

Funkcje dostarczania w Google Play odblokowane przez pakiety AAB

Jakie są przykłady nowych funkcji, które Google Play oferuje deweloperom korzystającym z pakietów AAB?

Sklepy z aplikacjami, takie jak Google Play, przetwarzają pakiety AAB na pliki APK, które można zainstalować. Odpowiedzialność za pliki APK umożliwia oferowanie nowych funkcji i usług, które przynoszą korzyści deweloperom i użytkownikom. Google Play oferuje już takie usługi, które są 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 możliwość podzielenia aplikacji na wiele modułów, zwanych „modułami funkcji”. Te moduły można następnie dynamicznie dostarczać użytkownikom i urządzeniom w różnych momentach (w przeciwieństwie do przeszłości, gdy wszystko musiało być dostarczane jako jeden plik podczas instalacji). Play Feature Delivery umożliwia dostosowanie, które moduły funkcji są dostarczane na które urządzenie i kiedy, dzięki trybom dostarczania podczas instalacji, warunkowego i na żądanie. Pozwala to zmniejszyć rozmiar aplikacji, co prowadzi do większej liczby instalacji, oraz dostosować aplikację do potrzeb użytkowników. Na przykład możesz dostarczać rzadko używaną funkcję, taką jak obsługa klienta, na żądanie użytkownikom, którzy jej potrzebują, zamiast podczas instalacji, co zmniejszy rozmiar początkowej instalacji dla wszystkich użytkowników. Możesz też dostarczać pełne wrażenia użytkownika aplikacji na urządzenia z wyższej półki, a na urządzenia z niższej półki, które mają ograniczenia dotyczące danych i pamięci urządzenia, dostarczać mniejsze wrażenia użytkownika aplikacji z opcjonalnymi funkcjami na żądanie.

Czym jest Play Asset Delivery?

Play Asset Delivery umożliwia deweloperom gier poprawę komfortu użytkowania i skrócenie czasu oczekiwania użytkowników dzięki dynamicznemu dostarczaniu dużych zasobów w optymalnym momencie. Gry korzystające z Play Asset Delivery mogą też używać kierowania na format kompresji tekstur, dzięki czemu użytkownicy otrzymują tylko zasoby odpowiednie dla ich urządzenia, bez marnowania miejsca i przepustowości.

Czy te funkcje dostarczania w Google Play są dostępne w innych sklepach z aplikacjami?

Nie, Play Feature Delivery i Play Asset Delivery wymagają bezpośredniej interakcji aplikacji i gier ze Sklepem Google Play. Te opcjonalne usługi są przykładem tego, jak Google Play wyróżnia się jako sklep z aplikacjami i zapewnia dodatkową wartość oraz użyteczność deweloperom i użytkownikom Google Play. Inne sklepy z aplikacjami, które używają pakietów aplikacji i plików APK, oferują deweloperom własne usługi.