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 2023 r.:

  • Nowe aplikacje muszą być kierowane na Androida w wersji 13 (poziom API 33) lub nowszej. Nie dotyczy to aplikacji na Wear OS, które muszą być kierowane na wersje od 11 (poziom interfejsu API 30) do 13 (poziom API 33) włącznie.

  • Aktualizacje aplikacji muszą być kierowane na Androida 13 lub nowszego i dostosowywać się do zmian w działaniu Androida 13. Nie dotyczy to aplikacji na Wear OS, które muszą być kierowane na Androida 11.

Aplikacje trwale prywatne – dostępne tylko dla użytkowników w konkretnej organizacji i przeznaczone tylko do dystrybucji wewnętrznej – nie muszą spełniać wymagań dotyczących docelowego poziomu interfejsu API.

Dlaczego warto kierować reklamy na nowsze pakiety SDK?

Każda nowa wersja Androida wprowadza zmiany, które poprawiają bezpieczeństwo i wydajność oraz zwiększają wygodę użytkowników Androida. Niektóre z tych zmian dotyczą tylko aplikacji, które jawnie deklarują obsługę za pomocą atrybutu manifestu targetSdkVersion (nazywanego też docelowym poziomem interfejsu API).

Kierowanie aplikacji na aktualny poziom interfejsu API zapewnia użytkownikom korzyści z tych ulepszeń. Aplikacja nadal będzie działać na starszych wersjach Androida. Kierowanie na aktualny poziom interfejsu API umożliwia też aplikacji korzystanie z najnowszych funkcji platformy, aby zadowolić użytkowników. Poza tym na Androidzie 10 (poziom interfejsu API 29) użytkownicy wyświetlają ostrzeżenie przy pierwszym uruchomieniu aplikacji, jeśli jest ona kierowana na Androida 5.1 (poziom interfejsu API 22) lub niższy.

W tym dokumencie znajdziesz ważne informacje, które musisz wiedzieć, aby zaktualizować docelowy poziom interfejsu API, aby spełniał wymagania Google Play. W zależności od wersji, do której przenosisz dane, zapoznaj się z instrukcjami w poniższych sekcjach.

.

Migracja z Androida 12 (poziom interfejsu API 31) na Androida 13 (poziom API 33)

Aby zaktualizować aplikację, aby była kierowana na Androida 13, wykonaj te czynności.

Migracja z Androida 11 (poziom interfejsu API 30) na Androida 12 (poziom API 31)

Zabezpieczenia i uprawnienia

Interfejs użytkownika

  • Powiadomienia niestandardowe: powiadomienia z niestandardowymi widokami treści nie będą już korzystać z pełnego obszaru powiadomień. Zamiast tego system zastosuje szablon standardowy. Ten szablon gwarantuje, że powiadomienia niestandardowe mają taki sam wygląd jak inne powiadomienia we wszystkich stanach. Jest to zachowanie niemal identyczne jak w przypadku Notification.DecoratedCustomViewStyle.
  • Zmiany dotyczące weryfikacji linków aplikacji na Androida: jeśli korzystasz z weryfikacji linku aplikacji na Androida, upewnij się, że filtry intencji zawierają kategorię BROWSABLE i obsługują schemat HTTPS.

Wydajność

  • Ograniczenia dotyczące uruchamiania usług działających na pierwszym planie: jeśli chcesz kierować użytkowników na Androida 12 lub nowszego, aplikacja nie może uruchamiać usług działających 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ępuje wyjątek (z wyjątkiem kilku szczególnych przypadków).

    Rozważ użycie WorkManagera do planowania i uruchamiania szybkiej pracy, gdy aplikacja działa w tle. Aby wykonać zależne od czasu działania, o które prosi użytkownik, uruchom usługi na pierwszym planie w ramach konkretnego alarmu.

  • Ograniczenia trampoliny: gdy użytkownik klika powiadomienia, niektóre aplikacje reagują, uruchamiając komponent, który rozpoczyna działanie, które użytkownik widzi i z którym wchodzi w interakcję. Ten komponent aplikacji jest nazywany trampoliną powiadomień.

    Aplikacje nie mogą rozpoczynać działań z usług lub odbiorników, które są używane jako trampoliny z powiadomieniami. Gdy użytkownik kliknie w powiadomieniu przycisk powiadomienia lub działania, aplikacja nie będzie mogła wywołać funkcji startActivity() w usłudze ani odbiorniku.

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

Migracja z Androida niższego niż 11 (poziom API 30)

Wybierz wersję Androida, z której chcesz przeprowadzić migrację:

Przejdź na Androida 5 (poziom API 21)

Zapoznaj się z odpowiednimi stronami Zmiany w działaniu każdej z poniższych wersji, aby się upewnić, że Twoja aplikacja uwzględnia zmiany wprowadzone w tych wersjach:

Kontynuuj, postępując zgodnie z instrukcjami w następnej sekcji.

Przejdź na Androida 6 (poziom API 23)

W przypadku aplikacji kierowanych na Androida 6.0 i nowsze wersje platformy należy pamiętać o tych kwestiach:

  • Uprawnienia czasu działania

    • Niebezpieczne uprawnienia są przyznawane tylko w czasie działania. Przepływy interfejsu użytkownika muszą zapewniać uprawnienia umożliwiające przyznawanie tych uprawnień.

    • W miarę możliwości upewnij się, że aplikacja jest przygotowana na odrzucenie próśb o przyznanie uprawnień. Jeśli na przykład użytkownik odrzuci prośbę o dostęp do GPS-a, upewnij się, że aplikacja ma inny sposób postępowania.

Pełną listę zmian wprowadzonych w Androidzie 6.0 (poziom interfejsu API 23) znajdziesz na stronie Zmiany w działaniu w danej wersji platformy.

Kontynuuj, postępując zgodnie z instrukcjami w następnej sekcji.

Przejdź na Androida 7 (poziom API 24)

W przypadku aplikacji kierowanych na Androida 7.0 i nowsze wersje platformy należy pamiętać o tych kwestiach:

  • Uśpienie i czuwanie aplikacji

    Projektowanie pod kątem zachowań opisanych w artykule Optymalizacja pod kątem funkcji uśpienia i czuwania aplikacji, która obejmuje stopniowe zmiany wprowadzane w kilku wersjach platformy.

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

  • Zmiany uprawnień

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

Pełną listę zmian wprowadzonych w Androidzie 7.0 (poziom interfejsu API 24) znajdziesz na stronie Zmiany w działaniu w danej wersji platformy.

Kontynuuj, postępując zgodnie z instrukcjami w następnej sekcji.

Przejdź na Androida 8 (poziom API 26)

W przypadku aplikacji kierowanych na Androida 8.0 i nowsze wersje platformy należy pamiętać o tych kwestiach:

Pełną listę zmian wprowadzonych w Androidzie 8.0 (poziom interfejsu API 26) znajdziesz na stronie Zmiany w działaniu w danej 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 sekcji Zmiany w działaniu.

Migracja z Androida 9 (poziom interfejsu API 28) na Androida 10 (poziom API 29)

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

Pełną listę zmian wprowadzonych w Androidzie 11 (poziom interfejsu API 30) znajdziesz na stronie Zmiany w działaniu.

Przejdź na interfejs API 31, postępując zgodnie z instrukcjami podanymi w poprzedniej sekcji.

Modernizacja aplikacji

Podczas aktualizowania docelowego poziomu interfejsu API swoich aplikacji zastanów się nad wdrożeniem najnowszych funkcji platformy, aby zmodernizować aplikacje i zadowolić użytkowników.

Sprawdzanie i aktualizowanie pakietów SDK oraz bibliotek

Upewnij się, że zależności zewnętrznych pakietów SDK obsługują interfejs API 31. Niektórzy dostawcy pakietów SDK publikują go w swoim pliku manifestu, a inni wymagają dodatkowego dochodzenia. Jeśli używasz pakietu SDK, który nie obsługuje interfejsu API 31, podejmij współpracę z dostawcą pakietu SDK w celu rozwiązania problemu.

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

Musisz też sprawdzić wszystkie ograniczenia, które możesz dodać w używanej wersji Biblioteki pomocy Androida. Zawsze musisz zadbać o zgodność głównej wersji biblioteki pomocy na Androida z dokumentacją compileSdkVersion Twojej aplikacji.

Zalecamy wybranie zasobu targetSdkVersion mniejszego lub równego wersji głównej Biblioteki pomocy. Zachęcamy do aktualizacji do najnowszej zgodnej biblioteki pomocy, co pozwoli Ci korzystać z najnowszych funkcji zgodności i poprawek błędów.

Testowanie aplikacji

Po odpowiednim zaktualizowaniu poziomu interfejsu API i funkcji interfejsu API musisz przetestować niektóre podstawowe przypadki użycia. Podane niżej sugestie nie są wyczerpujące, ale pomogą Ci pokierować procesem testowania. Zalecamy testowanie:

  • Kompilacja aplikacji do interfejsu API 29 nie zawiera błędów ani ostrzeżeń.
  • Aplikacja ma strategię działającą w przypadkach, gdy użytkownik odrzuca prośbę o przyznanie uprawnień i prosi o nie. Aby to zrobić:

    • Otwórz ekran Informacje o aplikacji i wyłącz poszczególne uprawnienia.
    • Otwórz aplikację i upewnij się, że nie doszło do awarii.
      • Przeprowadź testy głównych przypadków użycia i upewnij się, że wymagane uprawnienia zostały ponownie wysłane.
  • Obsługa funkcji Uśpienie z oczekiwanymi wynikami i bez błędów.

    • Korzystając z adb, umieść urządzenie testowe w uśpieniu, gdy aplikacja jest uruchomiona.
      • Przetestuj wszystkie przypadki użycia, które wywołują wiadomości Komunikacji w chmurze Firebase (FCM).
      • Przetestuj przypadki użycia, w których są używane alarmy lub zadania.
      • Wyeliminuj wszelkie zależności od usług działających w tle.
    • Ustawianie aplikacji w trybie gotowości aplikacji
      • Przetestuj wszystkie przypadki użycia, które wywołują wiadomości Komunikacji w chmurze Firebase (FCM).
      • Przetestuj przypadki użycia, w których są używane Alarmy.
  • Obsługa nowych zdjęć i filmów

  • Obsługa udostępniania plików innym aplikacjom – przetestuj każdy przypadek użycia, w którym dane plików są udostępniane innej aplikacji (nawet innej aplikacji tego samego dewelopera)

    • Sprawdź, czy treść jest widoczna w innej 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 informacje i powiadomienia dotyczące Androida i Google Play, w tym comiesięczny newsletter dla partnerów.