Pojęcia dotyczące czatu

Czat usług Azure Communication Services może pomóc w dodaniu komunikacji tekstowej w czasie rzeczywistym do aplikacji międzyplatformowych. Ta strona zawiera podsumowanie kluczowych pojęć i możliwości czatu. Zobacz Omówienie zestawu SDK (Chat Software Development Kit) usług komunikacyjnych, aby uzyskać listę zestawów SDK, języków, platform i szczegółowej obsługi funkcji.

Interfejsy API czatu zapewniają usługę automatycznego skalowania na potrzeby trwałej komunikacji tekstu i danych. Inne kluczowe funkcje to:

  • Tożsamość niestandardowa i adresowanie — usługi Azure Communication Services udostępniają ogólne tożsamości do adresowania punktów końcowych komunikacji. Klienci używają tych tożsamości do uwierzytelniania w usłudze platformy Azure i komunikowania się ze sobą w chat threads ramach kontroli.
  • Szyfrowanie — zestawy SDK czatów szyfrują ruch i uniemożliwiają manipulowanie przewodem.
  • Spotkania w aplikacji Microsoft Teams — zestawy SDK czatów mogą dołączać do spotkań usługi Teams i komunikować się z wiadomościami czatu usługi Teams.
  • Powiadomienia w czasie rzeczywistym — zestawy SDK czatów używają wydajnej trwałej łączności (WebSocket) do odbierania powiadomień w czasie rzeczywistym, takich jak podczas wpisywania przez użytkownika zdalnego. Gdy aplikacje działają w tle, wbudowana funkcja jest dostępna do uruchamiania wyskakujących powiadomień ("wyskakujących") w celu informowania użytkowników końcowych o nowych wątkach i komunikatach.
  • Rozszerzalność bota — łatwo jest dodać boty platformy Azure do usługi Czat przy użyciu integracji z usługą Azure Bot.

Przegląd czatu

Konwersacje czatu odbywają się w wątkach czatu. Wątki czatu mają następujące właściwości:

  • Tożsamość wątku czatu to .ChatThreadId
  • Wątki czatu mają od zera do 250 użytkowników jako uczestników, którzy mogą wysyłać do niego wiadomości.
  • Użytkownik może być częścią nieograniczonej liczby wątków czatu.
  • Tylko uczestnicy wątku mogą wysyłać lub odbierać wiadomości, dodawać uczestników lub usuwać uczestników.
  • Użytkownicy są dodawani jako uczestnicy do wszystkich tworzonych wątków czatu.

Dostęp użytkowników

Usługi Azure Communication Services obsługują trzy poziomy kontroli dostępu użytkowników przy użyciu tokenów czatu. Aby uzyskać szczegółowe informacje, zobacz Tożsamość i tokeny . Uczestnicy nie mają dostępu do zapisu do wiadomości wysyłanych przez innych uczestników, co oznacza, że tylko nadawca wiadomości może aktualizować lub usuwać wysłane wiadomości. Jeśli inny uczestnik spróbuje to zrobić, wystąpi błąd.

Dane czatu

Usługi Azure Communication Services przechowują wiadomości czatu przez czas nieokreślony, dopóki nie zostaną usunięte przez klienta. Uczestnicy wątku czatu mogą wyświetlać ListMessages historię wiadomości dla określonego wątku. Użytkownicy usunięci z wątku czatu mogą wyświetlać poprzednią historię wiadomości, ale nie mogą wysyłać ani odbierać nowych wiadomości. Przypadkowo usunięte komunikaty nie są możliwe do odzyskania przez system. Aby dowiedzieć się więcej na temat danych przechowywanych w usłudze czatu usług Azure Communication Services, zapoznaj się ze stroną przechowywania danych i prywatności.

W 2024 r. zostaną wprowadzone nowe funkcje, w których klienci muszą wybrać między nieokreślonym przechowywaniem komunikatów lub automatycznym usuwaniem po upływie 90 dni. Nie ma to wpływu na istniejące komunikaty.

W przypadku klientów korzystających z terminów wirtualnych zapoznaj się z naszą prywatnością użytkowników współdziałania usługi Teams w celu przechowywania wiadomości czatu w spotkaniach usługi Teams.

Limity usługi

  • Maksymalna liczba uczestników dozwolonych w wątku czatu wynosi 250.
  • Maksymalny dozwolony rozmiar komunikatu wynosi około 28 KB.
  • W przypadku wątków czatu z ponad 20 uczestnikami nie są obsługiwane funkcje odczytywania paragonów i wpisywania wskaźników.
  • W przypadku scenariuszy międzyoperacyjności usługi Teams jest to liczba użytkowników usług Azure Communication Services, a nie użytkowników usługi Teams, która musi być niższa niż 20, aby funkcja wskaźnika wpisywania była obsługiwana.
  • W przypadku scenariuszy międzyoperacyjności usługi Teams zdarzenie wskaźnika wpisywania może zawierać pustą nazwę wyświetlaną podczas wysyłania z użytkownika usługi Teams.
  • W przypadku scenariuszy międzyoperacyjności usługi Teams potwierdzenia odczytu nie są obsługiwane dla użytkowników usługi Teams.

Architektura czatu

Istnieją dwie podstawowe części architektury czatu: 1) Zaufana usługa i 2) Aplikacja kliencka.

Diagram showing Communication Services' chat architecture.

  • Zaufana usługa: aby prawidłowo zarządzać sesją czatu, potrzebna jest usługa, która ułatwia nawiązywanie połączenia z usługami Communication Services przy użyciu parametry połączenia zasobu. Ta usługa jest odpowiedzialna za tworzenie wątków czatu, dodawanie i usuwanie uczestników oraz wydawanie tokenów dostępu użytkownikom. Więcej informacji na temat tokenów dostępu można znaleźć w naszym przewodniku Szybki start dotyczącym tokenów dostępu.
  • Aplikacja kliencka: aplikacja kliencka łączy się z zaufaną usługą i odbiera tokeny dostępu używane przez użytkowników do łączenia się bezpośrednio z usługami komunikacyjnymi. Po utworzeniu wątku czatu i dodaniu użytkowników jako uczestników mogą oni używać aplikacji klienckiej do nawiązywania połączenia z wątkiem czatu i wysyłania wiadomości. Powiadomienia w czasie rzeczywistym w aplikacji klienckiej mogą służyć do subskrybowania aktualizacji komunikatów i wątków od innych uczestników.

Tworzenie inteligentnych, opartych na sztucznej inteligencji środowisk czatów

Usługi Azure AI można używać z usługą Chat Service do tworzenia przypadków użycia, takich jak:

  • Pomóż agentowi pomocy technicznej ustalić priorytety biletów, wykrywając negatywną tonację przychodzącego komunikatu od klienta.
  • Wygeneruj podsumowanie na końcu konwersacji, aby wysłać do klienta pocztą e-mail kolejne kroki lub wykonać kolejne czynności w późniejszym terminie.
  • Dodaj agenta wirtualnego usługi Power Virtual Agent (PVA) w kanale czatu usług Azure Communication Services za pomocą bota platformy Azure i bota przekaźnika.
  • Skonfiguruj bota do uruchamiania na co najmniej jednym kanale społecznościowym obok kanału czatu.

Diagram showing Azure Communication Services can be paired with Azure AI services.

Typy komunikatów

W ramach historii wiadomości czat udostępnia komunikaty generowane przez użytkownika i komunikaty generowane przez system.

Komunikaty systemowe są generowane, gdy

  • wątek czatu jest aktualizowany
  • uczestnik został dodany lub usunięty
  • temat wątku czatu został zaktualizowany.

Podczas wywoływania List Messages lub Get Messages wątek czatu wynik zawiera oba rodzaje wiadomości w kolejności chronologicznej. W przypadku wiadomości generowanych przez użytkownika typ wiadomości można ustawić SendMessageOptions podczas wysyłania wiadomości do wątku czatu. Jeśli żadna wartość nie zostanie podana, usługa Communication Services domyślnie wpisze text wartość. Ustawienie tej wartości jest ważne podczas wysyłania kodu HTML. Po html określeniu usługi Communication Services oczyszczają zawartość w celu zapewnienia, że są bezpiecznie renderowane na urządzeniach klienckich.

  • text: Wiadomość w postaci zwykłego tekstu skomponowana i wysłana przez użytkownika w ramach wątku czatu.
  • html: Sformatowana wiadomość przy użyciu kodu HTML, skomponowana i wysłana przez użytkownika w ramach wątku czatu.

Typy komunikatów systemowych:

  • participantAdded: Komunikat systemowy wskazujący, że co najmniej jeden uczestnik został dodany do wątku czatu.
  • participantRemoved: Komunikat systemowy wskazujący, że uczestnik został usunięty z wątku czatu.
  • topicUpdated: Komunikat systemowy wskazujący, że temat wątku został zaktualizowany.

Powiadomienia w czasie rzeczywistym

Zestaw JavaScript Chat SDK obsługuje powiadomienia w czasie rzeczywistym. Ta funkcja umożliwia klientom nasłuchiwanie usług komunikacyjnych na potrzeby aktualizacji w czasie rzeczywistym i przychodzących wiadomości do wątku czatu bez konieczności sondowania interfejsów API.

Aplikacja kliencka może subskrybować następujące zdarzenia:

  • chatMessageReceived - po wysłaniu nowej wiadomości do wątku czatu przez uczestnika.
  • chatMessageEdited — gdy wiadomość jest edytowana w wątku czatu.
  • chatMessageDeleted — po usunięciu wiadomości w wątku czatu.
  • typingIndicatorReceived — gdy inny uczestnik wysyła wskaźnik pisania do wątku czatu.
  • readReceiptReceived - gdy inny uczestnik wysyła potwierdzenie przeczytania wiadomości, którą odczytał.
  • chatThreadCreated — gdy użytkownik usług komunikacyjnych tworzy wątek czatu.
  • chatThreadDeleted — gdy użytkownik usług komunikacyjnych usuwa wątek czatu.
  • chatThreadPropertiesUpdated - podczas aktualizowania właściwości wątku czatu; obecnie obsługiwana jest tylko aktualizacja tematu dla wątku.
  • participantsAdded — gdy użytkownik zostanie dodany jako uczestnik wątku czatu.
  • participantsRemoved — gdy istniejący uczestnik zostanie usunięty z wątku czatu.
  • realTimeNotificationConnected — gdy powiadomienie w czasie rzeczywistym jest połączone.
  • realTimeNotificationDisconnected — gdy powiadomienie w czasie rzeczywistym zostanie rozłączone.

Uwaga

Powiadomienia w czasie rzeczywistym nie są używane z aplikacjami serwerowymi.

Zdarzenia serwera

Ta funkcja umożliwia aplikacjom serwerowym nasłuchiwanie zdarzeń, takich jak wysłanie wiadomości i dołączenie lub opuszczenie czatu przez uczestnika. Aplikacje serwerowe mogą reagować na te zdarzenia, dodawać/usuwać uczestników do czatu, archiwizować czaty, wykonywać analizę i wiele innych scenariuszy orkiestracji. Aby zobaczyć, jakie rodzaje zdarzeń czatu mogą być używane przez deweloperów, zobacz Zdarzenia serwera.

Powiadomienia wypychane do aplikacji

Zestawy SDK czatu dla systemu Android i iOS obsługują powiadomienia wypychane. Aby wysyłać powiadomienia wypychane dla komunikatów pominiętych przez użytkowników w czasie ich nieobecności, połącz zasób usługi Notification Hub z zasobem usługi Communication Services w celu wysyłania powiadomień wypychanych. Spowoduje to powiadomienie użytkowników aplikacji o przychodzących czatach i wiadomościach, gdy aplikacja mobilna nie jest uruchomiona na pierwszym planie.

Zestaw SDK dla systemów iOS i Android obsługuje poniższe zdarzenie:

  • chatMessageReceived - po wysłaniu nowej wiadomości do wątku czatu przez uczestnika.

Zestaw Android SDK obsługuje dodatkowe zdarzenia:

  • chatMessageEdited — gdy wiadomość jest edytowana w wątku czatu.
  • chatMessageDeleted — po usunięciu wiadomości w wątku czatu.
  • chatThreadCreated — gdy użytkownik usług komunikacyjnych tworzy wątek czatu.
  • chatThreadDeleted — gdy użytkownik usług komunikacyjnych usuwa wątek czatu.
  • chatThreadPropertiesUpdated - podczas aktualizowania właściwości wątku czatu; obecnie obsługiwana jest tylko aktualizacja tematu dla wątku.
  • participantsAdded — gdy użytkownik zostanie dodany jako uczestnik wątku czatu.
  • participantsRemoved — gdy istniejący uczestnik zostanie usunięty z wątku czatu.

Aby uzyskać więcej informacji, zobacz Powiadomienia wypychane.

Uwaga

Obecnie wysyłanie powiadomień wypychanych do czatu za pomocą usługi Notification Hub jest ogólnie dostępne w systemie Android w wersji 1.1.0 i w systemie IOS w wersji 1.3.0.

Następne kroki

Poniższe dokumenty mogą cię zainteresować: