Spełnij wymóg dotyczący docelowego poziomu interfejsu API w Google Play

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:

Przejście z Androida 11 (poziom API 30) na Androida 12 (poziom API 31)

Bezpieczeństwo i uprawnienia

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łanie FileUriExposedException. Jeśli chcesz udostępniać pliki poza aplikacją, zaimplementuj FileProvider.
  • 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:

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)

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)

Migracja z Androida 10 (poziom API 29) na Androida 11 (poziom API 30)

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.

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.
  • Obsługuje robienie nowych zdjęć i nagrywanie filmów

  • 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.