Chatkonzepte

Azure Communication Services-Chat kann Ihnen helfen, Ihren plattformübergreifenden Anwendungen Textkommunikation in Echtzeit hinzuzufügen. Auf dieser Seite werden wichtige Chatkonzepte und -funktionen zusammengefasst. Listen mit SDKs, Sprachen, Plattformen und detaillierter Featureunterstützung finden Sie in der Übersicht Communication Services Chat Software Development Kit (SDK).

Die Chat-APIs bieten einen automatischen Skalierungsdienst für beständig gespeicherten Text und Datenkommunikation. Andere Hauptfunktionen:

  • Benutzerdefinierte Identität und Adressierung – Azure Communication Services stellt generische Identitäten bereit, um Kommunikationsendpunkte zu adressieren. Clients nutzen diese Identitäten, um sich bei dem Azure Dienst zu authentifizieren und miteinander in chat threads, das Sie kontrollieren, zu kommunizieren.
  • Verschlüsselung : Chat-SDKs verschlüsseln Datenverkehr und verhindern Manipulationen der Leitung.
  • Microsoft Teams-Besprechungen: Chat-SDKs können Teams-Besprechungen beitreten und über Teams-Chatnachrichten kommunizieren.
  • Echtzeitbenachrichtigungen: Chat-SDKs verwenden effiziente permanente Konnektivität (WebSockets), um Echtzeitbenachrichtigungen zu empfangen, z. B. wenn ein Remotebenutzer gerade schreibt. Wenn Apps im Hintergrund ausgeführt werden, stehen integrierte Funktionen zum Senden von Popupbenachrichtigungen („Popups“) zur Verfügung, um Endbenutzer über neue Threads und Nachrichten zu informieren.
  • Bot-Erweiterbarkeit – Es ist einfach, Azure-Bots zum Chatdienst mit Azure Bot-Integration hinzuzufügen.

Übersicht über Chat

Chatkonversationen finden innerhalb von Chatthreads statt. Chatthreads haben folgende Eigenschaften:

  • Eine Chatthreadidentität ist ihre ChatThreadId.
  • Chat-Threads haben zwischen 0 und 250 Benutzer als Teilnehmer, die Nachrichten an sie senden können.
  • Ein Benutzer kann Teil einer unbegrenzten Anzahl von Chat-Threads sein.
  • Nur Thread-Teilnehmer können Nachrichten senden oder empfangen, Teilnehmer hinzufügen oder Teilnehmer entfernen.
  • Benutzer werden als Teilnehmer zu allen von ihnen erstellten Chatthreads hinzugefügt.

Benutzerzugriff

Azure Communication Services unterstützt drei Ebenen der Benutzerzugriffskontrolle mithilfe der Chattoken. Details finden Sie unter "Identität und Token" . Teilnehmer haben keinen Schreibzugriff auf Nachrichten, die von anderen Teilnehmern gesendet werden, was bedeutet, dass nur der Absender der Nachricht ihre gesendeten Nachrichten aktualisieren oder löschen kann. Wenn ein anderer Teilnehmer versucht, dies zu tun, wird eine Fehlermeldung angezeigt.

Chatdaten

Azure Communication Services speichert Chatnachrichten unbegrenzt, bis sie vom Kunden gelöscht werden. Chatthreadteilnehmer können ListMessages verwenden, um den Nachrichtenverlauf für einen bestimmten Thread anzuzeigen. Benutzer, die aus einem Chatthread entfernt werden, können den vorherigen Nachrichtenverlauf anzeigen, aber keine neuen Nachrichten senden oder empfangen. Versehentlich gelöschte Nachrichten können vom System nicht wiederhergestellt werden. Weitere Informationen zu Daten, die im Azure Communication Services-Chatdienst gespeichert werden, finden Sie auf der Datenresidency- und Datenschutzseite.To learn more about data being stored in Azure Communication Services chat service, refer to the data residency and privacy page.

Im Jahr 2024 werden neue Funktionen eingeführt, in denen Kunden nach 90 Tagen zwischen unbefristeter Nachrichtenaufbewahrung oder automatischer Löschung wählen müssen. Vorhandene Nachrichten sind nicht betroffen Standard.

Kunden, die virtuelle Termine verwenden, finden Sie in unserem Datenschutz für die Teams-Interoperabilität für die Speicherung von Chatnachrichten in Teams-Besprechungen.

Diensteinschränkungen

  • Pro Chatthread sind maximal 250 Teilnehmer zulässig.
  • Die maximal zulässige Nachrichtengröße beträgt ca. 28 KB.
  • Für Chatthreads mit mehr als 20 Teilnehmern werden Lesebestätigungen und Eingabeindikatorfeatures nicht unterstützt.
  • Für Teams-Interop-Szenarien ist es die Anzahl der Azure Communication Services-Benutzer, nicht Teams-Benutzer, die unter 20 liegen müssen, damit die Eingabeindikatorfunktion unterstützt wird.
  • Für Teams-Interoperabilitätsszenarien kann das Ereignis für die Eingabeanzeige einen leeren Anzeigenamen enthalten, wenn er vom Teams-Benutzer gesendet wird.
  • In Microsoft Teams-Interop-Szenarien werden Lesebestätigungen für Teams-Benutzer nicht unterstützt.

Chatarchitektur

Es gibt zwei Kernkomponenten für die Chatarchitektur: 1) Vertrauenswürdiger Dienst und 2) Clientanwendung.

Diagram showing Communication Services' chat architecture.

  • Vertrauenswürdiger Dienst: Damit Sie eine Chatsitzung ordnungsgemäß verwalten können, benötigen Sie einen Dienst, der Ihnen hilft, mithilfe ihrer Ressourcen-Verbindungszeichenfolge eine Verbindung mit Communication Services herzustellen. Dieser Dienst ist für das Erstellen von Chatthreads sowie das Hinzufügen und Entfernen von Teilnehmern und das Ausstellen von Zugriffstoken für Benutzer zuständig. Weitere Informationen zu Zugriffstoken finden Sie in unserem Schnellstart zu Zugriffstoken.
  • Client-App: Die Clientanwendung stellt eine Verbindung mit Ihrem vertrauenswürdigen Dienst her und empfängt die Zugriffstoken, die von Benutzern zum Herstellen einer direkten Verbindung mit Communication Services verwendet werden. Nachdem Sie den Chatthread erstellt und Benutzer als Teilnehmer hinzugefügt haben, können sie die Clientanwendung verwenden, um eine Verbindung mit dem Chatthread herzustellen und Nachrichten zu senden. Echtzeitbenachrichtigungen in Ihrer Clientanwendung können verwendet werden, um Nachrichten- und Threadaktualisierungen von anderen Teilnehmern zu abonnieren.

Erstellen intelligenter, KI-basierter Chaterfahrungen

Sie können Azure AI-Dienste mit dem Chatdienst verwenden, um Anwendungsfälle wie:

  • Helfen Sie einem Support-Agent bei der Priorisierung von Tickets, indem Sie eine negative Stimmung in einer eingehenden Nachricht eines Kunden erkennen.
  • Generieren Sie eine Zusammenfassung am Ende der Unterhaltung, um sie per E-Mail per E-Mail an Kunden zu senden, und führen Sie die nächsten Schritte aus oder führen Sie zu einem späteren Zeitpunkt nach.
  • Fügen Sie einen Power Virtual Agent (PVA) in einem Azure Communication Services-Chatkanal mit einem Azure Bot und einem Relay-Bot hinzu.
  • Konfigurieren Sie einen Bot für die Ausführung auf einem oder mehreren sozialen Kanälen zusammen mit dem Chatkanal.

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

Nachrichtentypen

Im Rahmen des Nachrichtenverlaufs gibt Chat vom Benutzer generierte Nachrichten und vom System generierte Nachrichten frei.

Systemmeldungen werden generiert, wenn

  • Ein Chatthread wird aktualisiert.
  • ein Teilnehmer wurde hinzugefügt oder entfernt.
  • das Thema "Chatthread" wurde aktualisiert.

Wenn Sie einen Chatthread anrufen oder Get Messages einen Chatthread aufrufenList Messages, enthält das Ergebnis beide Arten von Nachrichten in chronologischer Reihenfolge. Bei benutzerseitig generierten Nachrichten kann der Nachrichtentyp in SendMessageOptions festgelegt werden, wenn eine Nachricht an den Chatthread gesendet wird. Wenn kein Wert angegeben wird, wird standardmäßig " text Communication Services" eingegeben. Das Festlegen dieses Werts ist beim Senden von HTML wichtig. Wenn html angegeben, werden die Inhalte von Kommunikationsdiensten sanitiert, um sicherzustellen, dass sie auf Clientgeräten sicher gerendert wird.

  • text: Eine von einem Benutzer im Rahmen eines Chatthreads verfasste und gesendete Nur-Text-Nachricht.
  • html: Eine formatierte Nachricht mit HTML, die von einem Benutzer im Rahmen eines Chatthreads verfasst und gesendet wurde.

Arten von Systemnachrichten:

  • participantAdded: Systemmeldung, die angibt, dass mindestens ein Teilnehmer zum Chatthread hinzugefügt wurde.
  • participantRemoved: Systemnachricht mit dem Hinweis, dass ein Teilnehmer aus dem Chatthread entfernt wurde
  • topicUpdated: Systemnachricht mit dem Hinweis, dass das Threadthema aktualisiert wurde.

Echtzeitbenachrichtigungen

JavaScript Chat SDK unterstützt Echtzeitbenachrichtigungen. Dieses Feature ermöglicht es Clients, bei Communication Services auf Echtzeitaktualisierungen und eingehende Nachrichten in einem Chatthread zu lauschen, ohne die APIs abfragen zu müssen.

Von der Client-App können folgende Ereignisse abonniert werden:

  • chatMessageReceived: Wenn von einem Teilnehmer eine neue Nachricht an einen Chatthread gesendet wird.
  • chatMessageEdited: Wenn eine Nachricht in einem Chatthread bearbeitet wird.
  • chatMessageDeleted: Wenn eine Nachricht in einem Chatthread gelöscht wird.
  • typingIndicatorReceived: Wenn ein anderer Teilnehmer einen Eingabeindikator an den Chatthread sendet.
  • readReceiptReceived: Wenn ein anderer Teilnehmer eine Lesebestätigung für eine gelesene Nachricht sendet.
  • chatThreadCreated – wenn ein Kommunikationsdienste-Benutzer einen Chatthread erstellt.
  • chatThreadDeleted – wenn ein Kommunikationsdienste-Benutzer einen Chatthread löscht.
  • chatThreadPropertiesUpdated: Wenn die Eigenschaften eines Chatthread aktualisiert werden. Aktuell wird nur das Aktualisieren des Threadthemas unterstützt.
  • participantsAdded: Wenn ein Benutzer als Chatthreadteilnehmer hinzugefügt wird.
  • participantsRemoved: Wenn ein vorhandener Teilnehmer aus dem Chatthread entfernt wird.
  • realTimeNotificationConnected: Wenn Echtzeitbenachrichtigungen verbunden sind.
  • realTimeNotificationDisconnected: Wenn Echtzeitbenachrichtigungen nicht verbunden sind.

Hinweis

Echtzeitbenachrichtigungen sind nicht für Serveranwendungen zu verwenden.

Serverereignisse

Mit diesem Feature können Serveranwendungen Ereignisse abhören, z. B. wenn eine Nachricht gesendet wird und ein Teilnehmer an dem Chat teil oder den Chat verlässt. Serveranwendungen können auf diese Ereignisse reagieren, Teilnehmer zum Chat hinzufügen/entfernen, Chats archivieren, Analysen durchführen und viele andere Szenarien für die Orchestrierung durchführen. Informationen dazu, welche Arten von Chatereignissen von Entwicklern verwendet werden können, finden Sie unter Serverereignisse.

Pushbenachrichtigungen

Android- und iOS-Chat-SDKs unterstützen Pushbenachrichtigungen. Um Pushbenachrichtigungen für Nachrichten zu senden, die von Ihren Benutzern verpasst wurden, während sie abwesend waren, verbinden Sie eine Notification Hub-Ressource mit der Kommunikationsdienste-Ressource, um Pushbenachrichtigungen zu senden. Dadurch werden Ihre Anwendungsbenutzer über eingehende Chats und Nachrichten benachrichtigt, wenn die mobile App nicht im Vordergrund ausgeführt wird.

IOS und Android SDK unterstützen das folgende Ereignis:

  • chatMessageReceived: Wenn von einem Teilnehmer eine neue Nachricht an einen Chatthread gesendet wird.

Android SDK unterstützt zusätzliche Ereignisse:

  • chatMessageEdited: Wenn eine Nachricht in einem Chatthread bearbeitet wird.
  • chatMessageDeleted: Wenn eine Nachricht in einem Chatthread gelöscht wird.
  • chatThreadCreated – wenn ein Kommunikationsdienste-Benutzer einen Chatthread erstellt.
  • chatThreadDeleted – wenn ein Kommunikationsdienste-Benutzer einen Chatthread löscht.
  • chatThreadPropertiesUpdated: Wenn die Eigenschaften eines Chatthread aktualisiert werden. Aktuell wird nur das Aktualisieren des Threadthemas unterstützt.
  • participantsAdded: Wenn ein Benutzer als Chatthreadteilnehmer hinzugefügt wird.
  • participantsRemoved: Wenn ein vorhandener Teilnehmer aus dem Chatthread entfernt wird.

Weitere Informationen finden Sie unter Pushbenachrichtigungen.

Hinweis

Derzeit ist das Senden von Chatpushbenachrichtigungen über den Notification Hub in der Android-Version 1.1.0 und für die iOS-Version 1.3.0 allgemein verfügbar.

Nächste Schritte

Die Artikel zu den folgenden Themen könnten Sie auch interessieren:

  • Machen Sie sich mit dem Chat SDK vertraut.