Chatconcepten

Met Azure Communication Services Chat kunt u realtime tekstcommunicatie toevoegen aan uw platformoverschrijdende toepassingen. Op deze pagina vindt u een overzicht van de belangrijkste chatconcepten en mogelijkheden. Zie het Overzicht van de Communication Services Chat Software Development Kit (SDK) voor lijsten met SDK's, talen, platforms en gedetailleerde functieondersteuning.

De Chat-API's bieden een service voor automatisch schalen voor permanent opgeslagen tekst- en gegevenscommunicatie. Andere belangrijke functies zijn:

  • Aangepaste identiteit en adressering : Azure Communication Services biedt algemene identiteiten om communicatie-eindpunten aan te pakken. Clients gebruiken deze identiteiten om te verifiëren bij de Azure-service en met elkaar te communiceren in chat threads uw beheer.
  • Versleuteling : chat-SDK's versleutelen verkeer en voorkomt manipulatie op de kabel.
  • Microsoft Teams-vergaderingen - Chat-SDK's kunnen deelnemen aan Teams-vergaderingen en communiceren met Teams-chatberichten.
  • Realtime meldingen : chat-SDK's gebruiken efficiënte permanente connectiviteit (WebSockets) om realtime meldingen te ontvangen, zoals wanneer een externe gebruiker typt. Wanneer apps op de achtergrond worden uitgevoerd, is ingebouwde functionaliteit beschikbaar om pop-upmeldingen ('pop-upmeldingen ') te activeren om eindgebruikers te informeren over nieuwe threads en berichten.
  • Bot-uitbreidbaarheid : het is eenvoudig om Azure-bots toe te voegen aan de Chat-service met Azure Bot-integratie.

Overzicht van chat

Chatgesprekken vinden plaats in chatthreads. Chatthreads hebben de volgende eigenschappen:

  • Een chatthreadidentiteit is de bijbehorende ChatThreadId.
  • Chatthreads hebben tussen 0 en 250 gebruikers als deelnemers die er berichten naar kunnen verzenden.
  • Een gebruiker kan deel uitmaken van een onbeperkt aantal chatthreads.
  • Alleen threaddeelnemers kunnen berichten verzenden of ontvangen, deelnemers toevoegen of deelnemers verwijderen.
  • Gebruikers worden toegevoegd als deelnemer aan chatthreads die ze maken.

Gebruikerstoegang

Azure Communication Services ondersteunt drie niveaus van gebruikerstoegangsbeheer met behulp van de chattokens. Zie Identiteit en tokens voor meer informatie. Deelnemers hebben geen schrijftoegang tot berichten die door andere deelnemers zijn verzonden, wat betekent dat alleen de afzender van het bericht hun verzonden berichten kan bijwerken of verwijderen. Als een andere deelnemer dat probeert te doen, krijgt deze een foutmelding.

Chatgegevens

Azure Communication Services slaat chatberichten voor onbepaalde tijd op totdat ze door de klant worden verwijderd. Deelnemers aan chatthreads kunnen de ListMessages berichtgeschiedenis voor een bepaalde thread bekijken. Gebruikers die zijn verwijderd uit een chatgesprek, kunnen de vorige berichtgeschiedenis bekijken, maar kunnen geen nieuwe berichten verzenden of ontvangen. Per ongeluk verwijderde berichten kunnen niet worden hersteld door het systeem. Raadpleeg de pagina gegevenslocatie en privacy voor meer informatie over gegevens die worden opgeslagen in de Chatservice van Azure Communication Services.

In 2024 wordt nieuwe functionaliteit geïntroduceerd waarbij klanten na 90 dagen moeten kiezen tussen het bewaren van onbepaalde berichten of het automatisch verwijderen van berichten. Bestaande berichten blijven ongewijzigd.

Voor klanten die virtuele afspraken gebruiken, raadpleegt u de privacy van onze teams-interoperabiliteitsgebruikers voor het opslaan van chatberichten in Teams-vergaderingen.

Servicelimieten

  • Het maximum aantal deelnemers dat is toegestaan in een chatgesprek is 250.
  • De toegestane maximale berichtgrootte is ongeveer 28 kB.
  • Voor chatthreads met meer dan 20 deelnemers worden leesbevestigingen en typeindicatorfuncties niet ondersteund.
  • Voor Teams-interoperabiliteitsscenario's is het het aantal Azure Communication Services-gebruikers, niet Teams-gebruikers, dat lager moet zijn dan 20 voor de functie voor het typen van indicatoren die moeten worden ondersteund.
  • Voor Teams Interop-scenario's kan de typeindicator een lege weergavenaam bevatten wanneer deze wordt verzonden vanuit de Teams-gebruiker.
  • Voor Teams-interop-scenario's worden leesbevestigingen niet ondersteund voor Teams-gebruikers.

Chatarchitectuur

Er zijn twee kernonderdelen voor de chatarchitectuur: 1) Vertrouwde service en 2) Clienttoepassing.

Diagram showing Communication Services' chat architecture.

  • Vertrouwde service: als u een chatsessie goed wilt beheren, hebt u een service nodig waarmee u verbinding kunt maken met Communication Services met behulp van uw resource verbindingsreeks. Deze service is verantwoordelijk voor het maken van chatthreads, het toevoegen en verwijderen van deelnemers en het uitgeven van toegangstokens aan gebruikers. Meer informatie over toegangstokens vindt u in onze quickstart over toegangstokens.
  • Client-app: De clienttoepassing maakt verbinding met uw vertrouwde service en ontvangt de toegangstokens die door gebruikers worden gebruikt om rechtstreeks verbinding te maken met Communication Services. Na het maken van de chatthread en het toevoegen van gebruikers als deelnemers, kunnen ze de clienttoepassing gebruiken om verbinding te maken met de chat-thread en berichten te verzenden. Realtime meldingen in uw clienttoepassing kunnen worden gebruikt om u te abonneren op bericht- en threadupdates van andere deelnemers.

Intelligente, ai-chatervaringen bouwen

U kunt Azure AI-services gebruiken met de Chat-service om gebruiksvoorbeelden te bouwen, zoals:

  • Help een ondersteuningsmedewerker prioriteit te geven aan tickets door een negatief gevoel van een binnenkomend bericht van een klant te detecteren.
  • Genereer een samenvatting aan het einde van het gesprek om via e-mail naar de klant te verzenden met de volgende stappen of op een later tijdstip op te volgen.
  • Voeg een Power Virtual Agent (PVA) toe aan een Azure Communication Services-chatkanaal met een Azure-bot en een relaybot.
  • Configureer een bot om te worden uitgevoerd op een of meer sociale kanalen naast het chatkanaal.

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

Berichttypen

Als onderdeel van de berichtengeschiedenis deelt Chat door de gebruiker gegenereerde berichten en door het systeem gegenereerde berichten.

Systeemberichten worden gegenereerd wanneer

  • een chatgesprek wordt bijgewerkt
  • een deelnemer is toegevoegd of verwijderd
  • het chatthreadonderwerp is bijgewerkt.

Wanneer u belt List Messages of Get Messages op een chatgesprek, bevat het resultaat beide soorten berichten in chronologische volgorde. Voor door de gebruiker gegenereerde berichten kan het berichttype worden ingesteld SendMessageOptions bij het verzenden van een bericht naar een chat-thread. Als er geen waarde wordt opgegeven, wordt in Communication Services standaard getypt text . Het instellen van deze waarde is belangrijk bij het verzenden van HTML. Wanneer html dit is opgegeven, wordt de inhoud door Communication Services opgeschoond om ervoor te zorgen dat deze veilig wordt weergegeven op clientapparaten.

  • text: Een bericht zonder opmaak dat is samengesteld en verzonden door een gebruiker als onderdeel van een chatgesprek.
  • html: Een opgemaakt bericht met html, samengesteld en verzonden door een gebruiker als onderdeel van de chat-thread.

Typen systeemberichten:

  • participantAdded: Systeembericht dat aangeeft dat een of meer deelnemers zijn toegevoegd aan de chat-thread.
  • participantRemoved: Systeembericht dat aangeeft dat een deelnemer is verwijderd uit de chat-thread.
  • topicUpdated: Systeembericht dat aangeeft dat het threadonderwerp is bijgewerkt.

Realtime meldingen

JavaScript Chat SDK biedt ondersteuning voor realtime meldingen. Met deze functie kunnen clients luisteren naar Communication Services voor realtime updates en inkomende berichten naar een chatthread zonder dat ze de API's hoeven te peilen.

De client-app kan zich abonneren op de volgende gebeurtenissen:

  • chatMessageReceived - wanneer een nieuw bericht wordt verzonden naar een chatgesprek door een deelnemer.
  • chatMessageEdited - wanneer een bericht wordt bewerkt in een chatgesprek.
  • chatMessageDeleted - wanneer een bericht wordt verwijderd in een chatgesprek.
  • typingIndicatorReceived - wanneer een andere deelnemer een typeindicator naar de chat-thread verzendt.
  • readReceiptReceived - wanneer een andere deelnemer een leesbevestiging verzendt voor een bericht dat hij of zij heeft gelezen.
  • chatThreadCreated - wanneer een Communication Services-gebruiker een chatthread maakt.
  • chatThreadDeleted - wanneer een Communication Services-gebruiker een chat-thread verwijdert.
  • chatThreadPropertiesUpdated - wanneer de eigenschappen van chatthreads worden bijgewerkt; momenteel wordt alleen het onderwerp voor de thread bijgewerkt.
  • participantsAdded - wanneer een gebruiker wordt toegevoegd als deelnemer aan een chatgesprek.
  • participantsRemoved - wanneer een bestaande deelnemer wordt verwijderd uit de chat-thread.
  • realTimeNotificationConnected - wanneer realtimemelding is verbonden.
  • realTimeNotificationDisconnected -wanneer realtimemelding is verbroken.

Notitie

Realtimemeldingen worden niet gebruikt met servertoepassingen.

Server-gebeurtenissen

Met deze functie kunnen servertoepassingen luisteren naar gebeurtenissen zoals wanneer een bericht wordt verzonden en wanneer een deelnemer deelneemt aan of de chat verlaat. Servertoepassingen kunnen reageren op deze gebeurtenissen, deelnemers toevoegen of verwijderen aan de chat, chats archiveren, analyse uitvoeren en vele andere scenario's voor indeling. Zie Server-gebeurtenissen om te zien welke soorten chat-gebeurtenissen kunnen worden gebruikt door ontwikkelaars.

Pushmeldingen

Android- en iOS Chat SDK's ondersteunen pushmeldingen. Als u pushmeldingen wilt verzenden voor berichten die door uw gebruikers zijn gemist terwijl ze afwezig waren, verbindt u een Notification Hub-resource met Communication Services-resource om pushmeldingen te verzenden. Als u dit doet, worden uw toepassingsgebruikers op de hoogte gesteld van binnenkomende chats en berichten wanneer de mobiele app niet op de voorgrond wordt uitgevoerd.

IOS en Android SDK ondersteunen de onderstaande gebeurtenis:

  • chatMessageReceived - wanneer een nieuw bericht wordt verzonden naar een chatgesprek door een deelnemer.

Android SDK ondersteunt extra gebeurtenissen:

  • chatMessageEdited - wanneer een bericht wordt bewerkt in een chatgesprek.
  • chatMessageDeleted - wanneer een bericht wordt verwijderd in een chatgesprek.
  • chatThreadCreated - wanneer een Communication Services-gebruiker een chatthread maakt.
  • chatThreadDeleted - wanneer een Communication Services-gebruiker een chat-thread verwijdert.
  • chatThreadPropertiesUpdated - wanneer de eigenschappen van chatthreads worden bijgewerkt; momenteel wordt alleen het onderwerp voor de thread bijgewerkt.
  • participantsAdded - wanneer een gebruiker wordt toegevoegd als deelnemer aan een chatgesprek.
  • participantsRemoved - wanneer een bestaande deelnemer wordt verwijderd uit de chat-thread.

Zie Pushmeldingen voor meer informatie.

Notitie

Momenteel is het verzenden van chatpushmeldingen met Notification Hub algemeen beschikbaar in Android-versie 1.1.0 en in IOS versie 1.3.0.

Volgende stappen

De volgende documenten zijn mogelijk interessant voor u: