Chattbegrepp

Azure Communication Services Chat kan hjälpa dig att lägga till textkommunikation i realtid i dina plattformsoberoende program. Den här sidan sammanfattar viktiga chattbegrepp och funktioner. Se Översikt över Communication Services Chat Software Development Kit (SDK) för listor över SDK:er, språk, plattformar och detaljerad funktionsstöd.

Chatt-API:erna tillhandahåller en tjänst för automatisk skalning för beständigt lagrad text och datakommunikation. Andra viktiga funktioner är:

  • Anpassad identitet och adressering – Azure Communication Services tillhandahåller generiska identiteter för att hantera kommunikationsslutpunkter. Klienter använder dessa identiteter för att autentisera till Azure-tjänsten och kommunicera med varandra i chat threads din kontroll.
  • Kryptering – Chatt-SDK:er krypterar trafik och förhindrar manipulering av kabeln.
  • Microsoft Teams-möten – Chatt-SDK:er kan ansluta till Teams-möten och kommunicera med Teams chattmeddelanden.
  • Realtidsaviseringar – Chatt-SDK:er använder effektiv beständig anslutning (WebSockets) för att ta emot realtidsaviseringar, till exempel när en fjärranvändare skriver. När appar körs i bakgrunden är inbyggda funktioner tillgängliga för att utlösa popup-meddelanden ("popup-fönster") för att informera slutanvändarna om nya trådar och meddelanden.
  • Utökningsbarhet för robot – Det är enkelt att lägga till Azure-robotar i chatttjänsten med Azure Bot-integrering.

Chattöversikt

Chattkonversationer sker i chatttrådar. Chatttrådar har följande egenskaper:

  • En chatttrådsidentitet är dess ChatThreadId.
  • Chatttrådar har mellan noll och 250 användare som deltagare som kan skicka meddelanden till den.
  • En användare kan vara en del av ett obegränsat antal chatttrådar.
  • Endast tråddeltagare kan skicka eller ta emot meddelanden, lägga till deltagare eller ta bort deltagare.
  • Användare läggs till som deltagare i alla chatttrådar som de skapar.

Användaråtkomst

Azure Communication Services stöder tre nivåer av användaråtkomstkontroll med hjälp av chatttoken. Mer information finns i Identitet och token . Deltagarna har inte skrivåtkomst till meddelanden som skickas av andra deltagare, vilket innebär att endast meddelandesändaren kan uppdatera eller ta bort sina skickade meddelanden. Om en annan deltagare försöker göra det får de ett fel.

Chattdata

Azure Communication Services lagrar chattmeddelanden på obestämd tid tills de tas bort av kunden. Chatttrådsdeltagare kan använda ListMessages för att visa meddelandehistorik för en viss tråd. Användare som tas bort från en chatttråd kan visa tidigare meddelandehistorik men kan inte skicka eller ta emot nya meddelanden. Meddelanden som tagits bort av misstag kan inte återställas av systemet. Mer information om data som lagras i Azure Communication Services chatttjänst finns på sidan för datahemvist och sekretess.

Under 2024 introduceras nya funktioner där kunderna måste välja mellan obegränsad kvarhållning av meddelanden eller automatisk borttagning efter 90 dagar. Befintliga meddelanden påverkas inte.

För kunder som använder virtuella avtalade tider kan du läsa vår användarsekretess för Teams interoperabilitet för lagring av chattmeddelanden i Teams-möten.

Tjänstbegränsningar

  • Det maximala antalet deltagare som tillåts i en chatttråd är 250.
  • Den maximala meddelandestorleken som tillåts är cirka 28 kB.
  • Läskvitton och skrivindikatorfunktioner stöds inte för chatttrådar med fler än 20 deltagare.
  • För Teams Interop-scenarier är det antalet Azure Communication Services-användare, inte Teams-användare, som måste vara under 20 för att typindikatorfunktionen ska kunna stödjas.
  • För Teams Interop-scenarier kan inmatningsindikatorhändelsen innehålla ett tomt visningsnamn när den skickas från Teams-användaren.
  • För Teams Interop-scenarier stöds inte läskvitton för Teams-användare.

Chattarkitektur

Det finns två kärndelar i chattarkitekturen: 1) Betrodd tjänst och 2) klientprogram.

Diagram showing Communication Services' chat architecture.

  • Betrodd tjänst: För att hantera en chattsession korrekt behöver du en tjänst som hjälper dig att ansluta till Kommunikationstjänster med hjälp av din resurs anslutningssträng. Den här tjänsten ansvarar för att skapa chatttrådar, lägga till och ta bort deltagare och utfärda åtkomsttoken till användare. Mer information om åtkomsttoken finns i snabbstarten för åtkomsttoken.
  • Klientapp: Klientprogrammet ansluter till din betrodda tjänst och tar emot de åtkomsttoken som används av användare för att ansluta direkt till Kommunikationstjänster. När du har skapat chatttråden och lagt till användare som deltagare kan de använda klientprogrammet för att ansluta till chatttråden och skicka meddelanden. Realtidsmeddelanden i klientprogrammet kan användas för att prenumerera på meddelande- och tråduppdateringar från andra deltagare.

Skapa intelligenta, AI-baserade chattupplevelser

Du kan använda Azure AI-tjänster med chatttjänsten för att skapa användningsfall som:

  • Hjälp en supportagent att prioritera biljetter genom att identifiera en negativ attityd för ett inkommande meddelande från en kund.
  • Generera en sammanfattning i slutet av konversationen för att skicka till kunden via e-post med nästa steg eller uppföljning vid ett senare tillfälle.
  • Lägg till en Power Virtual Agent (PVA) i en Azure Communication Services Chat-kanal med en Azure Bot och en relärobot.
  • Konfigurera en robot så att den körs på en eller flera sociala kanaler tillsammans med chattkanalen.

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

Meddelandetyper

Som en del av meddelandehistoriken delar Chat användargenererade meddelanden och systemgenererade meddelanden.

Systemmeddelanden genereras när

  • en chatttråd uppdateras
  • en deltagare har lagts till eller tagits bort
  • chatttrådsavsnittet uppdaterades.

När du anropar List Messages eller Get Messages använder en chatttråd innehåller resultatet båda typerna av meddelanden i kronologisk ordning. För användargenererade meddelanden kan meddelandetypen anges SendMessageOptions när ett meddelande skickas till chatttråden. Om inget värde anges skriver Communication Services som standard text . Det är viktigt att ange det här värdet när HTML skickas. När html har angetts sanerar Communication Services innehållet för att säkerställa att det återges på ett säkert sätt på klientenheter.

  • text: Ett oformaterat textmeddelande som består och skickas av en användare som en del av en chatttråd.
  • html: Ett formaterat meddelande med html, sammansatt och skickat av en användare som en del av chatttråden.

Typer av systemmeddelanden:

  • participantAdded: Systemmeddelande som anger att en eller flera deltagare har lagts till i chatttråden.
  • participantRemoved: Systemmeddelande som anger att en deltagare har tagits bort från chatttråden.
  • topicUpdated: Systemmeddelande som anger att trådavsnittet har uppdaterats.

Realtidsmeddelanden

JavaScript Chat SDK stöder realtidsmeddelanden. Med den här funktionen kan klienter lyssna på Kommunikationstjänster efter realtidsuppdateringar och inkommande meddelanden till en chatttråd utan att behöva avsöka API:erna.

Klientappen kan prenumerera på följande händelser:

  • chatMessageReceived – när ett nytt meddelande skickas till en chatttråd av en deltagare.
  • chatMessageEdited – när ett meddelande redigeras i en chatttråd.
  • chatMessageDeleted – när ett meddelande tas bort i en chatttråd.
  • typingIndicatorReceived – när en annan deltagare skickar en skrivindikator till chatttråden.
  • readReceiptReceived – när en annan deltagare skickar ett läskvitto för ett meddelande som de har läst.
  • chatThreadCreated – när en Communication Services-användare skapar en chatttråd.
  • chatThreadDeleted – när en Communication Services-användare tar bort en chatttråd.
  • chatThreadPropertiesUpdated - när chatttrådens egenskaper uppdateras; för närvarande stöds endast uppdatering av ämnet för tråden.
  • participantsAdded – när en användare läggs till som chatttrådsdeltagare.
  • participantsRemoved – när en befintlig deltagare tas bort från chatttråden.
  • realTimeNotificationConnected – när realtidsmeddelandet är anslutet.
  • realTimeNotificationDisconnected -när realtidsmeddelandet kopplas från.

Kommentar

Realtidsmeddelanden ska inte användas med serverprogram.

Serverhändelser

Med den här funktionen kan serverprogram lyssna på händelser som när ett meddelande skickas och när en deltagare ansluter eller lämnar chatten. Serverprogram kan reagera på dessa händelser, lägga till/ta bort deltagare i chatten, arkivera chattar, utföra analys och många andra scenarier för orkestrering. Information om vilka typer av chatthändelser som kan användas av utvecklare finns i Serverhändelser.

Push-aviseringar

Android- och iOS Chat-SDK:er stöder push-meddelanden. Om du vill skicka push-meddelanden för meddelanden som missades av användarna när de var borta ansluter du en Notification Hub-resurs med Communication Services-resursen för att skicka push-meddelanden. Om du gör det meddelas dina programanvändare om inkommande chattar och meddelanden när mobilappen inte körs i förgrunden.

IOS och Android SDK stöder händelsen nedan:

  • chatMessageReceived – när ett nytt meddelande skickas till en chatttråd av en deltagare.

Android SDK stöder extra händelser:

  • chatMessageEdited – när ett meddelande redigeras i en chatttråd.
  • chatMessageDeleted – när ett meddelande tas bort i en chatttråd.
  • chatThreadCreated – när en Communication Services-användare skapar en chatttråd.
  • chatThreadDeleted – när en Communication Services-användare tar bort en chatttråd.
  • chatThreadPropertiesUpdated - när chatttrådens egenskaper uppdateras; för närvarande stöds endast uppdatering av ämnet för tråden.
  • participantsAdded – när en användare läggs till som chatttrådsdeltagare.
  • participantsRemoved – när en befintlig deltagare tas bort från chatttråden.

Mer information finns i Push-meddelanden.

Kommentar

För närvarande skickas chatt push-meddelanden med Notification Hub är allmänt tillgängligt i Android version 1.1.0 och i IOS version 1.3.0.

Nästa steg

Följande dokument kan vara intressanta för dig: