Gdy przesyłasz pakiet APK, musi on spełniać wymagania Google Play dotyczące docelowego poziomu interfejsu API.
Od 31 sierpnia 2026 r.:
- Nowe aplikacje i aktualizacje aplikacji przesyłane do Google Play muszą być kierowane na Androida 16 (API na poziomie 36) lub nowszego. Nie dotyczy to aplikacji na Wear OS i system operacyjny Android Automotive, które muszą być kierowane na Androida 15 (API na poziomie 35) lub nowszego, oraz aplikacji na Androida TV i Androida XR, które muszą być kierowane na Androida 14 (API na poziomie 34) lub nowszego.
- Istniejące aplikacje muszą być kierowane na Androida 15 (API na poziomie 35) lub nowszego, aby pozostały dostępne dla nowych użytkowników na urządzeniach z systemem operacyjnym Android nowszym niż docelowy poziom API aplikacji. Aplikacje, które są kierowane na Androida 14 (API na poziomie 34) lub starszego, w tym Androida 13 (API na poziomie 33) lub starszego w przypadku Wear OS, Androida TV i Androida XR oraz Androida 12 (API na poziomie 31) lub starszego w przypadku systemu operacyjnego Android Automotive, będą dostępne tylko na urządzeniach z systemem operacyjnym Android z interfejsem API na docelowym poziomie takim samym jak dla danej aplikacji lub niższym.
Jeśli potrzebujesz więcej czasu na zaktualizowanie aplikacji, możesz poprosić o przedłużenie terminu do 1 listopada 2026 r. Formularze przedłużenia dla Twojej aplikacji będą dostępne w Konsoli Play jeszcze w tym roku.
Przykładowe wyjątki od tych wymagań:
- Aplikacje zawsze prywatne, które są dostępne tylko dla użytkowników w konkretnej organizacji i przeznaczone wyłącznie do dystrybucji wewnętrznej.
Dlaczego warto kierować reklamy na nowsze pakiety SDK?
Każda nowa wersja Androida wprowadza zmiany, które poprawiają bezpieczeństwo i wydajność, a także zwiększają ogólną wygodę korzystania z tego systemu. Niektóre z tych zmian dotyczą tylko aplikacji, które wyraźnie deklarują obsługę za pomocą atrybutu manifestu targetSdkVersion (nazywanego również docelowym poziomem interfejsu API).
Kierowanie aplikacji na aktualny poziom interfejsu API zapewnia użytkownikom korzyści wynikające z ulepszeń, ale jednocześnie pozwala uruchamiać ją na starszych wersjach Androida. Kierowanie na aktualny poziom interfejsu API pozwala też aplikacji korzystać z najnowszych funkcji platformy, co zwiększa zadowolenie użytkowników. Ponadto od Androida 10 (API na poziomie 29) użytkownicy widzą ostrzeżenie, gdy po raz pierwszy uruchamiają aplikację kierowaną na Androida 5.1 (API na poziomie 22) lub starszego.
W tym dokumencie znajdziesz ważne informacje o aktualizowaniu docelowego poziomu interfejsu API, aby spełnić wymagania Google Play. Instrukcje znajdziesz w sekcjach poniżej, w zależności od wersji, na którą przechodzisz.
Przejście z Androida 12 lub nowszego (poziom API 31) na nowszą wersję
Aby zaktualizować aplikację i kierować ją na nowszą wersję Androida, postępuj zgodnie z odpowiednią listą zmian w działaniu:
- Zmiany w działaniu Androida 13
- Zmiany w działaniu Androida 14
- Zmiany w zachowaniu Androida 15
- Zmiany w zachowaniu Androida 16
Przejście z Androida 11 (poziom API 30) na Androida 12 (poziom API 31)
Bezpieczeństwo i uprawnienia
- Bluetooth: musisz zastąpić deklaracje uprawnień
BLUETOOTHiBLUETOOTH_ADMINuprawnieniamiBLUETOOTH_SCAN,BLUETOOTH_ADVERTISElubBLUETOOTH_CONNECT. Nie musisz już wysyłać próśb o uprawnienia w czasie działania aplikacjiLOCATIONw przypadku operacji Bluetooth. - Lokalizacja: użytkownicy mogą prosić aplikacje o pobieranie tylko informacji o przybliżonej lokalizacji. Za każdym razem, gdy prosisz o uprawnienie
ACCESS_FINE_LOCATION, musisz też poprosić o uprawnienieACCESS_COARSE_LOCATION.- Filtry intencji: jeśli aplikacja zawiera aktywności, usługi lub odbiorniki, które używają filtrów intencji, musisz wyraźnie zadeklarować atrybut android:exported dla tych komponentów.
- Hibernacja: aplikacje mogą zostać wprowadzone w tryb hibernacji, jeśli nie są używane przez pewien czas. W trybie hibernacji uprawnienia w czasie działania aplikacji i pamięć podręczna są resetowane, a zadania i alerty nie mogą być uruchamiane. Możesz sprawdzić stan hibernacji aplikacji.
- Zmienność intencji oczekującej: musisz określić zmienność każdego obiektu PendingIntent tworzonego przez aplikację.
Interfejs użytkownika
- Powiadomienia niestandardowe: powiadomienia z niestandardowymi widokami treści nie będą już używać całego obszaru powiadomień. Zamiast tego system zastosuje szablon standardowy. Ten szablon zapewnia, że powiadomienia niestandardowe mają takie same elementy jak inne powiadomienia we wszystkich stanach. To działanie jest niemal identyczne z działaniem
Notification.DecoratedCustomViewStyle. - Zmiany w weryfikacji linków aplikacji na Androida: jeśli używasz weryfikacji linków aplikacji na Androida, upewnij się, że filtry intencji zawierają kategorię BROWSABLE i obsługują schemat HTTPS.
Wydajność
Ograniczenia dotyczące uruchamiania usług na pierwszym planie: aby aplikacja mogła być kierowana na Androida 12 lub nowszego, nie może uruchamiać usług na pierwszym planie, gdy działa w tle, z wyjątkiem kilku szczególnych przypadków. Jeśli aplikacja próbuje uruchomić usługę działającą na pierwszym planie, gdy działa w tle, występuje wyjątek (z wyjątkiem kilku szczególnych przypadków).
Rozważ użycie WorkManagera do planowania i rozpoczynania prac priorytetowych, gdy aplikacja działa w tle. Aby wykonywać działania wymagające szybkiej reakcji, o które prosi użytkownik, uruchamiaj usługi działające na pierwszym planie w ramach alarmu precyzyjnego.
Ograniczenia dotyczące trampolin powiadomień: gdy użytkownicy klikają powiadomienia, niektóre aplikacje reagują, uruchamiając komponent aplikacji, który rozpoczyna aktywność widoczną dla użytkownika i umożliwiającą mu interakcję. Ten komponent aplikacji jest nazywany trampoliną powiadomień.
Aplikacje nie mogą uruchamiać aktywności z usług ani odbiorników komunikatów, które są używane jako trampoliny powiadomień. Gdy użytkownik kliknie powiadomienie lub przycisk polecenia w powiadomieniu, aplikacja nie może wywołać metody
startActivity()w usłudze ani odbiorniku.
Wyświetl pełny zestaw zmian, które wpływają na aplikacje kierowane na Androida 12 (poziom API 31).
Migracja z wersji starszej niż Android 11 (poziom API 30)
Wybierz wersję Androida, z której chcesz przeprowadzić migrację:
Przejście na Androida 5 (poziom API 21)
Zapoznaj się ze stroną dotyczącą zmian w zachowaniu w przypadku każdej z tych wersji, aby upewnić się, że aplikacja uwzględnia wprowadzone w nich zmiany:
Postępuj zgodnie z instrukcjami w następnej sekcji.
Przejście na Androida 6 (poziom interfejsu API 23)
W przypadku aplikacji kierowanych na Androida 6.0 i nowsze wersje platformy obowiązują te zasady:
-
Uprawnienia w czasie działania
-
Uprawnienia niebezpieczne są przyznawane tylko w czasie działania. Przepływy interfejsu muszą zapewniać możliwość przyznania tych uprawnień.
-
W miarę możliwości upewnij się, że aplikacja jest przygotowana na odrzucenie prośby o uprawnienia. Jeśli na przykład użytkownik odrzuci prośbę o dostęp do GPS-u urządzenia, upewnij się, że aplikacja ma inny sposób na kontynuowanie działania.
-
Pełną listę zmian wprowadzonych w Androidzie 6.0 (poziom interfejsu API 23) znajdziesz na stronie Zmiany zachowania dotyczącej tej wersji platformy.
Postępuj zgodnie z instrukcjami w następnej sekcji.
Przejście na Androida 7 (poziom interfejsu API 24)
W przypadku aplikacji kierowanych na Androida 7.0 i nowsze wersje platformy obowiązują te zasady:
-
Tryb uśpienia i czuwanie aplikacji
Projektuj z uwzględnieniem zachowań opisanych w artykule Optymalizacja pod kątem drzemki i czuwania aplikacji, który obejmuje stopniowe zmiany wprowadzane w kilku wersjach platformy.
Gdy urządzenie jest w trybie uśpienia i czuwania aplikacji, system działa w następujący sposób:
- Ogranicza dostęp do sieci
- odracza alarmy, synchronizacje i zadania;
- Ogranicza skanowanie GPS i Wi-Fi
- Ogranicza wiadomości o normalnym priorytecie w Komunikacji w chmurze Firebase.
-
Zmiany uprawnień
- System ogranicza dostęp do prywatnych katalogów aplikacji.
-
Udostępnienie identyfikatora URI
file://poza aplikacją powoduje wywołanieFileUriExposedException. Jeśli chcesz udostępniać pliki poza aplikacją, zaimplementujFileProvider.
-
System zabrania linkowania do bibliotek innych niż NDK.
Pełną listę zmian wprowadzonych w Androidzie 7.0 (poziom interfejsu API 24) znajdziesz na stronie Zmiany zachowania dotyczącej tej wersji platformy.
Postępuj zgodnie z instrukcjami w następnej sekcji.
Migracja na Androida 8 (poziom API 26)
W przypadku aplikacji kierowanych na Androida 8.0 i nowsze wersje platformy obowiązują te zasady:
-
Ograniczenia wykonywania w tle
-
System ogranicza usługi w przypadku aplikacji, które nie działają na pierwszym planie.
-
startService()zgłasza teraz wyjątek, gdy aplikacja próbuje wywołać tę metodę, gdystartService()jest zabronione. -
Aby uruchomić usługi na pierwszym planie, aplikacja musi używać
startForeground()istartForegroundService(). - Uważnie zapoznaj się ze zmianami wprowadzonymi w interfejsie JobScheduler API, które zostały opisane na stronie ze zmianami w zachowaniu Androida 8.0 (poziom interfejsu API 26).
- Komunikacja w chmurze Firebase wymaga pakietu SDK usług Google Play w wersji 10.2.1 lub nowszej.
- Jeśli korzystasz z Komunikacji w chmurze Firebase, dostarczanie wiadomości podlega limitom wykonywania w tle. Jeśli po otrzymaniu wiadomości konieczne jest wykonanie pracy w tle, np. synchronizacji danych, aplikacja powinna zaplanować zadania za pomocą Firebase Job Dispatcher lub JobIntentService. Więcej informacji znajdziesz w dokumentacji Komunikacji w chmurze Firebase.
-
-
Komunikaty ogólne
-
Komunikaty ogólne są ograniczone. Informacje o obsłudze zdarzeń w tle znajdziesz w dokumentacji interfejsu API
JobScheduler.
-
Komunikaty ogólne są ograniczone. Informacje o obsłudze zdarzeń w tle znajdziesz w dokumentacji interfejsu API
-
Ograniczenia dotyczące lokalizacji w tle
-
Aplikacje działające w tle mają ograniczony dostęp do danych o lokalizacji.
- Na urządzeniach z usługami Google Play używaj dostawcy uśrednionej lokalizacji, aby okresowo otrzymywać informacje o zmianie lokalizacji.
-
Aplikacje działające w tle mają ograniczony dostęp do danych o lokalizacji.
-
System ogranicza usługi w przypadku aplikacji, które nie działają na pierwszym planie.
-
Kanały powiadomień
- Właściwości powiadomień należy definiować dla każdego kanału osobno.
- Aby powiadomienia się wyświetlały, musisz przypisać je do kanału.
-
Ta wersja platformy obsługuje
NotificationCompat.Builder.
-
Prywatność
- ANDROID_ID jest ograniczony do klucza podpisywania aplikacji.
Pełną listę zmian wprowadzonych w Androidzie 8.0 (poziom interfejsu API 26) znajdziesz na stronie Zmiany zachowania dotyczącej tej wersji platformy.
Migracja z Androida 8 (API 26) na Androida 9 (API 28)
-
Zarządzanie zasilaniem
- Zasobniki czuwania aplikacji wprowadzają nowe ograniczenia działania w tle na podstawie zaangażowania w aplikację, takie jak odroczone zadania, alarmy i limity wiadomości o wysokim priorytecie.
- Ulepszenia funkcji Oszczędzanie baterii zwiększają ograniczenia dotyczące funkcji Czuwanie aplikacji.
-
Uprawnienia usług działających na pierwszym planie
- Musisz poprosić o normalne uprawnienia
FOREGROUND_SERVICE(nie uprawnienia w czasie działania aplikacji).
- Musisz poprosić o normalne uprawnienia
-
Zmiany dotyczące prywatności
- Ograniczony dostęp do czujników w tle
- Ograniczony dostęp do rejestrów połączeń, teraz w grupie uprawnień
CALL_LOG - Ograniczony dostęp do numerów telefonów, wymagający uprawnienia
READ_CALL_LOG - Ograniczony dostęp do informacji o Wi-Fi
Pełną listę zmian wprowadzonych w Androidzie 9.0 (poziom interfejsu API 28) znajdziesz w artykule o zmianach zachowania.
Przejście z Androida 9 (poziom API 28) na Androida 10 (poziom API 29)
-
Powiadomienia z intencją pełnoekranową
-
Musisz poprosić o zwykłe uprawnienia
USE_FULL_SCREEN_INTENT(nie uprawnienia w czasie działania aplikacji).
-
Musisz poprosić o zwykłe uprawnienia
-
Obsługa urządzeń składanych i urządzeń z dużym ekranem
-
Wiele aktywności może być teraz jednocześnie w stanie „wznowiono”, ale tylko jedna z nich jest aktywna.
-
Ta zmiana wpływa na działanie
onResume()ionPause(). -
Nowa koncepcja cyklu życia „najwyżej wznowione”, którą można wykryć, subskrybując
onTopResumedActivityChanged().- Tylko jedna aktywność może być „najwyżej wznowiona”.
-
Ta zmiana wpływa na działanie
-
Gdy parametr
resizeableActivityjest ustawiony nafalse, aplikacje mogą dodatkowo określać parametrminAspectRatio, który automatycznie dodaje czarne pasy do aplikacji w przypadku węższych formatów obrazu.
-
Wiele aktywności może być teraz jednocześnie w stanie „wznowiono”, ale tylko jedna z nich jest aktywna.
-
Zmiany dotyczące prywatności
-
Scoped storage
- Dostęp do pamięci zewnętrznej jest ograniczony tylko do katalogu aplikacji i określonych typów multimediów utworzonych przez aplikację.
-
Ograniczony dostęp do lokalizacji, gdy aplikacja działa w tle, wymagający uprawnienia
ACCESS_BACKGROUND_LOCATION. - Ograniczony dostęp do identyfikatorów, których nie można zresetować, takich jak IMEI i numer seryjny.
-
Ograniczony dostęp do informacji o aktywności fizycznej, takich jak liczba kroków użytkownika, wymagający uprawnienia
ACTIVITY_RECOGNITION. -
Ograniczony dostęp do niektórych interfejsów API telefonii, Bluetootha i Wi-Fi, wymagający uprawnienia
ACCESS_FINE_LOCATION. -
Ograniczony dostęp do ustawień Wi-Fi
- Aplikacje nie mogą już bezpośrednio włączać ani wyłączać Wi-Fi. Muszą to robić za pomocą paneli ustawień.
-
Ograniczenia dotyczące inicjowania połączenia z siecią Wi-Fi, wymagające użycia
WifiNetworkSpecifierlubWifiNetworkSuggestion.
-
Scoped storage
Migracja z Androida 10 (poziom API 29) na Androida 11 (poziom API 30)
-
Prywatność
- Egzekwowanie ograniczonego dostępu do miejsca na dane : aplikacje powinny stosować model ograniczonego dostępu do miejsca na dane, w którym pliki aplikacji, multimedia i inne typy plików są zapisywane i dostępne w dedykowanych lokalizacjach.
- Automatyczne resetowanie uprawnień: jeśli użytkownicy nie korzystali z aplikacji przez kilka miesięcy, system automatycznie resetuje jej uprawnienia newralgiczne. Nie powinno to mieć wpływu na większość aplikacji. Jeśli Twoja aplikacja działa głównie w tle bez interakcji z użytkownikiem, możesz poprosić użytkowników o wyłączenie automatycznego resetowania.
- Dostęp do lokalizacji w tle: aplikacje muszą osobno prosić o dostęp do lokalizacji na pierwszym planie i w tle. Dostęp do lokalizacji w tle można przyznać tylko w ustawieniach aplikacji, a nie w oknach uprawnień w czasie działania.
-
Widoczność pakietów: gdy aplikacja wysyła zapytanie o listę zainstalowanych aplikacji i usług na urządzeniu, zwrócona lista jest filtrowana.
- Jeśli używasz usług zamiany tekstu na mowę lub rozpoznawania mowy, musisz dodać do pliku manifestu elementy zapytań dla usług.
-
Bezpieczeństwo
- Skompresowane pliki `resource.arsc` nie są już obsługiwane
- Schemat podpisywania plików APK w wersji 2 jest teraz wymagany. Ze względu na zgodność wsteczną deweloperzy powinni też nadal podpisywać aplikacje za pomocą schematu podpisu APK w wersji 1.
- Ograniczenie interfejsu innego niż SDK. Nie zalecamy używania interfejsów innych niż SDK w aplikacjach kierowanych na poziom interfejsu API 30, ponieważ niektóre z tych interfejsów są teraz blokowane. Pełną listę zablokowanych interfejsów spoza pakietu SDK znajdziesz w artykule Interfejsy spoza pakietu SDK, które są teraz blokowane w Androidzie 11.
Pełną listę zmian wprowadzonych w Androidzie 11 (poziom API 30) znajdziesz na stronie Zmiany zachowania.
Kontynuuj aktualizację do interfejsu API 31, postępując zgodnie z instrukcjami podanymi w poprzedniej sekcji.
Modernizowanie aplikacji
Podczas aktualizowania docelowego poziomu interfejsu API w aplikacjach rozważ wdrożenie najnowszych funkcji platformy, aby unowocześnić aplikacje i zadowolić użytkowników.
- Aby w pełni wykorzystać możliwości aparatu, rozważ użycie CameraX w wersji beta.
- Używaj komponentów Jetpack, aby stosować sprawdzone metody, uniknąć pisania powtarzalnego kodu i uprościć złożone zadania, dzięki czemu możesz skupić się na kodzie, który Cię interesuje.
- Używaj Kotlina, aby szybciej pisać lepsze aplikacje i używać mniej kodu.
- Upewnij się, że przestrzegasz wymagań i sprawdzonych metod dotyczących prywatności.
- Dodaj obsługę ciemnego motywu w swoich aplikacjach.
- Dodaj do aplikacji obsługę nawigacji przy użyciu gestów.
- Przenieś aplikację z Google Cloud Messaging (GCM) do najnowszej wersji Komunikacji w chmurze Firebase.
- korzystać z zaawansowanego zarządzania oknami;
- Obsługuj większe formaty obrazu (powyżej 16:9), aby wykorzystać najnowsze osiągnięcia technologiczne. Upewnij się, że aplikacja zmienia rozmiar, aby wypełnić dostępną przestrzeń na ekranie. Maksymalny format obrazu deklaruj tylko w ostateczności. Więcej informacji o maksymalnych formatach obrazu znajdziesz w artykule Deklarowanie ograniczonej obsługi ekranu.
- Dodaj obsługę wielu okien, aby zwiększyć produktywność aplikacji i zarządzać wieloma wyświetlaczami.
- Jeśli świetne zminimalizowane wrażenia użytkownika aplikacji poprawią wrażenia użytkownika, dodaj obsługę obrazu w obrazie.
- Optymalizacja pod kątem urządzeń z wycięciem w ekranie.
- Nie zakładaj, że wysokość paska stanu jest stała. Zamiast tego użyj
WindowInsetsiView.OnApplyWindowInsetsListener. Więcej informacji znajdziesz w filmie z droidcon NYC 2017. - Nie zakładaj, że aplikacja zajmuje całe okno. Zamiast tego potwierdź jego lokalizację za pomocą
View.getLocationInWindow(), a nieView.getLocationOnScreen(). * Podczas obsługiMotionEventużywajMotionEvent.getX()iMotionEvent.getY(), a nieMotionEvent.getRawX(),MotionEvent.getRawY().
Sprawdzanie i aktualizowanie pakietów SDK oraz bibliotek
Upewnij się, że zależności pakietów SDK innych firm obsługują interfejs API 31: niektórzy dostawcy pakietów SDK publikują te informacje w pliku manifestu, a w przypadku innych wymagane będzie dodatkowe sprawdzenie. Jeśli używasz pakietu SDK, który nie obsługuje interfejsu API 31, priorytetowo potraktuj współpracę z dostawcą pakietu SDK, aby rozwiązać ten problem.
Pamiętaj też, że targetSdkVersion aplikacji lub gry może ograniczać dostęp do prywatnych bibliotek platformy Androida. Szczegółowe informacje znajdziesz w artykule Aplikacje NDK łączące się z bibliotekami platformy.
Sprawdź też, czy w używanej przez Ciebie wersji Biblioteki pomocy Androida nie ma żadnych ograniczeń. Jak zawsze musisz zapewnić zgodność między wersją główną Biblioteki pomocy Androida a compileSdkVersion aplikacji.
Zalecamy wybranie wersji targetSdkVersion mniejszej lub równej wersji głównej biblioteki pomocy. Zachęcamy do zaktualizowania biblioteki do najnowszej zgodnej wersji, aby korzystać z najnowszych funkcji zgodności i poprawek błędów.
Testowanie aplikacji
Po zaktualizowaniu poziomu interfejsu API i funkcji aplikacji przetestuj kilka podstawowych przypadków użycia. Poniższe sugestie nie są wyczerpujące, ale mają na celu ułatwienie procesu testowania. Zalecamy przetestowanie:
- aplikacja kompiluje się do interfejsu API na poziomie 29 bez błędów i ostrzeżeń;
Czy aplikacja ma strategię na wypadek, gdy użytkownik odrzuci prośbę o uprawnienia, i czy prosi użytkownika o uprawnienia. Aby to zrobić:
- Otwórz ekran Informacje o aplikacji i wyłącz wszystkie uprawnienia.
- Otwórz aplikację i upewnij się, że nie ulega awarii.
- Przeprowadź testy podstawowych przypadków użycia i upewnij się, że wymagane uprawnienia są ponownie wyświetlane.
Obsługuje tryb uśpienia z oczekiwanymi wynikami i bez błędów.
- Za pomocą adb przełącz urządzenie testowe w tryb uśpienia, gdy aplikacja jest uruchomiona.
- Przetestuj wszystkie przypadki użycia, które aktywują wiadomości Komunikacji w chmurze Firebase (FCM).
- Przetestuj wszystkie przypadki użycia, które korzystają z alarmów lub zadań.
- wyeliminować wszelkie zależności od usług w tle;
- Przełączanie aplikacji w tryb czuwania
- Przetestuj wszystkie przypadki użycia, które aktywują wiadomości Komunikacji w chmurze Firebase (FCM).
- Przetestuj wszystkie przypadki użycia, które korzystają z alarmów.
- Za pomocą adb przełącz urządzenie testowe w tryb uśpienia, gdy aplikacja jest uruchomiona.
Obsługuje robienie nowych zdjęć i nagrywanie filmów
- Sprawdź, czy aplikacja prawidłowo obsługuje ograniczone
ACTION_NEW_PICTUREiACTION_NEW_VIDEOkomunikaty (czyli przeniesione do zadań JobScheduler). - Upewnij się, że wszystkie krytyczne przypadki użycia, które zależą od tych zdarzeń, nadal działają.
- Sprawdź, czy aplikacja prawidłowo obsługuje ograniczone
Obsługuje udostępnianie plików innym aplikacjom - Przetestuj dowolny przypadek użycia, który udostępnia dane pliku innej aplikacji (nawet innej aplikacji tego samego dewelopera).
- Sprawdź, czy treść jest widoczna w drugiej aplikacji i nie powoduje awarii.
Dodatkowe informacje
Wyraź zgodę na otrzymywanie e-maili w Konsoli Google Play, abyśmy mogli wysyłać Ci ważne aktualizacje i ogłoszenia dotyczące Androida i Google Play, w tym nasz miesięczny newsletter dla partnerów.