System promuje powiadomienia o aktualizacjach na żywo. Powiadomienia promocyjne są bardziej widoczne na interfejsach systemu, m.in. u góry panelu powiadomień i na ekranie blokady oraz jako element na pasku stanu.

Karty powiadomień promocyjnych mają te cechy:
- Domyślnie rozwinięte
- Nie można zwinąć
Aby powiadomienie mogło zostać uznane za aktualizację na żywo, musi spełniać te wymagania:
- Musi być to standardowy styl lub brak stylu,
BigTextStyle
,CallStyle
lubProgressStyle
. - W pliku manifestu Androida
android.permission.POST_PROMOTED_NOTIFICATIONS
musisz poprosić o te uprawnienia nieużywane w czasie wykonywania aplikacji. - Prośba o promocję musi być wysłana za pomocą
EXTRA_REQUEST_PROMOTED_ONGOING
lubNotificationCompat.Builder#requestPromotedOngoing
. - Musi być
ongoing
(ustaw naFLAG_ONGOING_EVENT
). - Musi być ustawiona opcja
contentTitle
. - NIE MOŻESZ ustawić żadnej opcji
customContentView
(nieRemoteViews
). - Nie może być podsumowaniem grupy utworzonej za pomocą funkcji
setGroupSummar
y. - Kanał powiadomień NIE MOŻE mieć
IMPORTANCE_MIN
.
Cechy promocji
Te interfejsy API pomogą Ci określić, czy system będzie promować Twoje powiadomienie:
Notification.FLAG_PROMOTED_ONGOING
wskazuje, czy powiadomienie jest promowane.Notification.hasPromotableCharacteristics()
sprawdza, czy system może promować powiadomienie. Ta metoda nie uwzględnia tego, czy użytkownik wyłączył aktualizacje na żywo w ustawieniach aplikacji.NotificationManager.canPostPromotedNotifications()
sprawdza, czy Twoja aplikacja może wyświetlać powiadomienia promocyjne, na przykład jeśli użytkownik włączył je lub wyłączył w ustawieniach.Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS
to działanie intencyjne, które pozwala aplikacjom wysyłać użytkowników do ustawień w celu włączenia tej funkcji.
Kryteria wykorzystania
Używaj aktualizacji na żywo w przypadku trwających, inicjowanych przez użytkownika i terminowych działań.
W toku
Aktualizacja na żywo musi przedstawiać aktywną aktywność z określonym czasem rozpoczęcia i zakończenia. Jeśli aktywność miała miejsce w przeszłości, nie używaj funkcji Aktualizacji na żywo. Zamiast tego użyj standardowego powiadomienia. Dotyczy to również zdarzeń, które jeszcze się nie rozpoczęły, chociaż w przypadku wydarzeń, które mają się wkrótce rozpocząć, możesz użyć aktualizacji na żywo.
Aktualizacje na żywo odzwierciedlają bieżące działania. Nie używaj funkcji Aktualizacji na żywo, aby oferować przyspieszony dostęp do funkcji aplikacji. Jeśli chcesz to zrobić, użyj widżetu aplikacji lub niestandardowego kafelka Szybkich ustawień.
- Odpowiednie zastosowania: aktywna nawigacja, bieżące rozmowy telefoniczne, aktywne śledzenie przejazdów i aktywne śledzenie dostawy jedzenia.
- Nieodpowiednie zastosowania: reklamy, promocje, wiadomości czatu, alerty, nadchodzące wydarzenia w kalendarzu i szybki dostęp do funkcji aplikacji.
Inicjowane przez użytkownika
Większość aktualizacji na żywo powinna dotyczyć działań, które użytkownik wykonał w sposób wyraźny, np. rozpoczęcie treningu, włączenie nawigacji samochodowej lub zamówienie przejazdu. Nie wyświetlaj informacji o otoczeniu, takich jak informacje o otoczeniu użytkownika, jego zainteresowaniach czy nadchodzących wydarzeniach, w ramach Aktualizacji na żywo. Nie zezwalaj, aby czynności wykonywane przez inne strony generowały informacje na żywo.
Czasami użytkownik może wykonać działanie, które inicjuje aktywność w przyszłości. Jeśli na przykład użytkownik kupi bilety na lot lub koncert, zapisze się do turnieju lub w inny sposób wskaże, że zamierza wziąć udział w wydarzeniu o ograniczonym czasie. W takich przypadkach warto automatycznie wyświetlać aktualizację na żywo po rozpoczęciu zaplanowanego wydarzenia. Aplikacje muszą jednak dostosować swoje wyzwalacze tak, aby pojawiały się tylko wtedy, gdy aktywność jest nieuchronna. Jeśli użytkownik wyraźnie wskaże, że chce zacząć monitorować wydarzenie w tle, takie jak mecz, możesz zacząć publikować dotyczące go informacje na żywo. W powiązanym powiadomieniu musisz jednak uwzględnić też opcję Odpinanie.
Podatność na upływ czasu
Wyświetlaj powiadomienie na żywo tylko wtedy, gdy wymaga ono uwagi użytkownika przez cały czas trwania aktywności. Najważniejszym przypadkiem użycia powiadomień na żywo jest monitorowanie, gdy użytkownik może czerpać znaczne korzyści z przejrzenia powiadomienia na żywo, aby śledzić zmieniający się stan aktywności.
Powiadomienia na żywo są często odpowiednie do działań, które wymagają przejścia między powiadomieniami na żywo a zwykłymi powiadomieniami. Na przykład wyświetlanie powiadomienia o bilecie lotniczym jest odpowiednie na wiele godzin przed lotem, ale powiadomienie powinno stać się powiadomieniem na żywo tylko wtedy, gdy użytkownik ma pilną potrzebę, na przykład gdy przybywa na lotnisko lub do miejsca wydarzenia albo gdy rozpoczyna się odprawa. Natomiast aktualizacja na żywo nie jest odpowiednia do śledzenia przesyłki, ponieważ użytkownik nie musi jej stale monitorować.
Elementy stanu
Elementy stanu pozwalają użytkownikom śledzić informacje na żywo, gdy powiadomienie nie jest widoczne. Użyj setShortCriticalText
lub setWhen
, aby przekazać ważne informacje o stanie powiadomienia dotyczącego postępu.

Notification.Builder#setSmallIcon
.
Notification.Builder#setShortCriticalText
.
Notification.Builder#setShortCriticalText
, aby przekazywać ważne informacje.Gdy
Czas „kiedy” uruchamia odliczanie czasu trwania powiadomienia, chyba że powiadomienie zostanie zamknięte lub zaktualizowane.
- Czas „kiedy” jest co najmniej 2 minuty w przyszłości: jeśli jest 10:05 rano, a czas „kiedy” ustawiony na 10:10 rano, chip wyświetli komunikat „5 min”.
- Jeśli czas jest dłuższy niż 1 minuta, powiadomienie się nie wyświetla.
- Użyj
setShowWhen
doFALSE
, jeśli nie chcesz, aby powiadomienie wyświetlane w zaslonce zawierało godzinę.
Wygląd elementu stanu
Element stanu zawsze zawiera ikonę, a opcjonalnie także tekst. Element ma maksymalną szerokość 96 dp. Wyświetlanie tekstu zależy od tych kryteriów:
- Jeśli jest ich mniej niż 7, wyświetl cały tekst.
- Jeśli tekst zajmuje mniej niż połowę miejsca, wyświetl tylko ikonę.
- Jeśli ma się wyświetlać więcej niż połowa tekstu, pokaż tyle tekstu, ile się da.
Zamknięcie
Użytkownicy mogą kontrolować widoczność powiadomień w pasku powiadomień. Publikowanie niechcianych Aktualizacji na żywo może spowodować, że użytkownicy cofną uprawnienia do publikowania przez aplikację.
Aby uniemożliwić użytkownikom całkowite wyłączenie aktualizacji na żywo, nie publikuj aktualizacji, które użytkownicy mogą zamknąć. Nie publikuj ponownie aktualizacji na żywo, które użytkownik zamknął. Użyj narzędzia setDeleteIntent
, aby wykryć odrzucone aktualizacje.