Omówienie powiadomień

Powiadomienie to wiadomość, którą Android wyświetla się poza interfejsem aplikacji, aby dostarczać użytkownikowi przypomnień, wiadomości od innych osób lub aktualnych informacji z aplikacji. Użytkownicy mogą kliknąć powiadomienie, aby otworzyć Twoją lub podjąć działanie bezpośrednio z poziomu powiadomienia.

Na tej stronie znajdziesz przegląd miejsc, w których pojawiają się powiadomienia, i dostępne funkcje zabezpieczeń. Aby zacząć tworzyć powiadomienia, przeczytaj artykuł Tworzenie .

Więcej informacji o strukturze powiadomień i wzorcach interakcji znajdziesz w Wygląd powiadomień .

Wyświetlane na urządzeniu

Powiadomienia automatycznie wyświetlają się użytkownikom w różnych lokalizacjach i formatach. Powiadomienie ma postać ikony na pasku stanu. Bardziej szczegółowy wpis w panelu powiadomień i plakietkę na ikonie aplikacji. Również powiadomienia wyświetlają się na sparowanych urządzeniach do noszenia.

Pasek stanu i panel powiadomień

Wysyłane powiadomienie najpierw wyświetla się jako ikona na pasku stanu.

Rysunek 1. Ikony powiadomień są wyświetlane po lewej stronie stanu. przeglądarki.

Użytkownicy mogą przesunąć palcem w dół po pasku stanu, aby otworzyć panel powiadomień, gdzie może wyświetlić więcej szczegółów i podjąć działania związane z powiadomieniem.

Rysunek 2. Powiadomienia w panelu powiadomień.

Użytkownicy mogą przeciągnąć w dół powiadomienie w panelu, by wyświetlić widok rozwinięty. który wyświetla dodatkowe treści i przyciski poleceń, jeśli są dostępne. Zaczyna się za Androida 13 – w tym rozwiniętym widoku znajduje się przycisk, który zatrzymuje aplikację działającą na pierwszym planie usługi.

Powiadomienie pozostaje widoczne w panelu powiadomień, dopóki nie zostanie zamknięte przez aplikację lub użytkownika.

Powiadomienie

Począwszy od Androida 5.0 powiadomienia mogą przez chwilę wyświetlać się jako pływające nazywane powiadomieniem HUD. To działanie jest zwykle ważne w przypadku ważnych powiadomienia, o których użytkownik musi wiedzieć od razu. Pojawiają się tylko jeśli urządzenie jest odblokowane.

Rysunek 3. Powiadomienie wyświetli się przed aplikacji działających na pierwszym planie.

Powiadomienie wyświetli się, gdy aplikacja wyśle powiadomienie. it znika po chwili, ale pozostaje widoczny w panelu powiadomień jako jak zwykle.

Warunki, które mogą powodować wyświetlanie powiadomień z ostrzeżeniem, są następujące:

  • aktywność użytkownika jest w trybie pełnoekranowym, na przykład wtedy, gdy aplikacja używa fullScreenIntent

  • Powiadomienie ma wysoki priorytet i korzysta z dzwonów lub wibracji urządzeń z Androidem 7.1 (poziom interfejsu API 25) lub starszym.

  • Kanał powiadomień ma duże znaczenie na urządzeniach. z Androidem 8.0 (poziom interfejsu API 26) lub nowszym.

Ekran blokady

Począwszy od Androida 5.0 powiadomienia mogą wyświetlać się na ekranie blokady.

Możesz automatycznie określić, czy powiadomienia publikowane przez aplikację mają być wyświetlane bezpiecznego ekranu blokady, a jeśli tak, to poziom szczegółowości widocznych danych.

Użytkownicy mogą wybrać poziom szczegółowości widocznych w blokadzie w ustawieniach systemowych powiadomienia na ekranie blokady lub wszystkie powiadomienia na ekranie blokady. Od Androida 8.0, użytkownicy mogą wyłączyć lub włączyć powiadomienia na ekranie blokady kanału powiadomień.

Rysunek 4. Powiadomienia na ekranie blokady zawierające treści poufne ukryte.

Więcej informacji znajdziesz w temacie Ustawianie blokady ekranu widoczność.

Plakietka ikony aplikacji

W obsługiwanych programach uruchamiających na urządzeniach z Androidem 8.0 (poziom interfejsu API 26) lub nowszym ikony aplikacji oznaczają nowe powiadomienia kolorową plakietką nazywaną kropkę powiadomienia na odpowiedniej ikonie Menu z aplikacjami.

Użytkownicy mogą dotknąć przytrzymaj ikonę aplikacji, aby zobaczyć powiadomienia z niej. Użytkownicy Może odrzucić powiadomienia lub wykonać na nich czynności, korzystając z tego menu, podobnie jak szuflady.

Rysunek 5. Plakietki powiadomień oraz dotyk i przytrzymuj menu.

Aby dowiedzieć się więcej o tym, jak działają plakietki, przeczytaj artykuł Modyfikowanie powiadomienia logo.

urządzenia z Wear OS,

Jeśli użytkownik ma sparowane urządzenie z Wear OS, będą na nim wyświetlane wszystkie powiadomienia automatycznie, w tym rozwijane szczegóły i przyciski polecenia.

Aby zwiększyć wygodę korzystania z aplikacji, dostosuj jej wygląd powiadomień na urządzeniach do noszenia i udostępniania różnych działań, sugerowane odpowiedzi i odpowiedzi rozpoznawania mowy. Dowiedz się, jak dodać na .

Rysunek 6. Powiadomienia automatycznie pojawiają się na sparowanym urządzeniu z Wear OS urządzenia.

Anatomia powiadomień

Projekt powiadomienia zależy od szablonów systemu, a aplikacja definiuje zawartość każdej części szablonu. Niektóre szczegóły pojawia się tylko w widoku rozwiniętym.

Rysunek 7. Powiadomienie z podstawowymi informacjami.

Najczęstsze części powiadomień są pokazane na rys. 7 w następujący sposób:

  1. Mała ikona: wymagana; ustaw za pomocą setSmallIcon()
  2. Nazwa aplikacji: podana przez system.
  3. Sygnatura czasowa: podana przez system, ale możesz ją zastąpić setWhen() lub ukryj za pomocą setShowWhen(false)
  4. Duża ikona: opcjonalna; zwykle jest używana tylko do zdjęć kontaktów. Nie używaj go jako ikony aplikacji. Ustaw za pomocą setLargeIcon()
  5. Tytuł jest opcjonalny. ustaw za pomocą setContentTitle()
  6. Tekst: opcjonalny; ustaw za pomocą setContentText()

Zdecydowanie zalecamy korzystanie z szablonów systemowych, by zapewnić odpowiednią zgodność projektu na wszystkich urządzeniach. W razie potrzeby możesz utworzyć powiadomienie niestandardowe układ.

Więcej informacji na temat tworzenia powiadomień związanych z tymi funkcjami oraz więcej, przeczytaj artykuł Tworzenie .

Działania powiadomień

Otwieranie każdego powiadomienia nie jest jednak wymagane, odpowiednią aktywność w aplikacji po jej kliknięciu. Oprócz tego ustawienia domyślnego powiadomienia, możesz dodać przyciski poleceń, które wykonują z poziomu powiadomienia – często bez otwierania działania – co pokazano na rys. 8.

Rysunek 8. Powiadomienie z przyciskami polecenia.

Począwszy od Androida w wersji 7.0 (poziom interfejsu API 24) możesz dodać działanie, aby odpowiedzieć wiadomości lub wpisywać tekst bezpośrednio z poziomu powiadomienia.

Począwszy od Androida 10 (poziom interfejsu API 29) platforma może automatycznie generować przyciski poleceń z sugerowanymi działaniami opartymi na intencji.

Dodawanie przycisków poleceń omówiono dokładniej w sekcji Tworzenie .

Wymagaj odblokowania urządzenia

Użytkownicy mogą zobaczyć działania związane z powiadomieniami na ekranie blokady urządzenia. Jeśli powoduje uruchomienie przez aplikację działania lub wysłanie bezpośredniej odpowiedzi. użytkownicy muszą odblokować urządzenie, zanim aplikacja będzie mogła wywołać to działanie powiadomienia.

Na Androidzie 12 (poziom interfejsu API 31) i nowszych możesz skonfigurować działanie związane z powiadomieniem w taki sposób, że urządzenie musi być odblokowane, aby aplikacja mogła wywołać to działanie. Nie niezależnie od przepływu pracy uruchomionego w ramach danej czynności. Ta opcja to dodatkowa warstwa bezpieczeństwa powiadomień na zablokowanych urządzeniach.

Aby wymagać odblokowania urządzenia przed wywołaniem danego powiadomienia przez aplikację działanie, przekaż true w setAuthenticationRequired(). podczas tworzenia działania związanego z powiadomieniem, jak widać w tym fragmencie kodu:

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Java

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build();

Powiadomienie rozwijane

Domyślnie tekst powiadomienia jest skracany do jednego wiersza. Jeśli Chcesz wydłużyć czas powiadomienia, możesz włączyć większy obszar tekstowy. które można rozwinąć po zastosowaniu dodatkowego szablonu, jak to widać na grafice 9.

Rysunek 9. Rozwijane powiadomienie dla dużych tekstu.

Możesz też utworzyć rozwijane powiadomienie z obrazem w stylu skrzynki odbiorczej podczas rozmowy na czacie lub przy użyciu elementów sterujących odtwarzaniem multimediów. Aby dowiedzieć się więcej, przeczytaj artykuł Tworzenie powiadomienia rozwijanego.

Aktualizacje i grupy powiadomień

Aby nie zasypywać użytkowników wieloma lub zbędnymi powiadomieniami podczas Jeśli są dodatkowe aktualizacje, zaktualizuj istniejący powiadomienia, niż wysłanie nowego lub skorzystaj z metody skrzynki odbiorczej powiadomienie do wyświetlenia aktualizacje rozmowy.

Jeśli jednak chcesz przesłać wiele powiadomień, rozważ pogrupowanie ich powiadomienia w grupie, dostępne w Androidzie 7.0 i nowszych.

Grupa powiadomień umożliwia zwijanie wielu powiadomień do jednego posta w panel powiadomień z podsumowaniem. Użytkownik może stopniowo rozwijać i powiadomieniach w niej. Więcej informacji znajdziesz tutaj: rysunek 10.

Rysunek 10. Zwinięta i rozwinięta grupa powiadomień.

Aby dowiedzieć się, jak dodać powiadomienia do grupy, zapoznaj się z sekcją Tworzenie grupy powiadomienia.

Kanały powiadomień

Począwszy od Androida 8.0 (poziom interfejsu API 26) wszystkie powiadomienia muszą być przypisane do lub nie pojawią się w wynikach wyszukiwania. Dzięki temu użytkownicy będą mogli wyłączyć określone powiadomienie kanałów aplikacji, zamiast wyłączać wszystkie powiadomienia. Użytkownicy mogą sterowanie opcjami wizualnymi i dźwiękowymi w każdym kanale w systemie Android jak widać na rysunku 11. Użytkownicy mogą też dotknąć przytrzymaj powiadomienie, aby zmian zachowań na powiązanym kanale.

Na urządzeniach z Androidem 7.1 (poziom interfejsu API 25) lub starszym użytkownicy mogą zarządzać powiadomienia są wysyłane tylko w przypadku poszczególnych aplikacji. Każda aplikacja ma w praktyce tylko 1 kanał na Androidzie 7.1 i starszych.

Rysunek 11. Ustawienia powiadomień dla aplikacji Zegar i jednego z jej kanałów.

Aplikacja może mieć oddzielne kanały dla każdego typu powiadomień, które powodują jej problemy. Aplikacja może również tworzyć kanały powiadomień w odpowiedzi na wybory dokonane przez użytkowników. Możesz na przykład skonfigurować osobne kanały powiadomień dla każdego grupa rozmów utworzona przez użytkownika w aplikacji do obsługi wiadomości.

W kanale określa się też poziom ważności powiadomienia w Androidzie 8.0 i nowszych, więc wszystkie powiadomienia są publikowane kanału powiadomień działa tak samo. Opisaliśmy to w następujący sposób: .

Więcej informacji znajdziesz w artykule Tworzenie powiadomień i zarządzanie nimi kanałów.

Znaczenie powiadomień

Android na podstawie ważności powiadomienia określa, jak ważne powiadomienie przeszkadza użytkownikowi w sposób wizualny i dźwiękowy. Im większe znaczenie, tym bardziej przerywające jest to powiadomienie.

Android w wersji 7.1 (poziom interfejsu API 25) i starszych, znaczenie powiadomienia jest określane przez powiadomienie priority

W Androidzie 8.0 (poziom interfejsu API 26) i nowszych powiadomienia są ważne, zależy od wartości importance kanału, na którym zostało opublikowane powiadomienie. Użytkownicy mogą zmienić znaczenie kanał powiadomień w ustawieniach systemu, jak pokazano na rys. 12.

Rysunek 12. Użytkownicy mogą zmienić znaczenie każdego kanału na Androidzie 8.0 i nowsze.

Możliwe poziomy ważności i powiązane z nimi zachowania w zakresie powiadomień to :

  • Pilne: odtwarza dźwięk i wyświetla się jako powiadomienie HUD.

  • Wysoka: odtwarza dźwięk.

  • Średni poziom: nie słychać dźwięku.

  • Niska: nie generuje dźwięku i nie jest wyświetlana na pasku stanu.

Wszystkie powiadomienia, niezależnie od ich ważności, pojawiają się w systemie nieprzerwanym lokalizacje interfejsu, np. w panelu powiadomień i plakietka w programie uruchamiającym; . Możesz jednak zmienić wygląd powiadomienia logo.

Aby dowiedzieć się więcej, przeczytaj o tym, jak ustawić znaczenie.

Tryb Nie przeszkadzać

Począwszy od Androida 5.0 (poziom interfejsu API 21) użytkownicy mogą włączać tryb Nie przeszkadzać, Wycisza dźwięki i wibracje wszystkich powiadomień. Powiadomienia nadal są są wyświetlane w interfejsie systemu w zwykły sposób, o ile użytkownik nie określi inaczej.

W trybie Nie przeszkadzać dostępne są 3 poziomy:

  • Całkowita cisza: blokuje wszystkie dźwięki i wibracje, w tym alarmy, muzykę, filmy i gry.
  • Tylko alarmy: blokuje wszystkie dźwięki i wibracje z wyjątkiem alarmów.
  • Tylko priorytetowe: użytkownicy mogą skonfigurować, które kategorie systemowe mogą przerywać ich, np. tylko alarmów, przypomnień, wydarzeń, połączeń lub wiadomości. W przypadku wiadomości i połączeń użytkownicy mogą filtrować wiadomości według nadawcy lub rozmówcy, co jest widoczne na rys. 13.

Rysunek 13. Użytkownicy mogą zezwalać na powiadomienia na podstawie: kategorie systemowe (po lewej) oraz nadawca lub rozmówca (po prawej).

W Androidzie 8.0 (poziom interfejsu API 26) i nowszych użytkownicy mogą dodatkowo zezwolić na powiadomienia z kategorii aplikacji – kanałów, zastępując tryb Nie przeszkadzać oddzielnie dla każdego kanału. Dla: Na przykład aplikacja płatnicza może mieć kanały powiadomień związanych z wypłat i wpłat. Użytkownik może zezwolić na powiadomienia o odstąpieniu od umowy, wpłacanie środków powiadomienia lub oba te tryby w trybie priorytetowym.

Na urządzeniach z Androidem 7.1 (poziom interfejsu API 25) lub starszym użytkownicy mogą zezwalać powiadomień dotyczących ich poszczególnych aplikacji, a nie z poszczególnych kanałów.

Aby skonfigurować powiadomienia dla tych ustawień użytkownika, musisz ustawić w całym systemie .

Powiadomienia dotyczące usług działających na pierwszym planie

Powiadomienie jest wymagane, gdy aplikacja działa na pierwszym planie usługaService uruchomiona w długotrwałe i dostrzegane przez użytkownika tło, takie jak multimedia . Tego powiadomienia nie można zamknąć, tak jak innych powiadomień. Aby usunąć powiadomienie, należy zatrzymać usługę lub usunąć ją z pierwszego planu stanu.

Więcej informacji: Pierwszy plan usługi. Jeśli tworzysz multimedia odtwarzacza, przeczytaj też artykuł Odtwarzanie multimediów w tle.

Limity postów

Począwszy od Androida 8.1 (poziom interfejsu API 27) aplikacje nie mogą odtwarzać dźwięku powiadomień częściej niż raz na sekundę. Jeśli aplikacja publikuje wiele powiadomień w jednym po drugie wszystkie wyświetlają się zgodnie z oczekiwaniami, ale tylko pierwsze powiadomienie na sekundę wydaje dźwięk.

Jednak Android stosuje też limit żądań podczas aktualizowania powiadomień. Jeśli zbyt często publikujesz aktualizacje pojedynczego powiadomienia, na przykład w czasie krótszym niż co 1 sekundę, system może przerwać aktualizacje.

Zgodność powiadomień

Interfejs systemu powiadomień Androida oraz interfejsy API związane z powiadomieniami nieustannie ewoluować. Aby korzystać z najnowszych funkcji interfejsu API powiadomień, jednocześnie obsługując starsze użyj interfejsu Support Library Notification API, NotificationCompat i jej podklasach, a także NotificationManagerCompat Pozwala to uniknąć pisania kodu warunkowego służącego do sprawdzania poziomów interfejsu API, ponieważ Zajmują się tym interfejsy API.

Aktualizujemy NotificationCompat w miarę rozwoju platformy, aby uwzględnić najnowsze . Jednak dostępność metody w NotificationCompat nie jest że dana funkcja będzie dostępna na starszych urządzeniach. W niektórych wywołanie nowo wprowadzonego interfejsu API na starszych urządzeniach powoduje brak działania.

Poniżej znajduje się podsumowanie najważniejszych zmian w działaniu interfejsu API na poziomie Powiadomienia Androida.

Android 5.0, poziom API 21

  • Wprowadza ekran blokady i powiadomienia z ostrzeżeniem.

  • Pozwala użytkownikowi na ustawienie telefonu w trybie Nie przeszkadzać i konfigurowanie powiadomienia mogą przerywać je, gdy urządzenie jest włączone tryb „tylko priorytetowe”.

  • Dodaje metody określające, czy powiadomienia mają być wyświetlane na ekranie blokady. na przykład setVisibility()), oraz określenie „publicznej” wersji tekstu powiadomienia.

  • Dodaje metodę setPriority(), która informuje system, jak zakłócające działanie Na przykład ustawienie wysokiego priorytetu sprawia, że wyświetlają się jako powiadomienia.

  • Dodano obsługę stosu powiadomień na Androidzie Wear (obecnie Wear OS) urządzenia. Umieść powiadomienia w grupie przy użyciu setGroup() Stosy powiadomień, nazywane później grupą lub pakietem, nie są obsługiwane w tabletów i telefonów z Androidem 7.0 (poziom interfejsu API 24).

Android 7.0, poziom API 24

  • Zmienia styl szablonów powiadomień, aby podkreślić baner powitalny i umieścić go awatarem.

  • Dodaje 3 szablony powiadomień: jeden dla aplikacji do obsługi wiadomości i 2 pozostałe dekorowania niestandardowych widoków treści dzięki możliwości rozwijania i innych dekoracje systemowe.

  • Dodaje obsługę urządzeń mobilnych, takich jak telefony i tablety, grupy powiadomień. Korzysta z tego samego interfejsu API co Android Wear (obecnie Wear) systemu operacyjnego) wprowadzone w Androidzie 5.0 (poziom API 21).

  • Umożliwia użytkownikom odpowiadanie w treści powiadomienia przy użyciu odpowiedzi w tekście. Mogą wejść który jest następnie kierowany do aplikacji nadrzędnej powiadomienia.

Android 8.0, poziom API 26

  • Powoduje umieszczanie poszczególnych powiadomień w określonym channel.

  • Umożliwia użytkownikom wyłączenie powiadomień z danego kanału zamiast wyłączania wszystkich powiadomień powiadomienia z aplikacji.

  • Sprawia, że aplikacje z aktywnymi powiadomieniami wyświetlają plakietkę powiadomienia u góry jej ikonę aplikacji na ekranie głównym lub ekranie Menu z aplikacjami.

  • Umożliwia użytkownikom odłożenie powiadomienia z panelu. Możesz ustawić czas oczekiwania na powiadomienie

  • Pozwala ustawić kolor tła powiadomienia.

  • Przeniesienie niektórych interfejsów API związanych z zachowaniem powiadomień z Notification do NotificationChannel Na przykład użyj wartości NotificationChannel.setImportance() zamiast NotificationCompat.Builder.setPriority() na Androida 8.0 lub nowszego.

Android 13.0, poziom API 33

Android 14.0, poziom API 34

  • Ogranicza powiadomienia intencji pełnoekranowej do aplikacji, które umożliwiają nawiązywanie połączeń alarmów. Używanie interfejsu API NotificationManager.canUseFullScreenIntent do: sprawdź, czy aplikacja ma odpowiednie uprawnienia. W przeciwnym razie aplikacja może używać ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT, aby otworzyć stronę ustawień na których użytkownicy mogą przyznać te uprawnienia.

  • Zmienia sposób wyświetlania użytkownikom powiadomień, których nie można zamknąć, zezwalając na odrzucanie powiadomień, nawet jeśli Flaga Notification.FLAG_ONGOING_EVENT jest ustawiona. Nie dotyczy Powiadomienia CallStyle, jeśli flaga Notification.FLAG_ONGOING_EVENT jest zestawu lub kontrolera zasad dotyczących urządzeń (DPC) oraz pakietów obsługujących firmy. Nie dotyczy to również sytuacji, gdy telefon jest zablokowany lub gdy klika Wyczyść wszystko.