Aktualizacje na żywo zawierają podsumowanie ważnych informacji, dzięki czemu użytkownicy mogą śledzić postępy bez otwierania aplikacji. System promuje powiadomienia o aktualizacjach na żywo, ale użytkownicy mogą tymczasowo odrzucić lub obniżyć ich priorytet, aby stały się standardowymi powiadomieniami. Promowane powiadomienia są bardziej widoczne w systemie, m.in. u góry panelu powiadomień i na ekranie blokady oraz jako element na pasku stanu. Powiadomienia o aktualizacjach na żywo powinny być zgodne z zasadami powiadomień, które mówią o przekazywaniu krótkich, aktualnych i istotnych informacji.
Karty promowanych powiadomień mają te cechy:
- Domyślnie rozwinięte
- Nie można zwinąć
Aby powiadomienie kwalifikowało się jako aktualizacja na żywo, musi spełniać te wymagania:
- Musi to być styl standardowy,
BigTextStyle,CallStyle,ProgressStylelubMetricStyle. - W pliku manifestu Androida musi być wymagane to uprawnienie inne niż uprawnienie w czasie działania:
android.permission.POST_PROMOTED_NOTIFICATIONS - Musisz poprosić o promocję, korzystając z
EXTRA_REQUEST_PROMOTED_ONGOINGlubNotificationCompat.Builder#setRequestPromotedOngoing. - Musi to być
ongoing(ustaw wartośćFLAG_ONGOING_EVENT). - Musi mieć ustawioną wartość
contentTitle. - Nie może zawierać żadnych ustawień
customContentView(nie może zawieraćRemoteViews). - Nie może to być podsumowanie grupy korzystającej z funkcji
setGroupSummary. - Nie może NIE
setColorizedbyć równaTRUE. - Kanał powiadomień NIE MOŻE mieć wartości
IMPORTANCE_MIN.
Cechy promocji
Te interfejsy API pomagają określić, czy system będzie promować Twoje powiadomienie:
Notification.FLAG_PROMOTED_ONGOINGwskazuje, czy powiadomienie jest promowane.Notification.hasPromotableCharacteristics()sprawdza, czy system może wyświetlać powiadomienie. Ta metoda nie uwzględnia, czy użytkownik wyłączył w ustawieniach aktualizacje na żywo dla aplikacji.NotificationManager.canPostPromotedNotifications()sprawdza, czy aplikacja może wysyłać powiadomienia promowane, np. czy użytkownik włączył lub wyłączył je w ustawieniach.Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONSto działanie intencji, które umożliwia aplikacjom przekierowywanie użytkowników do Ustawień w celu włączenia tej funkcji.
Kryteria wykorzystania
Używaj aktualizacji na żywo w przypadku aktywności, które są w toku, zostały zainicjowane przez użytkownika i są wrażliwe na czas.
Trwa
Aktualizacja na żywo musi przedstawiać aktywność, która jest w trakcie realizacji, i mieć wyraźnie określony początek i koniec. Jeśli aktywność miała miejsce w przeszłości, nie używaj funkcji Live Update. Zamiast tego użyj standardowego powiadomienia. Dotyczy to również wydarzeń, które jeszcze się nie rozpoczęły, chociaż w przypadku wydarzeń, które mają się rozpocząć, można użyć funkcji Aktualizacja na żywo.
Aktualizacje na żywo to bieżące działania. Nie używaj aktualizacji na żywo, aby oferować szybszy dostęp do funkcji aplikacji. Jeśli chcesz to zrobić, użyj widżetu aplikacji lub niestandardowego kafelka Szybkich ustawień.
- Odpowiednie zastosowania: aktywna nawigacja, trwające rozmowy telefoniczne, aktywne śledzenie przejazdów i aktywne śledzenie dostawy jedzenia.
- Nieodpowiednie zastosowania: reklamy, promocje, wiadomości na czacie, alerty, nadchodzące wydarzenia w kalendarzu i szybki dostęp do funkcji aplikacji.
Inicjowane przez użytkownika
Większość aktualizacji na żywo powinna odzwierciedlać działania, które są wyraźnie wywoływane przez użytkownika, takie jak rozpoczęcie treningu, włączenie nawigacji samochodowej lub wezwanie taksówki. Nie wyświetlaj w aktualizacji na żywo informacji o otoczeniu użytkownika, jego zainteresowaniach ani nadchodzących wydarzeniach. Nie zezwalaj na generowanie aktualizacji na żywo przez działania wywołane przez inne podmioty.
Czasami użytkownik może wykonać działanie, które zainicjuje aktywność w przyszłości. Na przykład gdy użytkownik kupi bilety na lot lub koncert, zarejestruje się na turniej albo w inny sposób zadeklaruje, że weźmie udział w wydarzeniu, które odbędzie się w określonym terminie. W takich przypadkach warto automatycznie wyświetlać aktualizację na żywo po rozpoczęciu zaplanowanego wydarzenia. Aplikacje muszą jednak dostosować swoje wyzwalacze, aby pojawiały się tylko wtedy, gdy aktywność jest nieuchronna. Jeśli użytkownik wyraźnie wskaże, że chce rozpocząć monitorowanie zdarzenia w tle, np. meczu sportowego, możesz zacząć publikować aktualizacje na żywo dotyczące tego wydarzenia. W powiązanym powiadomieniu powinna się jednak znajdować też opcja Odepnij.
Pilne
Wyświetlaj aktualizację na żywo tylko wtedy, gdy wymaga ona uwagi użytkownika przez cały czas trwania aktywności. Kluczowym zastosowaniem aktualizacji na żywo jest monitorowanie, gdy użytkownik odnosi znaczną korzyść z szybkiego sprawdzenia aktualizacji na żywo, aby śledzić zmieniający się stan aktywności.
Aktualizacja na żywo jest często odpowiednia w przypadku działań, które przechodzą między aktualizacjami na żywo a normalnymi powiadomieniami. Na przykład powiadomienie z kartą pokładową można wyświetlać na wiele godzin przed lotem użytkownika, ale powinno ono stać się aktualizacją na żywo dopiero wtedy, gdy użytkownik ma pilną potrzebę, np. gdy dotrze na lotnisko lub do miejsca docelowego albo gdy rozpocznie się wejście na pokład. Z kolei aktualizacja na żywo nie jest odpowiednia do śledzenia przesyłki, ponieważ użytkownik nie musi jej stale monitorować.
Praktyki związane z UX
Użyj ikony trackera, aby wizualizować stan. Można ją dynamicznie aktualizować.
Gdy szacowany czas dotarcia jest obliczany lub jeszcze niedostępny, nie wyświetlaj pustego stanu. Podaj aktywny tekst zastępczy, np. „Myślenie…” lub „Zmiana trasy…”, aby wskazać, że system działa, jak pokazano w przykładzie.
Elementy stanu
Powiadomienia o stanie umożliwiają użytkownikom śledzenie aktualizacji na żywo, gdy powiadomienie nie jest widoczne. Używaj symboli setShortCriticalText lub setWhen, aby przekazywać ważne informacje o stanie powiadomienia opartego na postępach.
Notification.Builder#setSmallIcon.
Notification.Builder#setShortCriticalText, aby wyświetlić czas bezwzględny.
Notification.Builder#setShortCriticalText, aby przekazywać ważne informacje.Gdy czas
Gdy nadejdzie czas, włącza się odliczanie czasu trwania powiadomienia, chyba że zostanie ono zamknięte lub zaktualizowane. Poniżej znajdziesz opis działania czasu w różnych sytuacjach:
- Gdy czas jest co najmniej 2 minuty w przyszłości: jeśli aktualna godzina to 10:05, a czas ustawiony to 10:10, na elemencie pojawi się napis 5 min.
- Gdy czas jest w przeszłości: tekst nie jest wyświetlany.
- Podczas korzystania z aplikacji Chronometr w przypadku pomiaru czasu można wyświetlić minutnik w układzie.
Zobacz
setUsesChronometerisetChronometerCountdown. Minutnik chronometru jest wyświetlany na kafelku, dopóki ma wartość dodatnią. - Nie chcesz, aby czas był wyświetlany w powiadomieniu: użyj
setShowWhen, abyFALSE.
Wygląd elementu stanu
Chip stanu zawsze zawiera ikonę, a opcjonalnie także tekst. Element ma maksymalną szerokość 96 dp. Tekst będzie widoczny tylko wtedy, gdy cały zmieści się w kapslu. Tekst jest wyświetlany w zależności od tych kryteriów:
- Jeśli tekst ma mniej niż 7 znaków, wyświetl cały tekst.
- Jeśli wyświetli się mniej niż połowa tekstu, pokaż tylko ikonę.
- Jeśli wyświetlana będzie ponad połowa tekstu, pokaż jak najwięcej tekstu.
Wear OS
Aktualizacje na żywo są przekazywane na niektóre połączone urządzenia z Wear OS. Wskazówki dotyczące tego zachowania udostępniania powiadomień oraz tworzenia lokalnych aktualizacji na żywo na Wear OS znajdziesz w przewodniku po aktualizacjach na żywo na Wear OS.
Zamknięcie
Użytkownicy mogą kontrolować widoczność powiadomień w obszarze powiadomień. Publikowanie niechcianych aktualizacji na żywo może spowodować, że użytkownicy cofną uprawnienia aplikacji do publikowania.
Aby uniemożliwić użytkownikom całkowite wyłączenie aktualizacji na żywo, unikaj publikowania aktualizacji, które użytkownicy mogą odrzucić. Nie publikuj ponownie aktualizacji na żywo, które użytkownik odrzucił. Użyj narzędzia setDeleteIntent, aby wykryć odrzucone aktualizacje.
Aby wypróbować te interfejsy API, zapoznaj się z przykładową aplikacją.
Najczęstsze pytania
Pytanie: co oznacza biała kropka na końcu paska postępu?
Odpowiedź: biała kropka na końcu paska postępu wizualnie oznacza jego koniec.
Pytanie: dlaczego w przypadku aktualizacji na żywo nie są obsługiwane powiadomienia niestandardowe?
Odpowiedź: niestandardowe powiadomienia utrudniają przeprowadzanie spójnych testów i ocenę UX, ponieważ ich działanie znacznie różni się w zależności od wersji Androida i producenta urządzenia. Unikaj niestandardowych powiadomień za pomocą RemoteViews.