Osoby i rozmowy

Inicjatywa dotycząca osób i rozmów to wieloletni projekt związany z Androidem, który ma na celu zwiększenie widoczności osób i rozmów w interfejsach systemowych telefonu. Ten priorytet wynika z faktu, że komunikacja i interakcje z innymi osobami są nadal najbardziej cenionym i najważniejszym obszarem funkcjonalnym dla większości naszych użytkowników ze wszystkich grup demograficznych.

W Androidzie 11 wprowadziliśmy szereg funkcji, które wspierają inicjatywę dotyczącą osób i rozmów.

Pokój rozmów


Przestrzeń do rozmów to wydzielony obszar powiadomień dotyczących rozmów w czasie rzeczywistym między użytkownikami.
Ilustracja 1. Przestrzeń do rozmów.

Na urządzeniach przenośnych u góry panelu powiadomień znajduje się osobna sekcja zawierająca tylko rozmowy w czasie rzeczywistym z innymi osobami (np. połączenia i wiadomości na czacie, w tym czaty grupowe). Powiadomienia w tym miejscu wyglądają i działają inaczej niż powiadomienia niezwiązane z konwersacją na wielu telefonach:

  • Projekt jest inny, z dużym naciskiem na awatar reprezentujący osoby w połączeniu z aplikacją prowadzącą rozmowę.
  • Kliknięcie powiadomienia otwiera rozmowę w aplikacji (lub dymek, jeśli rozmowa była wcześniej wyświetlana w dymku), a kliknięcie znaku ^ rozwija nowe wiadomości w panelu powiadomień do pełnej długości z pełną listą opcji.
  • Dostępne są działania dotyczące rozmów (niektóre po długim naciśnięciu):
    • Oznaczanie rozmowy jako priorytetowej
    • Promuj tę rozmowę w dymku (wyświetlane tylko wtedy, gdy aplikacja obsługuje dymki)
    • Wycisz powiadomienia dotyczące tej rozmowy
    • Ustawianie niestandardowych dźwięków lub wibracji dla tej rozmowy

Rozmowy w dymkach

Jeśli powiadomienie spełnia wymagania dotyczące rozmowy, platforma wyświetli je jako dymek na panelu powiadomień.
Ilustracja 2. Powiadomienie uruchamiane jako dymek z zasobnika powiadomień.

Od Androida 11 dymki można uruchamiać z poziomu powiadomień w sekcji Wątki. Tylko powiadomienia z powiązanym skrótem mogą być wyświetlane w dymkach. Wątki są automatycznie wyświetlane jako dymki, jeśli są oznaczone jako ważne lub mają być wyświetlane w powiadomieniach.

Skróty w wątku

Skróty do rozmów pojawiają się w programie uruchamiającym i obok długoterminowych skrótów do udostępniania na arkuszu udostępniania.

Wytyczne dotyczące interfejsu API

W tej sekcji opisujemy interfejsy API, które umożliwiają dodanie do aplikacji obsługi udostępnianego przez system miejsca, w którym wyświetlają się osoby i rozmowy.

Skróty do Rozmów

Aby wziąć udział w tej inicjatywie, aplikacje muszą udostępniać systemowi długoterminowe skróty. Zdecydowanie zalecamy używanie długoterminowych skrótów do udostępniania. W razie potrzeby możesz używać dynamicznych skrótów na 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 mieć dołączone Person dane co najmniej 1 osoby, które identyfikują pozostałych uczestników rozmowy. Zalecamy też ustawienie parametru LocusIdCompat.

Jeśli rozmowa już nie istnieje, aplikacja może usunąć skrót za pomocą removeLongLivedShortcuts(). W takim przypadku system usunie wszystkie dane powiązane z rozmową. Chociaż skróty można usunąć, 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 wchodził z nim w interakcję, aby zmienić sposób korzystania z urządzenia. Usunięcie skrótu spowoduje cofnięcie tych zmian, co może wywołać frustrację użytkownika.

Powiadomienia w rozmowach

Powiadomienie jest uznawane za powiadomienie o rozmowie, jeśli:

  • Powiadomienie korzysta z szyfrowania MessagingStyle.

  • (Tylko jeśli aplikacja jest kierowana na Androida 11 lub nowszego) Powiadomienie jest powiązane z prawidłowym długotrwałym dynamicznym lub buforowanym skrótem do udostępniania. Powiadomienie może ustawić to powiązanie, wywołując funkcję setShortcutId() lub setShortcutInfo(). Jeśli aplikacja jest przeznaczona na Androida 10 lub starszego, powiadomienie nie musi być powiązane ze skrótem, jak opisano w sekcji opcji rezerwowych.

  • W momencie publikacji użytkownik nie obniżył rangi rozmowy w sekcji rozmów za pomocą ustawień kanału powiadomień.

Używanie LocusIdCompat

Inteligencja na urządzeniu określa rozmowy, które najbardziej interesują użytkownika. Do najważniejszych sygnałów należą aktualnośćczęstotliwość sesji rozmowy w każdej rozmowie. System rozpoznaje interakcje z rozmową z poziomu skrótów w Launcherze lub w powiadomieniu, jeśli są one prawidłowo otagowane. System nie ma jednak informacji o rozmowach, które odbyły się w całości w aplikacji, chyba że te interakcje są również otagowane. Dlatego zdecydowanie zalecamy dołączenie LocusIdCompat do skrótu i dodanie do aktywności w aplikacji lub fragmentu adnotacji 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 z rozmową (w tym interakcji w aplikacji). Jeśli użyjesz znaku setShortcutInfo() do powiązania rozmowy ze skrótem, system rozmów automatycznie dołączy odpowiedni znak LocusIdCompat.

Wymagania dotyczące przestrzeni do rozmowy w przypadku aplikacji kierowanych na Androida 10 lub starszego

Jeśli aplikacja nie jest kierowana na Androida 11, jej wiadomości mogą nadal pojawiać się w przestrzeni rozmowy. Aplikacja musi jednak spełniać określone wymagania. W tej sekcji opisujemy wymagania dotyczące tych aplikacji oraz zachowanie awaryjne, jeśli aplikacja nie spełnia tych wymagań.

Podstawowym wymaganiem dotyczącym udziału w przestrzeni wiadomości jest to, że aplikacja musi implementować powiadomienia MessagingStyle, a powiadomienia muszą odwoływać się do długoterminowego skrótu z powiadomienia, które jest publikowane w momencie wysłania powiadomienia. Powiadomienia, które spełniają te wymagania, pojawiają się w pokoju rozmowy w następujący sposób:

  • Powiadomienie jest wyświetlane w formie czatu.
  • Jeśli jest zaimplementowany, dostępny jest przycisk Bubble.
  • Funkcje dotyczące konkretnej rozmowy są dostępne w tekście.

Jeśli powiadomienie nie spełnia tych wymagań, platforma używa opcji rezerwowych do sformatowania powiadomienia. Jeśli powiadomienie spełnia wymagania jednego z tych przypadków zastępczych, jest wyświetlane w przestrzeni rozmowy ze specjalnym formatowaniem. Jeśli powiadomienie nie kwalifikuje się do żadnej z tych opcji zastępczych, nie jest wyświetlane w przestrzeni rozmowy.

Wariant awaryjny: jeśli używany jest MessagingStyle, ale nie podano skrótu

Jeśli aplikacja jest przeznaczona na Androida 10 lub starszego, a powiadomienie używa elementu MessagingStyle ale nie wiąże wiadomości ze skrótem, powiadomienie jest wyświetlane w przestrzeni rozmowy w ten sposób:

  • Powiadomienie jest wyświetlane w formie czatu.
  • Brak przycisku bąbelkowego
  • Brak funkcji dotyczących konkretnej rozmowy oferowanych w tekście

Wycofanie: jeśli nie używasz MessagingStyle, ale aplikacja jest rozpoznawaną aplikacją do obsługi wiadomości

Jeśli powiadomienie nie używa MessagingStyle ale platforma rozpoznaje aplikację jako komunikator, a parametr category powiadomienia ma wartość msg, powiadomienie jest wyświetlane w przestrzeni rozmowy w ten sposób:

  • Powiadomienie jest wyświetlane w starym stylu sprzed Androida 11.
  • Brak przycisku bąbelkowego
  • Brak funkcji dotyczących konkretnej rozmowy oferowanych w tekście

Wskazówki, użytkowanie i testowanie

W tej sekcji znajdziesz ogólne wskazówki dotyczące korzystania z funkcji konwersacji i ich testowania.

Kiedy należy używać rozmów?

Powiadomienia o rozmowach i powiązane z nimi skróty mają na celu zwiększenie wygody korzystania z 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 aktywności niezwiązanych z rozmowami.

Użytkownicy mogą usuwać rozmowy z sekcji rozmów, jeśli uważają, że nie pasują one do danego pokoju.

Sprawdzone metody

Aby zwiększyć zaangażowanie i ułatwić użytkownikom interakcje z innymi osobami oraz rozmowy w aplikacji, zalecamy stosowanie tych sprawdzonych metod.

Testowanie powiadomień o rozmowach i skrótów

Przytrzymanie rozmowy otwiera menu działań związanych z rozmową.
Rysunek 3. Możesz sprawdzić, czy powiadomienie o rozmowie jest prawidłowo skonfigurowane, przytrzymując je i sprawdzając, czy pojawiło się menu rozmowy.

Jeśli będziesz przestrzegać wytycznych dotyczących pokoju rozmów, rozmowy powinny automatycznie pojawiać się w pokoju rozmów. 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świetlą się działania związane z rozmową. Jeśli powiadomienie nie jest połączone ze skrótem, w interfejsie wyświetli się tekst informujący, że aplikacja nie obsługuje funkcji konwersacji.

Dodane skróty wyświetlają się po naciśnięciu i przytrzymaniu ikony Menu z aplikacjami. Sprawdź, czy skróty prowadzą do właściwego miejsca w aplikacji.

Dodane skróty do udostępniania są wyświetlane w wierszu bezpośredniego udostępniania na arkuszu udostępniania, gdy udostępniasz treści, które może odbierać Twój skrót do udostępniania.

Widżety rozmów

Rozmowy wyświetlane w widżetach Rozmowa
Rysunek 1. Rozmowy wyświetlane w widżetach rozmów.

W Androidzie 12 funkcja widżetu rozmów jest rozszerzeniem funkcji osób i rozmów wprowadzonej w Androidzie 11. Umożliwia ona aplikacjom wyświetlanie stanu rozmowy w widżetach rozmów.

Widżety do 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 szybki powrót do rozmów, a jednocześnie wyświetlają fragmenty stanu rozmowy lub inne istotne informacje.

Sprawdź, czy Twoja aplikacja obsługuje widżety do prowadzenia 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), aby wymieniać wiadomości. Na potrzeby tej procedury konta te będziemy nazywać „użytkownik A” i „użytkownik B”.

Interfejs selektora widżetów umożliwiający dodanie nowego widżetu rozmowy
Rysunek 2. Interfejs wyboru widżetów do dodawania nowego widżetu rozmowy.

Wykonaj następujące czynności:

  1. Na urządzeniu użytkownika A naciśnij i przytrzymaj launcher. W selektorze widżetów kliknij nowy widżet rozmowy, jak pokazano na rysunku 2.
  2. Przeciągnij widżet na ekran główny. Powinna być dostępna lista aktywnych lub ostatnich rozmów z aplikacji użytkownika A.
  3. Teraz na urządzeniu użytkownika B wyślij wiadomość testową do użytkownika A.
  4. Na urządzeniu użytkownika A sprawdź, czy widżet został zaktualizowany i wyświetla powiadomienie o wiadomości od użytkownika B.
  5. Opcjonalnie: poproś użytkownika A i użytkownika B, aby ustawili różne wartości stanu rozmowy, aby mieć pewność, że widżety prawidłowo je odzwierciedlają. Listę wartości stanu znajdziesz w artykule ConversationStatus.