Inicjatywa dotycząca osób i rozmów to wieloletnia inicjatywa Androida, której celem jest wyróżnienie osób i rozmów na powierzchniach systemowych telefonu. Ten priorytet wynika z faktu, że komunikacja i interakcja z innymi osobami jest nadal najbardziej cenionym i najważniejszym obszarem funkcjonalnym dla większości naszych użytkowników we wszystkich grupach demograficznych.
W Androidzie 11 wprowadziliśmy szereg funkcji, które wspierają inicjatywę dotyczącą osób i rozmów.
Obszar rozmowy
Na urządzeniach przenośnych u góry obszaru powiadomień znajduje się osobna sekcja zawierająca tylko rozmowy z osobami w czasie rzeczywistym (takie jak połączenia i wiadomości na czacie, w tym czaty grupowe). Powiadomienia w tym obszarze wyglądają i działają inaczej niż powiadomienia niezwiązane z rozmowami na wielu telefonach:
- Projekt jest inny, z silnym naciskiem na awatara reprezentującego osoby połączone z aplikacją, która prowadzi rozmowę.
- Kliknięcie powiadomienia otwiera rozmowę w aplikacji (lub dymku, jeśli rozmowa była wcześniej w dymku), a kliknięcie kursora rozwija nowe wiadomości w obszarze powiadomień do pełnej długości z pełną listą opcji.
- Dostępne są działania dotyczące konkretnych rozmów (niektóre po przytrzymaniu):
- Oznacz tę rozmowę jako priorytetową
- Przekształć tę rozmowę w dymek (opcja widoczna tylko wtedy, gdy aplikacja obsługuje dymki)
- Wycisz powiadomienia dotyczące tej rozmowy
- Ustaw niestandardowe dźwięki lub wibracje dla tej rozmowy
Rozmowy w dymkach
W Androidzie 11 i nowszych dymki można uruchamiać z powiadomień w sekcji Rozmowy. Tylko powiadomienia z powiązanym skrótem mogą być wyświetlane jako dymki. Rozmowy są automatycznie wyświetlane w dymkach, jeśli są oznaczone jako ważne lub jeśli w obszarze powiadomień jest ustawione wyświetlanie ich w dymkach.
Skróty do rozmów
Skróty do rozmów pojawiają się w menu z aplikacjami oraz obok trwałych skrótów do udostępniania w arkuszu udostępniania.
Wytyczne dotyczące interfejsu API
W tej sekcji opisujemy interfejsy API, które umożliwiają dodanie w aplikacji obsługi udostępnianego przez system obszaru, w którym wyświetlają się osoby i rozmowy.
Skróty dotyczące rozmów
Aby wziąć udział w tej inicjatywie skoncentrowanej na rozmowach, aplikacje muszą udostępniać systemowi trwałe skróty. Zdecydowanie zalecamy używanie trwałych skrótów udostępniania. W razie potrzeby możesz użyć skrótów dynamicznych w Androidzie 11, ale w przyszłości możemy usunąć tę opcję.
Aby opublikować skrót do rozmowy, wywołaj metody ShortcutManagerCompat setDynamicShortcuts(), addDynamicShortcuts() lub pushDynamicShortcut() (które automatycznie zarządzają limitem skrótów dla dewelopera). Ten skrót musi być długotrwały i zawierać dane Person dotyczące co najmniej 1 osoby, które identyfikują innych uczestników rozmowy. Zalecamy też ustawienie LocusIdCompat.
Jeśli rozmowa już nie istnieje, aplikacja może usunąć skrót za pomocą metody removeLongLivedShortcuts(). Spowoduje to usunięcie przez system wszystkich danych powiązanych z rozmową.
Chociaż skróty można usuwać, aplikacje nie powinny usuwać skrótów z pamięci podręcznej, chyba że jest to absolutnie konieczne. Skrót jest prawdopodobnie przechowywany w pamięci podręcznej, ponieważ użytkownik wszedł z nim w interakcję, aby zmienić sposób korzystania z aplikacji. Usunięcie skrótu spowoduje cofnięcie tych zmian, co może być dla użytkownika frustrujące.
Powiadomienia o rozmowach
Powiadomienie jest uznawane za powiadomienie o rozmowie, jeśli:
Powiadomienie używa
MessagingStyle.(Tylko jeśli aplikacja jest kierowana na Androida 11 lub nowszego) Powiadomienie jest powiązane z prawidłowym długotrwałym dynamicznym lub zapisanym w pamięci podręcznej skrótem udostępniania. Powiadomienie może ustawić to powiązanie, wywołując metodę
setShortcutId()lubsetShortcutInfo(). Jeśli aplikacja jest kierowana na Androida 10 lub starszego, powiadomienie nie musi być powiązane ze skrótem, jak opisano w sekcji Opcje zastępcze.Użytkownik nie obniżył priorytetu rozmowy w sekcji rozmów w ustawieniach kanału powiadomień w momencie publikacji.
Używaj LocusIdCompat
Funkcje AI na urządzeniu określają, które rozmowy mogą najbardziej zainteresować użytkownika. Do najważniejszych sygnałów należą czas od poprzedniej wizyty i częstotliwość sesji rozmów w każdej rozmowie. System wie o interakcjach z rozmową za pomocą skrótów w Menu z aplikacjami lub w powiadomieniu, jeśli są one odpowiednio oznaczone. System nie wie jednak o rozmowach, które odbyły się w całości w aplikacji, chyba że te interakcje również są otagowane. Dlatego zdecydowanie zalecamy dołączenie do skrótu elementu LocusIdCompat i dodanie adnotacji do aktywności w aplikacji lub fragmentu z powiązanym elementem LocusIdCompat. Użyj LocusIdCompat, aby umożliwić systemowi sugestii prawidłowe ocenianie rozmowy i wyświetlanie prawidłowego czasu ostatniej interakcji użytkownika (w tym interakcji w aplikacji) z rozmową. Jeśli używasz setShortcutInfo(), aby powiązać rozmowę ze skrótem, system rozmów automatycznie dołącza odpowiedni element LocusIdCompat.
Wymagania dotyczące obszaru rozmowy w aplikacjach kierowanych na Androida 10 lub starszego
Jeśli aplikacja nie jest kierowana na Androida 11, jej wiadomości nadal mogą być wyświetlane w obszarze rozmów. Aplikacja musi jednak spełniać określone wymagania. W tej sekcji opisujemy wymagania dotyczące tych aplikacji oraz działanie zastępcze, jeśli aplikacja nie spełnia wymagań.
Podstawowym wymaganiem dotyczącym uczestnictwa w przestrzeni wiadomości jest to, że aplikacja musi implementować powiadomienia MessagingStyle, które muszą odwoływać się do trwałego skrótu z powiadomienia opublikowanego w momencie opublikowania powiadomienia. Powiadomienia, które spełniają te wymagania, pojawiają się w obszarze rozmowy w ten sposób:
- Powiadomienie jest wyświetlane w stylu rozmowy.
- Przycisk Dymek jest dostępny, jeśli został zaimplementowany.
- Funkcje związane z rozmową są dostępne w trybie inline.
Jeśli powiadomienie nie spełnia tych wymagań, platforma używa opcji zastępczych do sformatowania powiadomienia. Jeśli powiadomienie spełnia wymagania jednego z przypadków zastępczych, jest wyświetlane w obszarze rozmowy ze specjalnym formatowaniem. Jeśli powiadomienie nie kwalifikuje się do żadnej z opcji zastępczych, nie jest wyświetlane w obszarze rozmowy.
Zastępczy: jeśli używany jest styl MessagingStyle, ale nie podano skrótu
Jeśli aplikacja jest przeznaczona na Androida 10 lub starszego, a powiadomienie używa MessagingStyle, ale nie wiąże wiadomości ze skrótem, powiadomienie jest wyświetlane w obszarze rozmowy w ten sposób:
- Powiadomienie jest wyświetlane w stylu rozmowy.
- Brak przycisku dymka
- Brak funkcji związanych z rozmową w oknie czatu.
Wariant awaryjny: jeśli nie użyto MessagingStyle, ale aplikacja jest rozpoznawana jako aplikacja do obsługi wiadomości
Jeśli powiadomienie nie używa MessagingStyle, ale aplikacja jest rozpoznawana przez platformę jako aplikacja do obsługi wiadomości, a parametr category powiadomienia jest ustawiony na msg, powiadomienie jest wyświetlane w obszarze rozmowy w ten sposób:
- Powiadomienie jest wyświetlane w starym stylu, sprzed Androida 11.
- Brak przycisku dymka
- Brak funkcji związanych z rozmową w oknie czatu.
Wskazówki, użytkowanie i testowanie
Ta sekcja zawiera ogólne wskazówki dotyczące korzystania z funkcji rozmowy i jej testowania.
Kiedy należy używać rozmów?
Powiadomienia o rozmowach i powiązane skróty mają na celu poprawę wrażeń użytkownika podczas rozmów w czasie rzeczywistym. Na przykład SMS-y, czaty tekstowe i rozmowy telefoniczne to rozmowy w czasie rzeczywistym, w których użytkownicy oczekują szybkiej komunikacji. Użytkownicy nie mają takich oczekiwań w przypadku e-maili i działań niezwiązanych z rozmowami.
Użytkownicy mogą usunąć daną rozmowę z sekcji rozmów, jeśli uważają, że nie jest ona we właściwym miejscu.
Sprawdzone metody
Aby zwiększyć zaangażowanie i ułatwić użytkownikom interakcje z innymi osobami i rozmowy na temat aplikacji, zalecamy stosowanie tych sprawdzonych metod.
- Aby mieć pewność, że nieodebrane połączenia będą wyświetlane w obszarze powiadomień o rozmowach priorytetowych i będą prawidłowo widoczne w widżecie rozmów, sformatuj powiadomienia o nieodebranych połączeniach jako
conversationsz kategorią ustawioną naCATEGORY_MISSED_CALL. - Udostępnij użytkownikom awatary wysokiej jakości (104 dp). W przeciwnym razie system użyje inicjałów danej osoby, co jest mniej atrakcyjne.
- Nie
cancelpowiadomienia o rozmowie, zanim użytkownik nie zobaczy wiadomości. Przykładem może być anulowanie powiadomienia podczas otwierania aplikacji w widoku, w którym użytkownik nie może zobaczyć wiadomości ani na nią odpowiedzieć. Jeśli użytkownik nie ma możliwości przeczytania wiadomości lub zareagowania na nią, anulowane powiadomienie i powiązany z nim dymek zostaną usunięte, co spowoduje utratę kontekstu rozmowy. - Podaj identyfikator URI
datadla metadanych MIME powiązanych z wiadomościami, co pozwoli Ci na wyświetlanie bardziej rozbudowanych powiadomień. - Użyj interfejsu API
Android 12 status, aby zwiększyć atrakcyjność widżetów rozmów. - Zastosuj te sprawdzone metody dotyczące skrótów do rozmów.
- Publikuj skróty do przychodzących i wychodzących rozmów w aplikacji, które nie wysyłają powiadomień push. Wiadomości przychodzące i wychodzące w tej samej rozmowie powinny mieć ten sam identyfikator skrótu. Użyj
pushDynamicShortcut(), aby opublikować skróty i zgłosić ich użycie. - Aby uniknąć niezamierzonego przycięcia awatara skrótu, podaj
AdaptiveIconDrawabledla ikony skrótu. Więcej informacji znajdziesz w sekcji Dostarczanie obrazów skrótów. - Aby pomóc systemowi w promowaniu skrótu, postępuj zgodnie ze wskazówkami dotyczącymi uzyskiwania najlepszego rankingu. Skrót jest oceniany w różnych miejscach systemu, w tym w arkuszu udostępniania w Androidzie, jeśli jest to skrót do udostępniania.
- Upewnij się, że skróty do rozmów
intentsuruchamiają bezpośrednio odpowiednią rozmowę. - Użyj bibliotek zgodności, aby wygodnie ustawić skróty jako powiązane z
conversation.
- Publikuj skróty do przychodzących i wychodzących rozmów w aplikacji, które nie wysyłają powiadomień push. Wiadomości przychodzące i wychodzące w tej samej rozmowie powinny mieć ten sam identyfikator skrótu. Użyj
Testowanie powiadomień o rozmowach i skrótów
Jeśli będziesz przestrzegać wytycznych dotyczących obszaru rozmowy, rozmowy powinny automatycznie pojawiać się w obszarze rozmowy. Aby sprawdzić, czy skrót jest prawidłowo zintegrowany, naciśnij i przytrzymaj powiadomienie. Jeśli integracja została przeprowadzona prawidłowo, w interfejsie wyświetlają się działania związane z rozmową. Jeśli powiadomienie nie jest powiązane ze skrótem, w interfejsie wyświetla się tekst informujący, że aplikacja nie obsługuje funkcji rozmowy.
Dodane skróty wyświetlają się po przytrzymaniu ikony Menu z aplikacjami. Sprawdź, czy skróty prowadzą do właściwego miejsca w aplikacji.
Dodane skróty udostępniania są wyświetlane w wierszu udostępniania bezpośredniego w panelu udostępniania, gdy udostępniasz treści, które można odebrać za pomocą skrótu udostępniania.
Widżety rozmów
W Androidzie 12 widżet rozmów rozszerza funkcję osób i rozmów wprowadzoną w Androidzie 11, umożliwiając aplikacjom wyświetlanie stanu rozmowy w widżetach rozmów.
Widżety rozmów zachęcają użytkowników do interakcji, umożliwiając im łatwe otwieranie czatów na ekranie głównym. Te widżety to ulepszone skróty, które umożliwiają użytkownikom sprawne powracanie do rozmów, a jednocześnie wyświetlają fragmenty stanu rozmowy lub inne istotne informacje.
Sprawdzanie, czy aplikacja obsługuje widżety rozmów
Aby sprawdzić, czy aplikacja obsługuje widżety rozmów, musisz mieć co najmniej 2 urządzenia z Androidem (oba z Androidem 12) i 2 konta użytkowników (po jednym na każdym urządzeniu) do wymiany wiadomości. Na potrzeby tej procedury nazwiemy konta „użytkownik A” i „użytkownik B”.
Wykonaj następujące czynności:
- Na urządzeniu użytkownika A naciśnij i przytrzymaj ikonę programu uruchamiającego. W selektorze widżetów kliknij nowy widżet rozmowy, jak pokazano na rysunku 2.
- Przeciągnij widżet na ekran główny. Powinna być dostępna lista aktywnych lub niedawnych rozmów z aplikacji użytkownika A.
- Teraz na urządzeniu użytkownika B wyślij wiadomość testową do użytkownika A.
- Na urządzeniu użytkownika A sprawdź, czy widżet został zaktualizowany i zawiera powiadomienie o wiadomości od użytkownika B.
- Opcjonalnie: poproś użytkowników A i B o ustawienie różnych wartości stanu rozmowy, aby sprawdzić, czy ich widżety prawidłowo je odzwierciedlają. Listę wartości stanu znajdziesz w artykule ConversationStatus.