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

Przesyłany plik APK musi spełniać wymagania Google Play dotyczące docelowego poziomu interfejsu API.

Od 31 sierpnia 2025 r.:

  • nowe aplikacje i aktualizacje aplikacji przesyłane do Google Play muszą być kierowane na Androida 15 (API na poziomie 35) lub nowszego (nie dotyczy to aplikacji na Wear OS, na system operacyjny Android Automotive i na Androida TV, które muszą być kierowane na Androida 14 (API na poziomie 34) lub nowszego);
  • Istniejące aplikacje muszą być kierowane na Androida 14 (API na poziomie 34) lub nowszego, aby pozostały dostępne dla nowych użytkowników na urządzeniach z systemem operacyjnym Android nowszym niż docelowy poziom interfejsu API aplikacji. Aplikacje, które są kierowane na Androida 13 (API na poziomie 33) lub starszego, w tym na Androida 12 (API na poziomie 31) lub starszego w przypadku Wear OS i Androida TV, będą dostępne tylko na urządzeniach z Androidem z tym samym lub niższym poziomem interfejsu API.

Jeśli potrzebujesz więcej czasu na zaktualizowanie aplikacji, możesz poprosić o przedłużenie terminu do 1 listopada 2025 roku. 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 użytkowników korzystających z nowych pakietów SDK?

Każda nowa wersja Androida wprowadza zmiany, które poprawiają bezpieczeństwo i wydajność, a także zwiększają wygodę korzystania z tego systemu. Niektóre z tych zmian dotyczą tylko aplikacji, które wyraźnie deklarują obsługę w atrybucie targetSdkVersionmanifestu (nazywanym również docelowym poziomem interfejsu API).

Kierowanie aplikacji na aktualny poziom interfejsu API zapewnia użytkownikom korzyści wynikające z tych ulepszeń, ale jednocześnie pozwala uruchamiać ją w starszych wersjach Androida. Kierowanie na najnowszy poziom interfejsu API pozwala też korzystać z najnowszych funkcji platformy, aby zadowolić użytkowników. Ponadto od Androida 10 (poziom interfejsu API 29) użytkownicy widzą ostrzeżenie, gdy uruchamiają aplikację po raz pierwszy, jeśli jest ona kierowana na Androida 5.1 (poziom interfejsu API 22) lub starszego.

W tym dokumencie znajdziesz ważne informacje, które pomogą Ci zaktualizować docelowy poziom interfejsu API, aby spełniać wymagania Google Play. W zależności od tego, do której wersji chcesz przeprowadzić dane, postępuj zgodnie z instrukcjami podanymi w odpowiednich sekcjach.

Przejście z Androida 12 lub nowszego (poziom API 31) na nowszą wersję

Aby zaktualizować aplikację, aby kierować ją na nowszą wersję Androida, postępuj zgodnie z listą odpowiednich zmian zachowania:

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łej powierzchni powiadomienia. Zamiast tego system zastosuje standardowy szablon. Dzięki temu szablonowi niestandardowe powiadomienia mają takie same elementy dekoracyjne jak inne powiadomienia we wszystkich stanach. Sposób działania tej zasady jest niemal identyczny ze sposobem działania zasady Notification.DecoratedCustomViewStyle.
  • Zmiany w weryfikacji linków do aplikacji na Androida: jeśli korzystasz z weryfikacji linków do aplikacji na Androida, upewnij się, że filtry intencji obejmują kategorię BROWSABLE i obsługują schemat HTTPS.

Wydajność

  • Ograniczenia dotyczące uruchamiania usług na pierwszym planie: jeśli Twoja aplikacja jest 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ę na pierwszym planie, gdy działa w tle, wystąpi wyjątek (z wyjątkiem kilku szczególnych przypadków).

    Rozważ użycie WorkManagera do zaplanowania i rozpoczęcia przyspieszonego działania, gdy aplikacja działa w tle. Aby wykonać działania wymagające szybkiego działania na żądanie użytkownika, uruchom usługi na pierwszym planie w ramach alarmu precyzyjnego.

  • Ograniczenia trampoliny powiadomień: gdy użytkownicy klikają powiadomienia, niektóre aplikacje odpowiadają, uruchamiając komponent aplikacji, który uruchamia aktywność, którą użytkownik widzi i z którą wchodzi w interakcję. Ten komponent aplikacji nazywa się trampoliną powiadomień.

    Aplikacje nie mogą uruchamiać działań z usług lub odbiorników transmisji, które są używane jako trampoliny powiadomień. Gdy użytkownik kliknie powiadomienie lub przycisk działania w powiadomieniu, Twoja aplikacja nie może wywołać funkcji startActivity() w ramach usługi lub odbiornika transmisji.

Zobacz pełny zestaw zmian, które wpływają na aplikacje kierowane na Androida 12 (poziom API 31).

Przejście z wersji starszej niż Android 11 (poziom API 30)

Wybierz wersję Androida, z której będziesz przeprowadzać migrację:

Przejście na Androida 5 (poziom API 21)

Aby sprawdzić, czy Twoja aplikacja uwzględnia zmiany wprowadzone w tych wersjach, zapoznaj się z odpowiednimi stronami Zmiany w zachowaniu dla poszczególnych wersji:

Kontynuuj, wykonując instrukcje podane w następnej sekcji.

Migracja na Androida 6 (poziom interfejsu API 23)

W przypadku aplikacji kierowanych na Androida 6.0 i nowsze obowiązują te kwestie:

  • Uprawnienia czasu działania

    • Uprawnienia niebezpieczne są przyznawane tylko w czasie działania aplikacji. Twoje procesy w interfejsie użytkownika muszą umożliwiać przyznanie tych uprawnień.

    • W miarę możliwości zadbaj o to, aby aplikacja była przygotowana na odrzucenie żądań przyznania uprawnień. Jeśli na przykład użytkownik odrzuci prośbę o dostęp do GPS-a urządzenia, upewnij się, że aplikacja ma inny sposób działania.

Wyczerpujący wykaz zmian wprowadzonych w Androidzie 6.0 (poziom interfejsu API 23) znajdziesz na stronie Zmiany zachowania poświęconej tej wersji platformy.

Kontynuuj, wykonując instrukcje podane w następnej sekcji.

Migracja na Androida 7 (poziom interfejsu API 24)

W przypadku aplikacji kierowanych na Androida 7.0 lub nowszą wersję platformy obowiązują te zasady:

  • Uśpienie i tryb czuwania aplikacji

    Projektowanie z uwzględnieniem zachowań opisanych w artykule Optymalizacja pod kątem funkcji Uśpienie i Czuwanie aplikacji, który obejmuje stopniowe zmiany wprowadzone w kilku wersjach platform.

    Gdy urządzenie jest w trybie uśpienia i czuwania aplikacji, system działa w ten sposób:

    • Ogranicza dostęp do sieci
    • opóźnia alarmy, synchronizacje i zadania;
    • Ogranicza skanowanie GPS i Wi-Fi
    • Ogranicza liczbę wiadomości o normalnym priorytecie wysyłanych przez Komunikację w chmurze Firebase.
  • Zmiany uprawnień

    • System ogranicza dostęp do prywatnych katalogów aplikacji.
    • Wyświetlanie identyfikatora URI file:// poza aplikacją powoduje FileUriExposedException. Jeśli chcesz udostępniać pliki poza aplikacją, zaimplementuj:FileProvider
  • System zabrania łączenia z bibliotekami spoza NDK.

Wyczerpujący wykaz zmian wprowadzonych w Androidzie 7.0 (poziom interfejsu API 24) znajdziesz na stronie Zmiany zachowania poświęconej tej wersji platformy.

Kontynuuj, wykonując instrukcje podane w następnej sekcji.

Migracja na Androida 8 (poziom 26 interfejsu API)

W przypadku aplikacji kierowanych na Androida 8.0 i nowsze obowiązują te zasady:

Wyczerpujący wykaz zmian wprowadzonych w Androidzie 8.0 (poziom interfejsu API 26) znajdziesz na stronie Zmiany zachowania poświęconej tej wersji platformy.

Migracja z Androida 8 (poziom 26 interfejsu API) na Androida 9 (poziom 28 interfejsu API)

Pełną listę zmian wprowadzonych w Androidzie 9.0 (poziom interfejsu API 28) znajdziesz w sekcji Zmiany w zachowaniu.

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, wykonując instrukcje podane w poprzedniej sekcji.

Modernizacja aplikacji

Podczas aktualizowania docelowego poziomu interfejsu API swoich aplikacji rozważ zaimplementowanie najnowszych funkcji platformy, aby unowocześnić aplikacje i zadowolić użytkowników.

  • Aby w pełni korzystać z aparatu, rozważ użycie aplikacji CameraX, która jest w wersji beta.
  • Korzystaj z komponentów Jetpacka, aby stosować się do sprawdzonych metod, unikać pisania szablonowego kodu i uproszczać skomplikowane zadania, dzięki czemu możesz skupić się na kodzie, który jest dla Ciebie ważny.
  • Korzystaj z Kotlina, aby szybciej i z mniejszą ilością kodu pisać lepsze aplikacje.
  • Przestrzegaj wymagań i sprawdzonych metod dotyczących prywatności.
  • Dodaj do aplikacji obsługę ciemnego motywu.
  • Dodaj do aplikacji obsługę nawigacji za pomocą gestów.
  • Przenieś aplikację z Google Cloud Messaging (GCM) do najnowszej wersji Komunikacji w chmurze Firebase.
  • Korzystaj z zaawansowanego zarządzania oknami.

Sprawdzanie i aktualizowanie pakietów SDK oraz bibliotek

Upewnij się, że pakiety SDK innych firm, na których Twoja aplikacja jest zależna, obsługują interfejs API 31. Niektórzy dostawcy pakietów SDK publikują go w manifeście, a w przypadku innych konieczne będzie sprawdzenie dodatkowych kwestii. Jeśli używasz pakietu SDK, który nie obsługuje interfejsu API 31, postaraj się jak najszybciej skontaktować z dostawcą pakietu SDK, aby rozwiązać ten problem.

Pamiętaj też, że targetSdkVersion Twojej aplikacji lub gry może ograniczać dostęp do prywatnych bibliotek platformy Android. Więcej informacji znajdziesz w artykule Połączanie aplikacji NDK z bibliotekami platformy.

Sprawdź też, czy w wersji biblioteki Android Support Library, której używasz, występują jakieś ograniczenia. Jak zawsze musisz zadbać o zgodność głównej wersji Biblioteki pomocy Androida z compileSdkVersion Twojej aplikacji.

Zalecamy wybranie targetSdkVersion mniejszej lub równej głównej wersji biblioteki pomocy. Zachęcamy do zaktualizowania biblioteki wsparcia do najnowszej wersji, aby korzystać z najnowszych funkcji zgodności i poprawek błędów.

Testowanie aplikacji

Po zaktualizowaniu poziomu interfejsu API i odpowiednich funkcji aplikacji przetestuj kilka podstawowych przypadków użycia. Poniższe sugestie nie są wyczerpujące, ale mają na celu ułatwić Ci proces testowania. Zalecamy przetestowanie:

  • Aplikacja kompiluje się do interfejsu API 29 bez błędów ani ostrzeżeń.
  • Aplikacja ma strategię na przypadki, gdy użytkownik odrzuca prośby o przyznanie uprawnień, i prosi o te uprawnienia. Aby to zrobić:

    • Otwórz ekran Informacje o aplikacji i wyłącz po kolei wszystkie uprawnienia.
    • Otwórz aplikację i upewnij się, że nie ulega ona awariom.
      • Przeprowadź testy podstawowych przypadków użycia i upewnij się, że wymagane uprawnienia są ponownie wyświetlane.
  • Obsługuje Doze z oczekiwanymi wynikami i bez błędów.

    • Użyj adb, aby umieścić urządzenie testowe w trybie Doze, gdy aplikacja jest uruchomiona.
      • Testowanie wszystkich przypadków użycia, które powodują wysyłanie wiadomości w Komunikacji w chmurze Firebase (FCM).
      • Testuj przypadki użycia, które wykorzystują alarmy lub zadania.
      • Usuń wszystkie zależności od usług działających w tle.
    • Przełącz aplikację w tryb wstrzymania.
      • Testowanie wszystkich przypadków użycia, które powodują wysyłanie wiadomości w Komunikacji w chmurze Firebase (FCM).
      • Testowanie wszystkich przypadków użycia, które wykorzystują alarmy.
  • obsługuje nowe zdjęcia / filmy,

  • Obsługuje udostępnianie plików innym aplikacjom. - Sprawdź wszystkie przypadki użycia, w których dane plików są udostępniane innej aplikacji (nawet innej aplikacji tego samego dewelopera).

    • Sprawdź, czy treści są widoczne w innej aplikacji i czy nie powodują jej awarii.

Dodatkowe informacje

Zasubskrybuj e-maile w Konsoli Google Play, abyśmy mogli wysyłać Ci ważne informacje i ogłoszenia dotyczące Androida i Google Play, w tym miesięczny newsletter dla partnerów.