Zgoda na wyświetlanie powiadomień w przypadku powiadomień z wyrażeniem zgody

Powiadomienia w Androidzie 13 korzystają z modelu zgody użytkownika, co jest zmianą w porównaniu z poprzednimi wersjami Androida, które korzystały z modelu rezygnacji. W Androidzie 13 wszystkie aplikacje muszą prosić użytkowników o zezwolenie przed wysłaniem prośby o powiadomienie. Ten model pomaga ograniczyć liczbę powiadomień, zminimalizować nadmiar informacji i umożliwia użytkownikom kontrolowanie, które powiadomienia się wyświetlają, na podstawie tego, co jest dla nich ważne. Aby obsługiwać model zgody użytkownika, producenci OEM muszą wprowadzić zmiany w systemach powiadomień i uprawnień w czasie działania.

Na tej stronie opisujemy, co producenci OEM muszą wdrożyć, aby obsługiwać tę zmianę, oraz jak sprawdzić wdrożenie.

Wprowadzanie zmian w przypadku powiadomień wymagających zgody użytkownika

Od Androida 13 aplikacje muszą deklarować zamiar wysyłania powiadomień, prosząc system o udzielenie uprawnienia na czas działania android.permission.POST_NOTIFICATION, zanim będą mogły wysyłać powiadomienia.

Na Androidzie 13 i nowszych wersjach ustawienie, które określa, czy aplikacja może wysyłać powiadomienia do użytkownika, jest przechowywane w systemie uprawnień. W wersjach Androida starszych niż 13 to ustawienie było przechowywane w systemie powiadomień. Dlatego producenci OEM muszą przenieść istniejące dane powiadomień dotyczące tego, czy aplikacja może wysyłać powiadomienia, z systemu powiadomień do systemu uprawnień w czasie działania. Producenci OEM muszą też utrzymywać w systemie powiadomień istniejące interfejsy API, które udostępniają te dane deweloperom aplikacji.

Zmiany w systemach powiadomień i uprawnień są oparte na modelu zgody użytkownika na powiadomienia i są opisane w sekcji Wytyczne dotyczące wdrażania.

Zachowanie powiadomień użytkownika w modelu opartym na wyrażeniu zgody

W tabeli poniżej przedstawiono działanie powiadomień w przypadku różnych wersji aplikacji na urządzeniu z Androidem 13:

Urządzenie z Androidem 13 Aplikacje kierowane na Androida 13 lub nowszego Aplikacje kierowane na wersje starsze niż Android 13
Nowa instalacja Powiadomienia są blokowane do momentu, gdy aplikacja o nie poprosi.

Aplikacje określają, kiedy poprosić o uprawnienia.

Powiadomienia są blokowane do momentu, gdy system operacyjny o nie poprosi.

O pozwolenie prosimy przy pierwszym uruchomieniu aplikacji.

Opublikowana aplikacja (uaktualnienie) Powiadomienia są dozwolone, dopóki aplikacja nie poprosi o ich wyłączenie.

Uprawnienia tymczasowe są przyznawane do momentu, gdy aplikacja poprosi o nie podczas pierwszego kwalifikującego się uruchomienia.

Powiadomienia są dozwolone, dopóki system operacyjny nie poprosi o zgodę na ich wyświetlanie.

Uprawnienia tymczasowe są przyznawane do pierwszego uruchomienia aplikacji.

Wskazówki dotyczące implementacji

W celu uzyskania implementacji referencyjnej zapoznaj się z usługą powiadomień, usługą uprawnieńusługą zasad. Aby wdrożyć wyjątki dla domyślnych modułów obsługi uprawnień, zapoznaj się z sekcją Uprawnienia czasu działania.

Podczas wdrażania postępuj zgodnie z tymi wytycznymi dotyczącymi zachowania powiadomień użytkownika w przypadku aplikacji kierowanych na pakiety SDK w Androidzie 13 lub starszym:

  • Nowo zainstalowane aplikacje na urządzeniu z Androidem 13 nie mogą wysyłać powiadomień bez zatwierdzenia przez użytkownika prośby o zezwolenie.
    • Jeśli aplikacja jest kierowana na Androida 13 lub nowszego, powiadomienia muszą być blokowane do momentu, gdy aplikacja o nie poprosi, ponieważ to ona kontroluje, kiedy i czy ma prosić użytkownika o zezwolenie.
    • Jeśli aplikacja jest przeznaczona na wersje starsze niż Android 13, powiadomienia muszą być blokowane do momentu wyświetlenia prośby przez system operacyjny. System operacyjny musi wyświetlić prośbę o przyznanie uprawnień przy pierwszym uruchomieniu aplikacji.
  • Każda aplikacja, która była na urządzeniu przed uaktualnieniem do Androida 13, lub każda aplikacja, która została przywrócona z kopii zapasowej, musi mieć możliwość wysyłania powiadomień do momentu, w którym użytkownik po raz pierwszy uruchomi działanie z tej aplikacji.

    • W przypadku aplikacji, które są przeznaczone na pakiet SDK w wersji Androida 13 lub nowszej, jeśli użytkownik nie dostosował wcześniej ustawień powiadomień dla tej aplikacji na poziomie aplikacji lub NotificationChannel, cofnij tymczasowe przyznanie uprawnień. Aplikacje muszą następnie poprosić użytkownika o zgodę, zanim będą mogły nadal wysyłać powiadomienia.

      Jeśli uaktualniona aplikacja kierowana na Androida 13 nie ma obecnie uprawnień do wysyłania powiadomień w ramach tymczasowego przyznania uprawnień w procesie uaktualniania, a użytkownik uruchomił ją co najmniej raz, aplikacja musi wyświetlić prośbę o przyznanie uprawnień do wysyłania powiadomień, zanim będzie mogła uruchomić kolejne usługi działające na pierwszym planie.

    • W przypadku aplikacji, których docelowy pakiet SDK ma wersję starszą niż Android 13, przechwyć pierwsze uruchomienie aktywności po utworzeniu przez aplikację co najmniej jednego NotificationChannel, aby wyświetlić prośbę o uprawnienia z pytaniem, czy użytkownik chce otrzymywać powiadomienia z aplikacji.

      Jeśli użytkownik wcześniej dostosował ustawienia powiadomień na poziomie aplikacji lub NotificationChannel dla aplikacji na urządzeniu, na którym przeprowadzana jest aktualizacja, lub w kopii zapasowej przywracanej na urządzenie, ustawienie na poziomie aplikacji musi zostać przeniesione do systemu uprawnień z flagą FLAG_PERMISSION_USER_SET. Użytkownikowi nie można wyświetlać kolejnych próśb o uprawnienia do powiadomień, chyba że aplikacja wyraźnie o to poprosi.

  • Tworzenie i przywracanie kopii zapasowej musi być wstecznie i w przód kompatybilne między urządzeniem z Androidem 13 a urządzeniem z wcześniejszą wersją systemu operacyjnego. Kopie zapasowe danych wygenerowanych na urządzeniu z Androidem 13 muszą być przywracane na urządzeniu ze starszą wersją systemu operacyjnego, a kopie zapasowe danych ze starszej wersji systemu operacyjnego muszą być przywracane na urządzeniu z Androidem 13.

  • Powiadomienia o multimediach związane z trwającym odtwarzaniem multimediów muszą być zwolnione z uprawnień do powiadomień.

Weryfikowanie zmian w systemach powiadomień i uprawnień

Aby sprawdzić wdrożenie, przeprowadź te testy: