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

  • nowe aplikacje i aktualizacje aplikacji przesyłane do Google Play muszą być kierowane na Androida 14 (API na poziomie 34) lub nowszego (nie dotyczy to aplikacji na Wear OS i Androida TV, które muszą być kierowane na Androida 13 (API na poziomie 33) lub nowszego);
  • Istniejące aplikacje muszą być kierowane na Androida 13 (API na poziomie 33) lub nowszego, aby były dostępne dla nowych użytkowników na urządzeniach z systemem operacyjnym Android w wersji wyższej niż docelowy poziom interfejsu API aplikacji. Aplikacje, które są kierowane na Androida 12 (API na poziomie 31) lub starszego (Androida 10 (poziom interfejsu API 29) lub starszego w przypadku Wear OS oraz Androida 11 (poziom interfejsu API 30) lub starszego w przypadku 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 tego terminu do 1 listopada 2024 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.
  • Aplikacje kierowane na format systemu operacyjnego Android Automotive lub pakowane z plikami APK kierowanymi na ten format systemu.

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ę użytkowników. Niektóre z tych zmian dotyczą tylko aplikacji, które wyraźnie deklarują obsługę w atrybutach targetSdkVersionmanifestu (nazywanego też 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 aplikacji na najnowszy poziom interfejsu API pozwala jej 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 przejść, 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

Wrażenia użytkownika

  • Powiadomienia niestandardowe: powiadomienia z niestandardowymi widokami treści nie będą już używać pełnej powierzchni powiadomienia. Zamiast tego system zastosuje szablon standardowy. Dzięki temu szablonowi niestandardowe powiadomienia mają takie same elementy dekoracyjne jak inne powiadomienia we wszystkich stanach. Takie działanie jest prawie identyczne z działaniem 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 nowszą wersję, 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 mają wpływ 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:

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 lub nowszą wersję platformy należy wziąć pod uwagę te kwestie:

  • Uprawnienia czasu działania

    • Zezwolenia na dostęp do zasobów niebezpiecznych są przyznawane tylko w czasie działania aplikacji. Twoje procesy w interfejsie użytkownika muszą umożliwiać przyznawanie 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.

Pełną listę zmian wprowadzonych w Androidzie 6.0 (poziom interfejsu API 23) znajdziesz na stronie Zmiany w zachowaniu 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śpienie i Czuwanie aplikacji, system działa w ten sposób:

    • Ogranicza dostęp do sieci
    • odroczenie alarmów, synchronizacji i zadań;
    • 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.

Pełną listę zmian wprowadzonych w Androidzie 7.0 (poziom interfejsu API 24) znajdziesz na stronie Zmiany w zachowaniu 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 w zachowaniu 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)

Przejście 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 w zachowaniu.

Kontynuuj aktualizację do wersji API 31, wykonując instrukcje podane w poprzedniej sekcji.

Modernizacja aplikacji

Podczas aktualizowania docelowego poziomu interfejsu API swoich aplikacji rozważ przyjęcie 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 ze składników Jetpacka, aby stosować się do sprawdzonych metod, unikać pisania szablonowego kodu i upraszczać skomplikowane zadania, dzięki czemu możesz skupić się na kodzie, który jest dla Ciebie ważny.
  • Używaj 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 swoich aplikacji obsługę nawigacji za pomocą gestów.
  • Przenieś aplikację z Google Cloud Messaging (GCM) do najnowszej wersji Komunikacji w chmurze Firebase.
  • korzystać z zaawansowanych funkcji 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 pliku manifestu, a w przypadku innych konieczne będzie sprawdzenie dodatkowych informacji. 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 Androida. Więcej informacji znajdziesz w artykule NDK Apps Linking to Platform Libraries.

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 zgodnej 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ń.
  • że Twoja aplikacja ma strategię na wypadek, gdy użytkownik odrzuci prośby o przyznanie uprawnień, i że 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. - Testuj dowolne przypadki użycia, które obejmują udostępnianie danych plików 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

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