Osoby i rozmowy

Inicjatywa dotycząca osób i rozmów to wieloletnia inicjatywa Androida, której celem jest wyróżnienie osób i rozmów na ekranach systemu telefonu. Ten priorytet wynika z faktu, że komunikacja i współpraca z innymi osobami to nadal najbardziej ceniona i najważniejsza funkcja dla większości naszych użytkowników we wszystkich grupach demograficznych.

W Androidzie 11 wprowadziliśmy szereg funkcji, inicjatywę people and Conversation.

Wątek


Pokój rozmów to specjalny obszar powiadomień przesyłanych w czasie rzeczywistym
       rozmów między ludźmi.
Rysunek 1. Przestrzeń rozmów.

Na urządzeniach przenośnych nad panelem powiadomień znajduje się osobna sekcja z tylko rozmowami w czasie rzeczywistym (takimi jak rozmowy telefoniczne i wiadomości na czacie, w tym na czacie grupowym). Powiadomienia w tym pokoju mogą wyglądać i działać inaczej niż powiadomienia bez rozmowy:

  • Projekt jest inny, z silnym naciskiem na awatara reprezentującego ludzi i aplikację, w której toczy się rozmowa.
  • Kliknięcie powiadomienia otwiera rozmowę w aplikacji (lub bąbelku, jeśli rozmowa była wcześniej w bąbelku). Kliknięcie strzałki w dole rozszerza nowe wiadomości w panelu do pełnej długości wraz z pełną listą opcji.
  • Dostępne są działania związane z rozmową (niektóre z nich wymagają długiego naciśnięcia):
    • Oznaczanie rozmowy jako priorytetowej
    • Promuj tę rozmowę jako dymek (wyświetlane tylko wtedy, gdy aplikacja obsługuje tę funkcję) dymki)
    • Wycisz powiadomienia dotyczące tej rozmowy
    • Ustaw niestandardowe dźwięki lub wibracje dla tej rozmowy

Rozmowy w dymkach

Jeśli powiadomienie spełnia wymagania dotyczące rozmowy, platforma
       uruchamia ją jako dymek w szufladzie powiadomień.
Ilustracja 2. Powiadomienie wyświetlane jako dymek w schowku powiadomień.

Począwszy od Androida 11, bąble można uruchamiać z powiadomień w sekcji Rozmowy. Tylko powiadomienia z powiązany skrót może wyświetlać się jako dymki. Automatycznie dymek rozmów jeśli zostały oznaczone jako ważne lub wyświetlają się jako dymki w powiadomieniu. cieni.

Skróty rozmów

Skróty do rozmów są wyświetlane w Menu z aplikacjami i obok nich długotrwałych, skróty do udostępniania w arkuszu udostępniania.

Wytyczne dotyczące interfejsu API

W tej sekcji opisujemy interfejsy API, dzięki którym w aplikacji będą obsługiwane miejsce na dane, w którym wyświetlane są osoby i rozmowy.

Skróty w Rozmowach

Aby wziąć udział w tej inicjatywie skoncentrowanej na rozmowach, aplikacje muszą udostępnić systemowi długotrwałe skróty. Zdecydowanie zalecamy używanie długotrwałych skrótów do udostępniania. W razie potrzeby możesz używać dynamicznych skrótów 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 mają Person dane dotyczące jednej lub kilku osób, umożliwiające identyfikację pozostałych uczestników rozmowy. Zalecamy też ustawienie parametru LocusIdCompat.

Jeśli wątek już nie istnieje, aplikacja może usunąć skrót z removeLongLivedShortcuts(); spowoduje to usunięcie przez system wszystkich danych powiązanych z tą rozmową. Skróty można usuwać, ale aplikacje nie powinny usuwać skrótów z pamięci podręcznej o ile nie jest absolutnie konieczne; skrót prawdopodobnie znajduje się w pamięci podręcznej, ponieważ użytkownik użytkownik miał do czynienia z użytkownikiem, aby zmienić jego działanie. Usunięcie skrótu spowoduje cofnięcie tych zmian, co doprowadzi do frustracji użytkowników.

Powiadomienia w rozmowach

Powiadomienie jest uważane za powiadomienie o rozmowie, jeśli:

  • Powiadomienie używa MessagingStyle.

  • (Tylko jeśli aplikacja jest przeznaczona na Androida 11 lub nowszego) Powiadomienie jest powiązane z obowiązującym długotrwałym skrótem udostępniania dynamicznego lub z buforowanym skrótem udostępniania. Powiadomienie może utworzyć to powiązanie, wywołując metodę 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 opcje zastępcze.

  • Użytkownik nie obniżył priorytetu rozmowy w sekcji rozmów w ramach ustawień kanału powiadomień w momencie publikowania.

Używanie LocusIdCompat

Inteligencja na urządzeniu określa, które rozmowy mogą zainteresować użytkownika. Do najważniejszych sygnałów należą czas od poprzedniej wizyty oraz częstotliwość sesji rozmów w każdej rozmowie. System wie o interakcjach z rozmową z poziomu skrótów w Menu lub powiadomienia, jeśli są odpowiednio otagowane. System nie wie jednak o rozmowach, które odbywają się w aplikacji, chyba że te interakcje są też otagowane. Dlatego zdecydowanie zalecamy dołączenie tagu LocusIdCompat do skrót i opatrzyć je adnotacjami powiązane konto LocusIdCompat. Użyj formatu: LocusIdCompat system sugestii mógł odpowiednio pozycjonować rozmowę i umożliwić system wyświetla poprawny czas ostatniej interakcji użytkownika (w tym interakcji w aplikacji) z rozmową. Jeśli używasz setShortcutInfo() aby powiązać wątek ze skrótem, automatycznie dołącza odpowiednią wartość LocusIdCompat.

Wymagania dotyczące pokoju rozmów w przypadku aplikacji kierowanych na Androida 10 lub starszego

Jeśli aplikacja nie jest kierowana na Androida 11, wysyłane w niej wiadomości dostępne w obszarze rozmów. Aplikacja musi jednak spełniać określone wymagania. W tej sekcji opisano wymagania dotyczące tych aplikacji oraz zachowanie kreacji zastępczej, jeśli aplikacja nie spełnia wymagań.

Podstawowym wymaganiem dla korzystania z przestrzeni czatu jest, że aplikacja musi zastosuj MessagingStyle które powiadomienia muszą odnosić się do długotrwały skrót do powiadomienia publikowanego na po opublikowaniu powiadomienia. Powiadomienia, które spełniają te wymagania, pojawiają się w pokoju z rozmową w następujący sposób:

  • Powiadomienie jest wyświetlane w stylu rozmowy
  • Przycisk Bubble jest dostępny, jeśli został zaimplementowany
  • Funkcje dopasowane do rozmowy są dostępne w tekście

Jeśli powiadomienie nie spełnia tych wymagań, platforma używa opcji zapasowych do formatowania powiadomienia. Jeśli powiadomienie spełnia wymagania w przypadku obu alternatyw, wyświetla się w miejscu rozmowy ze specjalnym formatowaniem. Jeśli powiadomienie nie kwalifikuje się do żadnej opcji zastępczej, nie jest wyświetlane w obszarze rozmowy.

Zastępcza: jeśli używana jest funkcja MessagingStyle, ale nie podano skrótu

Jeśli aplikacja jest kierowana na Androida 10 lub starszego, a powiadomienie zawiera MessagingStyle ale nie wiąże wiadomości ze skrótem, będzie wyświetlany w pokoju rozmowy w taki sposób:

  • Powiadomienia są wyświetlane w stylu rozmowy.
  • Brak przycisku w bąbelku
  • W tekście nie są dostępne żadne funkcje związane z konkretnymi rozmowami.

Wartość domyślna: jeśli nie używasz atrybutu MessagingStyle, ale aplikacja jest rozpoznawaną aplikacją do wysyłania wiadomości

Jeśli powiadomienie nie korzysta z MessagingStyle, ale aplikacja jest rozpoznawana przez platformę jako aplikacja do obsługi wiadomości, a jej parametr category jest ustawiony na msg, powiadomienie jest wyświetlane w miejscu konwersacji z takim zachowaniem:

  • Powiadomienie jest wyświetlane w starym stylu sprzed Androida 11
  • Brak przycisku dymku.
  • Brak funkcji związanych z konkretną rozmową.

Wskazówki, użytkowanie i testowanie

W tej sekcji znajdziesz ogólne wskazówki dotyczące używania i testowania funkcji konwersacji.

Kiedy warto używać rozmów?

Powiadomienia o rozmowie i powiązane skróty mają na celu poprawę działania funkcji 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 ani aktywności, które nie mają związku z tematem. w rozmowach.

Użytkownicy mają możliwość usunięcia danej rozmowy z rozmowy, jeśli czują, że nie są we właściwym miejscu.

Sprawdzone metody

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

  • Aby nieodebrane połączenia były widoczne w rozmowie priorytetowej i poprawnie wyświetlić widżet konwersji, format powiadomień o nieodebranych połączeniach jako conversations z Ustawiono kategorię na CATEGORY_MISSED_CALL.
  • Użytkownikom należy udostępnić wysokiej jakości awatary (104 dp); w przeciwnym razie system będzie używać ich inicjałów, co jest mniej angażujące.
  • Nie wysyłaj cancel powiadomienia o rozmowie, dopóki użytkownik nie zobaczy wiadomości. Jeden Przykładem może być anulowanie powiadomienia podczas otwierania aplikacji w widoku w których użytkownik nie może zobaczyć ani wysłać wiadomości. Jeśli użytkownik nie otrzyma atrybutu przeczytać lub odnieść się do wiadomości, anulowanego powiadomienia powiązany dymek jest usuwany, co skutkuje utratą kontekstu rozmowy.
  • Podaj data Identyfikator URI metadanych powiązanych z wiadomościami związanymi z MIME. Zapewnia bogatsze funkcje powiadomień.
  • Korzystanie z Android 12 status Interfejs API, który zwiększa atrakcyjność widżetów rozmów.
  • Stosuj te sprawdzone metody dotyczące skrótów w rozmowach.
    • publikować 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 dotyczące tego samego konta rozmowa powinna mieć taki sam identyfikator skrótu. Użyj formatu pushDynamicShortcut() aby opublikować skróty i zgłaszać użycie.
    • Aby uniknąć przypadkowego przycięcia awatara skrótu, podajAdaptiveIconDrawableikonę skrótu. Więcej informacji znajdziesz w artykule Przesyłanie zdjęć skrótów.
    • Aby ułatwić systemowi awansowanie skrótu, wykonaj jak uzyskać najlepszą pozycję w rankingu. Skrót jest klasyfikowany na różnych platformach systemowych, w tym na Androidzie arkusza udostępniania, jeśli jest to skrót do udostępniania.
    • Upewnij się, że skróty do rozmów intentsotwierają się bezpośrednio w odpowiedniej rozmowie.
    • Użyj bibliotek kompatybilności, aby wygodnie ustawić skróty jako powiązane z kartą conversation.

Testowanie powiadomień o rozmowach i skrótów

Długie naciśnięcie rozmowy otwiera menu czynności związanych z tą rozmową.
Rysunek 3. Aby sprawdzić, czy powiadomienie o rozmowie jest prawidłowo skonfigurowane, naciśnij je długo i sprawdź, czy pojawia się menu rozmowy.

Jeśli przestrzegasz wytycznych dotyczących pokoju rozmowy, powinny automatycznie pojawiać się w pokoju rozmów. Aby sprawdzić, czy skrót jest poprawnie zintegrowany, przytrzymaj go kliknij powiadomienie. Jeśli integracja została przeprowadzona prawidłowo, interfejs będzie zawierać działania związane z rozmową. Jeśli powiadomienie nie jest powiązane z skrótem, w interfejsie wyświetli się komunikat informujący, że aplikacja nie obsługuje funkcji czatu.

Dodane skróty pojawiają się po przytrzymaniu w Menu z aplikacjami. Sprawdź, czy skróty zaprowadzą Cię we właściwe miejsce .

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

Widżety rozmów

Wątki wyświetlane w widżetach rozmów
Rysunek 1. Wątki wyświetlane w widżetach rozmów.

W Androidzie 12 funkcja widżetu rozmów opiera się na osobach funkcja rozmów wprowadzona w Androidzie 11 przez zezwolenie aplikacjom na wyświetlanie stanu rozmowy w widżetach rozmów.

Widżety rozmów ułatwiają interakcję użytkowników, umożliwiając im łatwe otwieranie czatów na ekranie głównym. Te widżety to ulepszone skróty, które pozwalają użytkownikom sprawnie wracać do rozmów, pokazując przy tym fragmenty swoich o stanie rozmowy lub innych istotnych informacjach.

Sprawdzanie, czy aplikacja obsługuje widżety rozmów

Aby sprawdzić, czy Twoja 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 1 na każdym urządzeniu), aby wymieniać się wiadomościami. Na potrzeby tej procedury będziemy je nazwać „użytkownik A” i „użytkownik B”.

Interfejs selektora widżetów do dodawania widżetu nowej rozmowy
Rysunek 2. Interfejs wyboru widżetu do dodawania nowych widżetów rozmów.

Wykonaj te czynności:

  1. Na urządzeniu użytkownika A przytrzymaj program uruchamiający. W selektorze widżetów kliknij nowy widżet dla wątku, jak pokazano na rysunku 2.
  2. Przeciągnij widżet na ekran główny. Użytkownik A powinien mieć możliwość wybrania listy aktywnych lub ostatnich rozmów z aplikacji.
  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, aby odzwierciedlać powiadomienie o wiadomości od użytkownika B.
  5. Opcjonalnie: zarówno użytkownik A, jak i użytkownik B mogą ustawić rozmowę na różne wartości stanu, aby mieć pewność, że ich widżety będą je odpowiednio odzwierciedlać. Listę wartości stanu znajdziesz w kolumnie ConversationStatus.