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 eine automatische Skalierung für persistent gespeicherte Text- und Datenkommunikation. Andere Hauptfunktionen:

  • Benutzerdefinierte Identität und Adressierung: Azure Communication Services bietet generische Identitäten zur Adressierung von Kommunikationsendpunkten. 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, mithilfe der Azure Bot-Integration Azure-Bots zum Chatdienst mit hinzuzufügen.

Übersicht über Chat

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

  • Die Identität eines Chatthreads ist seine 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 zu einem Chatthread, den sie erstellen, automatisch als Teilnehmer hinzugefügt.

Benutzerzugriff

Azure Communication Services unterstützt mithilfe von Chattoken drei Ebenen der Benutzerzugriffskontrolle. Weitere Informationen finden Sie unter Identität und Token. Teilnehmer haben keinen Schreibzugriff auf Nachrichten, die von anderen Teilnehmern gesendet wurden. Somit können Nachrichten nur vom jeweiligen Absender aktualisiert oder gelöscht werden. Wenn ein anderer Teilnehmer versucht, einen solchen Vorgang auszuführen, tritt ein Fehler auf.

Chatdaten

Azure Communication Services speichert Chatthreads gemäß der Datenaufbewahrungsrichtlinie, die beim Erstellen des Threads gilt. Sie können die Aufbewahrungsrichtlinie bei Bedarf während des von Ihnen festgelegten Aufbewahrungszeitraums aktualisieren. Nachdem Sie einen Chatthread (durch eine Richtlinie oder eine API-Löschanforderung) gelöscht haben, kann er nicht mehr abgerufen werden.

Wichtig

Die in diesem Artikel beschriebenen Funktionen befinden sich derzeit in der öffentlichen Vorschauphase. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Sie können zwischen einer unbegrenzten Aufbewahrung des Threads, einer automatischen Löschung nach 30 bis 90 Tagen durch die Aufbewahrungsrichtlinie in der Create Chat Thread-APIoder einer sofortigen Löschung mithilfe der Delete Chat Message- oder der Delete Chat Thread-API wählen.

Jeder Thread, der vor der neuen Aufbewahrungsrichtlinie erstellt wurde, ist nicht betroffen, es sei denn, Sie ändern die Richtlinie ausdrücklich für diesen Thread. Wenn Sie eine Supportanfrage für einen gelöschten Chatthread mehr als 30 Tage nach dem Löschen dieses Threads durch die Aufbewahrungsrichtlinie stellen, kann er nicht mehr abgerufen werden, und es sind keine Informationen mehr zu diesem Thread verfügbar. Öffnen Sie bei Bedarf so schnell wie möglich ein Supportticket innerhalb des 30-Tage-Fensters, nachdem Sie einen Thread erstellt haben, damit wir Sie unterstützen können.

Chatthreadteilnehmer können ListMessages verwenden, um den Nachrichtenverlauf für einen bestimmten Thread anzuzeigen. Die ListMessages-API kann den Verlauf eines Threads nicht zurückgeben, wenn der Thread gelöscht wird. 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 von Azure Communication Services-Chatdienst gespeicherten Daten finden Sie auf der Seite Datenresidenz und Datenschutz.

Für Kunden, die virtuelle Termine verwenden, lesen Sie die Informationen zum Datenschutz für Benutzer der 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.
  • Bei Chatthreads mit mehr als 20 Teilnehmern werden Lesebestätigungen und Eingabeindikator nicht unterstützt.
  • In Teams-Interoperabilitätsszenarien muss die Anzahl der Benutzer von Azure Communication Services (nicht der Benutzer von Teams) unter 20 liegen, damit die Eingabeindikatorfunktion unterstützt wird.
  • Beim Erstellen eines Chatthreads können Sie die Aufbewahrungsrichtlinie auf einen Zeitraum zwischen 30 und 90 Tagen festlegen.
  • In Teams-Interoperabilitätsszenarien kann das Eingabeindikatorereignis einen leeren Anzeigenamen enthalten, wenn es vom Teams-Benutzer gesendet wird.
  • In Teams-Interoperabilitätsszenarien werden Lesebestätigungen für Teams-Benutzer nicht unterstützt.

Chatarchitektur

Die Chatarchitektur hat zwei zentrale Bestandteile: 1) den Vertrauenswürdigen Dienst und 2) die Clientanwendung.

Diagramm, das die Chatarchitektur von Communication Services zeigt

  • 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 finden Sie unter Schnellstart: Erstellen und Verwalten von Zugriffstoken.
  • Client-App: Die Clientanwendung stellt eine Verbindung mit Ihrem vertrauenswürdigen Dienst her und empfängt die Zugriffstoken, die Benutzer zum Herstellen einer direkten Verbindung mit Communication Services benötigen. Nachdem Sie den Chatthread erstellt und Teilnehmer hinzugefügt haben, können diese die Clientanwendung verwenden, um eine Verbindung mit dem Chatthread herzustellen und Nachrichten zu senden. Teilnehmer können Echtzeitbenachrichtigungen in Ihrer Clientanwendung verwenden, um Nachrichten- und Threadaktualisierungen durch andere Teilnehmern zu abonnieren.

Erstellen intelligenter, KI-gestützter Chatumgebungen

Sie können Azure KI Services mit dem Chatdienst verwenden, um Anwendungsfälle wie die folgenden zu erstellen:

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

Diagramm, das zeigt, dass Azure Communication Services mit Azure KI Services gekoppelt werden kann.

Nachrichtentypen

Im Rahmen des Nachrichtenverlaufs teilt der Chat benutzer- und systemseitig generierte Nachrichten.

Systemmeldungen werden in folgenden Fällen generiert:

  • Ein Chatthread wurde aktualisiert.
  • Ein Teilnehmer wurde hinzugefügt oder entfernt.
  • Das Thema des Chatthreads wurde aktualisiert.

Wenn Sie List Messages oder Get Messages in einem Chatthread aufrufen, 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. Ohne Angabe eines Werts verwendet Communication Services standardmäßig den text-Typ. Das Festlegen dieses Werts ist beim Senden von HTML wichtig. Bei Angabe von html wird der Inhalte durch Communication Services bereinigt, um sicherzustellen, dass er auf Clientgeräten gefahrlos 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: Systemnachricht mit dem Hinweis, dass sich mindestens ein Teilnehmer im Chatthread befindet.
  • participantRemoved: Systemnachricht mit dem Hinweis, dass ein Teilnehmer aus dem Chatthread entfernt wurde
  • topicUpdated: Systemnachricht mit dem Hinweis, dass das Threadthema aktualisiert wurde.

Echtzeitbenachrichtigungen

Das 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 Communication Services-Benutzer einen Chatthread erstellt.
  • chatThreadDeleted: Wenn ein Communication Services-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 dürfen nicht für Serveranwendungen verwendet werden.

Serverereignisse

Mit dieser Funktion können Serveranwendungen nach Ereignissen lauschen, z. B. wenn eine Nachricht gesendet wird oder ein Teilnehmer dem Chat beitritt oder diesen verlässt. Serveranwendungen können auf diese Ereignisse reagieren und Teilnehmer zum Chat hinzufügen oder sie aus diesem entfernen, Chats archivieren, Analysen durchführen sowie viele andere Szenarien für die Orchestrierung umsetzen. Informationen zu den Arten von Chatereignissen, die Entwickler verwenden können, finden Sie unter Serverereignisse.

Pushbenachrichtigungen

Android und iOS Chat SDKs unterstützen Pushbenachrichtigungen. Um Pushbenachrichtigungen für von Teilnehmern während ihrer Abwesenheit verpasste Nachrichten zu senden, verbinden Sie eine Notification Hub-Ressource mit der Communication Services-Ressource. Dadurch werden die Teilnehmer Ihrer Anwendung über eingehende Chats und Nachrichten informiert, wenn die mobile App nicht im Vordergrund ausgeführt wird.

Das iOS und das Android SDK unterstützen das folgende Ereignis:

  • chatMessageReceived: Wenn ein Teilnehmer eine neue Nachricht an einen Chatthread sendet.

Das Android SDK unterstützt zusätzliche Ereignisse:

  • chatMessageEdited: Wenn ein Teilnehmer eine Nachricht in einem Chatthread bearbeitet.
  • chatMessageDeleted: Wenn ein Teilnehmer eine Nachricht in einem Chatthread löscht.
  • chatThreadCreated: Wenn ein Communication Services-Benutzer einen Chatthread erstellt.
  • chatThreadDeleted: Wenn ein Communication Services-Benutzer einen Chatthread löscht.
  • chatThreadPropertiesUpdated: Wenn Sie die Eigenschaften eines Chatthread aktualisieren. Aktuell wird nur das Aktualisieren des Threadthemas unterstützt.
  • participantsAdded: Wenn Sie einen Teilnehmer zu einem Chatthread hinzufügen.
  • participantsRemoved: Wenn Sie einen vorhandenen Teilnehmer aus dem Chatthread entfernen.

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

  • Machen Sie sich mit dem Chat SDK vertraut.