Dela via


Använd undersökningen Avsluta samtal för att samla in användarfeedback

Den här självstudien visar hur du använder Undersökningen om slutsamtal i Azure Communication Services.

Förutsättningar

Viktigt!

Slut på samtalsundersökningen är tillgänglig från och med version 1.13.1 av den anropande SDK:en. Se till att använda den versionen eller senare när du provar instruktionerna.

  • Node.js aktiva LTS-versioner (Long Term Support) rekommenderas.

Exempel på API-användning

Funktionen Undersökning av slutpunktsundersökning ska användas när anropet har avslutats. Användare kan betygsätta alla typer av VoIP-samtal, 1:1, grupp, möte, utgående och inkommande. När en användares anrop avslutas kan ditt program visa ett användargränssnitt för slutanvändaren så att de kan välja en klassificeringspoäng, och vid behov välja problem som de har stött på under samtalet från vår fördefinierade lista.

Följande kodfragment visar ett exempel på ett-till-en-anrop. Efter samtalets slut kan ditt program visa ett undersökningsgränssnitt och när användaren har valt ett omdöme bör programmet anropa funktions-API:et för att skicka undersökningen med användarvalen.

Vi rekommenderar att du använder standardklassificeringsskalan. Du kan dock skicka en undersökning med anpassad klassificeringsskala. Du kan kolla in exempelprogrammet för api-exempelanvändningen.

Endast frekvensanrop – ingen anpassad skala

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: { score: 5 }, // issues are optional
}).then(() => console.log('survey submitted successfully'));

OverallRating är en obligatorisk kategori för alla undersökningar.

Endast frekvensanrop – med anpassad skala och problem

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: {
        score: 1, // my score
        scale: { // my custom scale
            lowerBound: 0,
            upperBound: 1,
            lowScoreThreshold: 0
        },
        issues: ['HadToRejoin'] // my issues, check the table below for all available issues
    }
}).then(() => console.log('survey submitted successfully'));

Betygsätt övergripande, ljud och video med ett exempelproblem

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: { score: 3 },
    audioRating: { score: 4 },
    videoRating: { score: 3, issues: ['Freezes'] }
}).then(() => console.log('survey submitted successfully'))

Hantera fel som SDK kan skicka

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: { score: 3 }
}).catch((e) => console.log('error when submitting survey: ' + e))

Hitta olika typer av fel

Fel vid inskickning av undersökning

API:et returnerar följande felmeddelanden om dataverifieringen misslyckas eller undersökningen inte kan skickas.

  • Minst en undersökningsklassificering krävs.

  • I standardskalan ska X vara 1 till 5. - där X är något av:

    • overallRating.score
    • audioRating.score
    • videoRating.score
    • ScreenshareRating.score
  • {propertyName}: {rating.score} ska vara mellan {rating.scale?. lowerBound} och {rating.scale?. upperBound}.

  • {propertyName}: {rating.scale?. lowScoreThreshold} ska vara mellan {rating.scale?. lowerBound} och {rating.scale?. upperBound}.

  • {propertyName} lowerBound: {rating.scale?. lowerBound} och upperBound: {rating.scale?. upperBound} ska vara mellan 0 och 100.

  • Försök igen [ACS kunde inte skicka undersökningen på grund av nätverk eller annat fel].

Vi returnerar eventuella felkoder med ett meddelande.

  • Felkod 400 (felaktig begäran) för alla felmeddelanden utom en.
{ message: validationErrorMessage, code: 400 }
  • En 408 (timeout) när händelsen ignoreras:
{ message: "Please try again.", code: 408 }

Alla möjliga värden

Api-konfiguration för standardundersökning

API-klassificeringskategorier Brytvärde* Indataintervall Kommentarer
Övergripande samtal 2 1 - 5 Undersöker en anropande deltagares övergripande kvalitetsupplevelse på en skala från 1 till 5. Ett svar på 1 indikerar en ofullkomlig samtalsupplevelse och 5 indikerar ett perfekt samtal. Gränsvärdet 2 innebär att ett kundsvar på 1 eller 2 indikerar en mindre än perfekt samtalsupplevelse.
Ljud 2 1 - 5 Ett svar på 1 indikerar en ofullkomlig ljudupplevelse och 5 indikerar att inga ljudproblem uppstod.
Video 2 1 - 5 Ett svar på 1 indikerar en felaktig videoupplevelse och 5 indikerar att inga videoproblem har uppstått.
Skärmdelning 2 1 - 5 Ett svar på 1 indikerar en felaktig skärmresursupplevelse och 5 anger att inga problem med skärmresursen har uppstått.

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Fler undersökningstaggar

Klassificeringskategorier Valfria taggar
Övergripande samtal CallCannotJoin CallCannotInvite HadToRejoin CallEndedUnexpectedly OtherIssues
Ljud NoLocalAudio NoRemoteAudio Echo AudioNoise LowVolume AudioStoppedUnexpectedly DistortedSpeech AudioInterruption OtherIssues
Video NoVideoReceived NoVideoSent LowQuality Freezes StoppedUnexpectedly DarkVideoReceived AudioVideoOutOfSync OtherIssues
Skärmdelning NoContentLocal NoContentRemote CannotPresent LowQuality Freezes StoppedUnexpectedly LargeDelay OtherIssues

Anpassningsalternativ

Du kan välja att samla in vart och ett av de fyra API-värdena eller bara de som du tycker är viktigast. Du kan till exempel välja att bara fråga kunder om deras övergripande samtalsupplevelse i stället för att fråga dem om deras ljud-, video- och skärmdelningsupplevelse. Du kan också anpassa indataintervall så att de passar dina behov. Standardinmatningsintervallet är 1 till 5 för övergripande samtal, ljud, video och skärmdelning. Varje API-värde kan dock anpassas från minst 0 till högst 100.

Anpassningsexempel

API-klassificeringskategorier Brytvärde* Indataintervall
Övergripande samtal 0 - 100 0 - 100
Ljud 0 - 100 0 - 100
Video 0 - 100 0 - 100
Skärmdelning 0 - 100 0 - 100

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Anpassade frågor

Förutom att använda API:et för undersökning av slutpunktsundersökning kan du skapa egna undersökningsfrågor och införliva dem med resultatet av undersökningen avslutad samtalsundersökning. Nedan hittar du steg för att införliva dina egna kundfrågor i en undersökning och köra frågor mot resultatet av API:et för undersökning av slutpunktsundersökning och dina egna undersökningsfrågor.

  • Skapa En App Insight-resurs.

  • Bädda in Azure AppInsights i ditt program Klicka här om du vill veta mer om App Insight-initiering med hjälp av oformaterad JavaScript. Du kan också använda NPM för att få App Insights-beroenden. Klicka här om du vill veta mer om App Insight-initiering med NPM.

  • Skapa ett användargränssnitt i ditt program som hanterar anpassade frågor till användaren och samla in deras indata, kan anta att ditt program samlade in svar som en sträng i variabeln improvementSuggestion

  • Skicka undersökningsresultat till ACS och skicka användarsvar med App Insights:

    currentCall.feature(SDK.Features.CallSurvey).submitSurvey(survey).then(res => {
    // `improvementSuggesstion` contains custom, user response
        if (improvementSuggestion !== '') {
            appInsights.trackEvent({
                    name: "CallSurvey", properties: {
                        // Survey ID to correlate the survey
                        id: res.id,
                        // Other custom properties as key value pair
                        improvementSuggestion: improvementSuggestion
                    }
                });
         }
    });
    appInsights.flush();
    

Användarsvar som skickades med AppInsights är tillgängliga under din App Insights-arbetsyta. Du kan använda arbetsböcker för att fråga mellan flera resurser, korrelera anropsklassificeringar och anpassade undersökningsdata . Steg för att korrelera anropsklassificeringar och anpassade undersökningsdata:

  • Skapa nya arbetsböcker (DIN ACS-resurs –> Övervakning –> Arbetsböcker –> Ny) och fråga efter samtalsundersökningsdata från din ACS-resurs.
  • Lägg till ny fråga (+Lägg till –> Lägg till fråga)
  • Kontrollera att Data source är Logs och Resource type är Communication
  • Du kan byta namn på frågan (Avancerade inställningar –> Stegnamn [exempel: call-survey])
  • Tänk på att det kan ta högst 2 timmar innan undersökningsdata visas i Azure Portal. Fråga anropsklassificeringsdata–
    ACSCallSurvey
    | where TimeGenerated > now(-24h)
    
  • Lägg till ytterligare en fråga för att hämta data från App Insights (+Lägg till –> Lägg till fråga)
  • Kontrollera att Data source är Logs och Resource type är Application Insights
  • Fråga efter anpassade händelser-
    customEvents
    | where timestamp > now(-24h)
    | where name == 'CallSurvey'
    | extend d=parse_json(customDimensions)
    | project SurveyId = d.id, ImprovementSuggestion = d.improvementSuggestion
    
  • Du kan byta namn på frågan (Avancerade inställningar –> Stegnamn [exempel: custom-call-survey])
  • Sammanfoga slutligen dessa två frågor efter surveyId. Skapa ny fråga (+Lägg till –> Lägg till fråga).
  • Kontrollera att Data source är Sammanfoga och välj Merge type efter behov

title: Azure Communication Services End of Call Survey titleSuffix: An Azure Communication Services tutorial document description: Learn how to use the End of Call Survey to collect user feedback(En dokumentbeskrivning för Azure Communication Services-självstudien: Lär dig hur du använder Undersökningen om slut på samtal för att samla in feedback från användaren). author: viniciusl-msft ms.author: viniciusl manager: gaobob services: azure-communication-services ms.date: 7/30/2024 ms.topic: tutorial ms.service: azure-communication-services ms.subservice: calling

Viktigt!

Slut på samtalsundersökningen är tillgänglig från och med version 2.10.0 av Android Calling SDK. Se till att använda den versionen eller senare när du provar instruktionerna.

Exempel på API-användning

Funktionen Undersökning av slutpunktsundersökning ska användas när anropet har avslutats. Användare kan betygsätta alla typer av VoIP-samtal, 1:1, grupp, möte, utgående och inkommande. När en användares anrop avslutas kan ditt program visa ett användargränssnitt för slutanvändaren så att de kan välja en klassificeringspoäng, och vid behov välja problem som de har stött på under samtalet från vår fördefinierade lista.

Följande kodfragment visar ett exempel på ett-till-en-anrop. Efter samtalets slut kan ditt program visa ett undersökningsgränssnitt och när användaren har valt ett omdöme bör programmet anropa funktions-API:et för att skicka undersökningen med användarvalen.

Vi rekommenderar att du använder standardklassificeringsskalan, som är femstjärnigt (mellan 1 och 5). Du kan dock skicka en undersökning med anpassad klassificeringsskala.

Starta en undersökning

Du skapar ett CallSurvey objekt genom att starta en undersökning. Detta registrerar en undersöknings avsikt. Om det här objektet CallSurvey inte skickas efteråt innebär det att undersökningen hoppades över eller ignorerades av slutkund.

SurveyCallFeature surveyCallFeature = call.feature(Features.SURVEY);
try {
    CallSurvey survey = surveyCallFeature.startSurvey().get();
} catch (InterruptedException | ExecutionException e) {
    // failure to start survey
}

Allmän användning

När du klassificerar anrop måste du respektera värden som definierats i skalningsfältet. LowerBound-värdet anger den sämsta möjliga upplevelsen, medan upperBound-värdet innebär den perfekta upplevelsen. Båda värdena är inkluderande.

OverallRating är en obligatorisk kategori för alla undersökningar.

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Mer information om förslag på undersökningsanvändning finns i Undersökningsbegrepp

Endast frekvensanrop – ingen anpassad skala

SurveyScore overall = new SurveyScore();
overall.setScore(5);
callSurvey.setOverallScore(overall);

Endast frekvensanrop – med anpassad skala och problem

// configuring scale
CallSurveyRatingScale ratingScale = new CallSurveyRatingScale();
ratingScale.setLowerBound(0);
ratingScale.setLowerBound(1);
ratingScale.setLowScoreThreshold(0);
SurveyScore overall = new SurveyScore();
overall.setScale(ratingScale);

// setting score according to scale
overall.setScore(1);
callSurvey.setOverallScore(overall);
// reporting one or more issues
callSurvey.setCallIssues(CallIssues.HAD_TO_REJOIN);

Betygsätt övergripande, ljud och video med ett exempelproblem

SurveyScore overall = new SurveyScore();
overall.setScore(3);
SurveyScore audio = new SurveyScore();
audio.setScore(4);
SurveyScore video = new SurveyScore();
video.setScore(3);
callSurvey.setOverallScore(overall);
callSurvey.setAudioScore(audio);
callSurvey.setVideoScore(video);
callSurvey.setVideoIssues(VideoIssues.FREEZES);

Skicka undersökning och hantera fel som SDK kan skicka

try {
    CallSurveyResult survey = surveyCallFeature.submitSurvey(survey).get();
} catch (InterruptedException e) {
    // Threading error
} catch (ExecutionException e) {
    Log.e("SURVEY", e.getCause().getMessage());
}

Hitta olika typer av fel

Fel vid sändning av undersökning:

SUBMITSurvey-API:et kan returnera ett fel i följande scenarier:

  • Övergripande undersökningsklassificering krävs.

  • CallSurveyRatingScale måste vara inom 0 och 100. LowerBound bör vara mindre än UpperBound. LowScoreThreshold bör ligga inom gränserna.

  • Någon av poängen måste respektera de gränser som definieras av CallSurveyRatingScale. Alla värden i CallSurveyRatingScale objektet är inkluderande. Med standardskalan ska poängvärdet vara mellan 1 och 5.

  • Undersökningen kan inte skickas på grund av nätverks-/tjänstfel.

Tillgängliga undersökningstaggar

Övergripande samtal

Tagg beskrivning
CannotJoin Kunden kunde inte ansluta till ett samtal
CannotInvite Kunden kunde inte lägga till en ny deltagare vid anrop
HadToRejoin Kunden lämnade och anslöt igen anropet som en lösning på ett problem
CallEndedUnexpectedly Kundens samtal avslutades utan någon uppenbar anledning
OtherIssues Alla problem som inte passar tidigare beskrivningar

Ljudproblem

Tagg beskrivning
NoLocalAudio Inget ljud på kunddatorn från samtalet, oförmåga att höra någon i samtalet
NoRemoteAudio Ljud saknas från en specifik deltagare
Echo Eko uppfattas i samtalet
AudioNoise Ljud som tas emot med oavsiktligt brus
LowVolume Ljudet är för lågt
AudioStoppedUnexpectedly Ljud stoppas utan tydlig orsak (t.ex. ingen är avstängd)
DistortedSpeech En deltagares röst är förvrängd, skiljer sig från deras förväntade röst
AudioInterruption Kunden upplever ljudavbrott, röstsänkningar osv.
OtherIssues Alla problem som inte passar tidigare beskrivningar

Videoproblem

Tagg beskrivning
NoVideoReceived Kunden får inte video från en deltagare
NoVideoSent Kunden startar video men ingen i samtalet kan se den
LowQuality Video av låg kvalitet
Freezes Video fryser
StoppedUnexpectedly Skärmresursen stoppas utan tydlig orsak (t.ex. kameran är på och videosamtal är aktiverat)
DarkVideoReceived Videon skickas men deltagaren ser bara en mörk ruta (eller en annan enskild färg)
AudioVideoOutOfSync Video och ljud verkar inte vara synkroniserade
OtherIssues Alla problem som inte passar tidigare beskrivningar

Problem med skärmresurs

Tagg beskrivning
NoContentLocal Kunden får inte skärmresurs från en deltagare som delar
NoContentRemote Kunden delar skärm, men andra en eller flera deltagare kan inte se den
CannotPresent Det går inte att starta skärmresursen
LowQuality Låg kvalitet på skärmdelningsvideo, t.ex.
Freezes Skärmresursen låses under presentationen
StoppedUnexpectedly Skärmresursen stoppas utan tydlig orsak (t.ex. att skärmresursen inte stoppades av kunden)
LargeDelay Upplevd fördröjning mellan det som visas och vad som visas
OtherIssues Alla problem som inte passar tidigare beskrivningar

Anpassningsalternativ

Du kan välja att samla in vart och ett av de fyra API-värdena eller bara de som du tycker är viktigast. Du kan till exempel välja att bara fråga kunder om deras övergripande samtalsupplevelse i stället för att fråga dem om deras ljud-, video- och skärmdelningsupplevelse. Du kan också anpassa indataintervall så att de passar dina behov. Standardindataintervallet är 1 till 5 för total samtals-, ljud-, video- och skärmresurs. Varje API-värde kan dock anpassas från minst 0 till högst 100.

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Anpassade frågor

Förutom att använda API:et för undersökning av slutpunktsundersökning kan du skapa egna undersökningsfrågor och införliva dem med resultatet av undersökningen avslutad samtalsundersökning.

Resultatnyttolasten SubmitSurvey innehåller data som du kan använda för att korrelera ACS-undersökningsdata med dina egna anpassade data och lagring. CallSurveyResult klassen har fältet SurveyId som anger en unik identifierare för undersökningen och CallId anger en identifierare för samtalet där undersökningen genererades. Om du sparar dessa identifierare tillsammans med dina anpassade data kan data associeras unikt.

Viktigt!

Slut på samtalsundersökning är tillgänglig från och med version 2.10.0 av iOS Calling SDK. Se till att använda den versionen eller senare när du provar instruktionerna.

Exempel på API-användning

Funktionen Undersökning av slutpunktsundersökning ska användas när anropet har avslutats. Användare kan betygsätta alla typer av VoIP-samtal, 1:1, grupp, möte, utgående och inkommande. När en användares anrop avslutas kan ditt program visa ett användargränssnitt för slutanvändaren så att de kan välja en klassificeringspoäng, och vid behov välja problem som de har stött på under samtalet från vår fördefinierade lista.

Följande kodfragment visar ett exempel på ett-till-en-anrop. Efter samtalets slut kan ditt program visa ett undersökningsgränssnitt och när användaren har valt ett omdöme bör programmet anropa funktions-API:et för att skicka undersökningen med användarvalen.

Vi rekommenderar att du använder standardklassificeringsskalan, som är femstjärnigt (mellan 1 och 5). Du kan dock skicka en undersökning med anpassad klassificeringsskala.

Starta en undersökning

Du skapar ett CallSurvey objekt genom att starta en undersökning. Detta registrerar en undersöknings avsikt. Om det här objektet CallSurvey inte skickas efteråt innebär det att undersökningen hoppades över eller ignorerades av slutkund.

var surveyCallFeature = self.call.feature(Features.survey)
do {
    try self.callSurvey = await surveyFeature.startSurvey()
} catch {
    print("Failure to start survey")
}

Allmän användning

När du klassificerar anrop måste du respektera värden som definierats i skalningsfältet. LowerBound-värdet anger den sämsta möjliga upplevelsen, medan upperBound-värdet innebär den perfekta upplevelsen. Båda värdena är inkluderande.

OverallRating är en obligatorisk kategori för alla undersökningar.

Mer information om förslag på undersökningsanvändning finns i Undersökningsbegrepp

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Endast frekvensanrop – ingen anpassad skala

let overallScore = SurveyScore()
overallScore.score = Int32(5)
callSurvey.overallScore = overallScore

Endast frekvensanrop – med anpassad skala och problem

// configuring scale
var ratingScale = new CallSurveyRatingScale()
ratingScale.lowerBound = 0;
ratingScale.upperBound = 1;
ratingScale.lowScoreThreshold = 0;
SurveyScore overall = new SurveyScore();
overall.scale = ratingScale;
// setting score according to scale
overall.score = 1;

callSurvey.overallScore = overall;

// reporting one or more issues
callSurvey.callIssues = [ CallIssues.hadToRejoin ];

Betygsätt övergripande, ljud och video med ett exempelproblem

let overall = SurveyScore();
overall.score  = 3;

let audio = SurveyScore();
audio.score = 4;

let video = SurveyScore();
video.score = 3;

callSurvey.overallScore = overall;
callSurvey.audioScore = audio;
callSurvey.videoScore = video;
callSurvey.videoIssues = [ VideoIssues.freezes ];

Skicka undersökning och hantera fel som SDK kan skicka

do {
    var result =  try await self.surveyFeature!.submit(survey: callSurvey)
} catch let error as NSError {
    print("==> Survey Not Submitted " + error.localizedDescription)
}

Hitta olika typer av fel

Fel vid sändning av undersökning:

SUBMITSurvey-API:et kan returnera ett fel i följande scenarier:

  • Övergripande undersökningsklassificering krävs.

  • CallSurveyRatingScale måste vara inom 0 och 100. LowerBound bör vara mindre än UpperBound. LowScoreThreshold bör ligga inom gränserna.

  • Någon av poängen måste respektera de gränser som definieras av CallSurveyRatingScale. Alla värden i CallSurveyRatingScale objektet är inkluderande. Med standardskalan ska poängvärdet vara mellan 1 och 5.

  • Undersökningen kan inte skickas på grund av nätverks-/tjänstfel.

Tillgängliga undersökningstaggar

Övergripande samtal

Tagg beskrivning
CannotJoin Kunden kunde inte ansluta till ett samtal
CannotInvite Kunden kunde inte lägga till en ny deltagare vid anrop
HadToRejoin Kunden lämnade och anslöt igen anropet som en lösning på ett problem
CallEndedUnexpectedly Kundens samtal avslutades utan någon uppenbar anledning
OtherIssues Problem som inte passar tidigare beskrivningar

Ljudproblem

Tagg beskrivning
NoLocalAudio Inget ljud på kunddatorn från samtalet, oförmåga att höra någon i samtalet
NoRemoteAudio Ljud saknas från en specifik deltagare
Echo Eko uppfattas i samtalet
AudioNoise Ljud som tas emot med oavsiktligt brus
LowVolume Ljudet är för lågt
AudioStoppedUnexpectedly Ljud stoppas utan tydlig orsak (t.ex. ingen är avstängd)
DistortedSpeech En deltagares röst är förvrängd, skiljer sig från deras förväntade röst
AudioInterruption Kunden upplever ljudavbrott, röstsänkningar osv.
OtherIssues Problem som inte passar tidigare beskrivningar

Videoproblem

Tagg beskrivning
NoVideoReceived Kunden får inte video från en deltagare
NoVideoSent Kunden startar video men ingen i samtalet kan se den
LowQuality Video av låg kvalitet
Freezes Video fryser
StoppedUnexpectedly Skärmresursen stoppas utan tydlig orsak (t.ex. kameran är på och videosamtal är aktiverat)
DarkVideoReceived Videon skickas men deltagaren ser bara en mörk ruta (eller en annan enskild färg)
AudioVideoOutOfSync Video och ljud verkar inte vara synkroniserade
OtherIssues Problem som inte passar tidigare beskrivningar

Problem med skärmresurs

Tagg beskrivning
NoContentLocal Kunden får inte skärmresurs från en deltagare som delar
NoContentRemote Kunden delar skärm, men andra en eller flera deltagare kan inte se den
CannotPresent Det går inte att starta skärmresursen
LowQuality Låg kvalitet på skärmdelningsvideo, t.ex.
Freezes Skärmresursen låses under presentationen
StoppedUnexpectedly Skärmresursen stoppas utan tydlig orsak (t.ex. att skärmresursen inte stoppades av kunden)
LargeDelay Upplevd fördröjning mellan det som visas och vad som visas
OtherIssues Problem som inte passar tidigare beskrivningar

Anpassningsalternativ

Du kan välja att samla in vart och ett av de fyra API-värdena eller bara de som du tycker är viktigast. Du kan till exempel välja att bara fråga kunder om deras övergripande samtalsupplevelse i stället för att fråga dem om deras ljud-, video- och skärmdelningsupplevelse. Du kan också anpassa indataintervall så att de passar dina behov. Standardindataintervallet är 1 till 5 för total samtals-, ljud-, video- och skärmresurs. Varje API-värde kan dock anpassas från minst 0 till högst 100.

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Anpassade frågor

Förutom att använda API:et för undersökning av slutpunktsundersökning kan du skapa egna undersökningsfrågor och införliva dem med resultatet av undersökningen avslutad samtalsundersökning.

Resultatnyttolasten SubmitSurvey innehåller dock data som du kan använda för att korrelera ACS-undersökningsdata med dina egna anpassade data och lagring. CallSurveyResult klassen har fältet SurveyId som anger en unik identifierare för undersökningen och CallId anger en identifierare för samtalet där undersökningen genererades. Om du sparar dessa identifierare tillsammans med dina anpassade data kan data associeras unikt.

Viktigt!

Slut på samtalsundersökning är tillgänglig från och med version 1.8.0 av Windows Calling SDK. Se till att använda den versionen eller senare när du provar instruktionerna.

Exempel på API-användning

Funktionen Undersökning av slutpunktsundersökning ska användas när anropet har avslutats. Användare kan betygsätta alla typer av VoIP-samtal, 1:1, grupp, möte, utgående och inkommande. När en användares anrop avslutas kan ditt program visa ett användargränssnitt för slutanvändaren så att de kan välja en klassificeringspoäng, och vid behov välja problem som de har stött på under samtalet från vår fördefinierade lista.

Följande kodfragment visar ett exempel på ett-till-en-anrop. Efter samtalets slut kan ditt program visa ett undersökningsgränssnitt och när användaren har valt ett omdöme bör programmet anropa funktions-API:et för att skicka undersökningen med användarvalen.

Vi rekommenderar att du använder standardklassificeringsskalan, som är femstjärnigt (mellan 1 och 5). Du kan dock skicka en undersökning med anpassad klassificeringsskala.

Starta en undersökning

Du skapar ett CallSurvey objekt genom att starta en undersökning. Detta registrerar en undersöknings avsikt. Om det här objektet CallSurvey inte skickas efteråt innebär det att undersökningen hoppades över eller ignorerades av slutkund.

var surveyCallFeature = call.Features.Survey;
var survey = await surveyCallFeature.StartSurveyAsync();

Allmän användning

När du klassificerar anrop måste du respektera värden som definierats i skalningsfältet. LowerBound-värdet anger den sämsta möjliga upplevelsen, medan upperBound-värdet innebär den perfekta upplevelsen. Båda värdena är inkluderande.

OverallRating är en obligatorisk kategori för alla undersökningar.

Mer information om förslag på undersökningsanvändning finns i Undersökningsbegrepp

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Endast frekvensanrop – ingen anpassad skala

survey.OverallScore = new CallSurveyScore() { Score = 5 };

Endast frekvensanrop – med anpassad skala och problem

// configuring scale and score
survey.OverallScore = new CallSurveyScore() { 
    Scale = new CallSurveyRatingScale() { 
                LowerBound = 0,
                UpperBound = 1,
                LowScoreThreshold = 1,
            }, 
            Score = 1 
};

// reporting one or more issues
survey.OverallIssues = CallIssues.HadToRejoin;

Betygsätt övergripande, ljud och video med ett exempelproblem

survey.OverallScore = new CallSurveyScore() { 
    Score = 5 
};
survey.AudioScore = new CallSurveyScore() { 
    Score = 4
};
survey.VideoScore = new CallSurveyScore() { 
    Score = 3
};

survey.videoIssues = VideoIssues.Freezes;

Skicka undersökning och hantera fel som SDK kan skicka

try
{
    CallSurveyResult result = await surveyCallFeature.SubmitSurveyAsync(survey);
    Console.WriteLine("Survey submitted" + result.SurveyId);
} catch (Exception ex)
{
   Console.WriteLine(ex.Message);
}

Hitta olika typer av fel

Fel vid sändning av undersökning:

SUBMITSurvey-API:et kan returnera ett fel i följande scenarier:

  • Övergripande undersökningsklassificering krävs.

  • CallSurveyRatingScale måste vara inom 0 och 100. LowerBound bör vara mindre än UpperBound. LowScoreThreshold bör ligga inom gränserna.

  • Någon av poängen måste respektera de gränser som definieras av CallSurveyRatingScale. Alla värden i CallSurveyRatingScale objektet är inkluderande. Med standardskalan ska poängvärdet vara mellan 1 och 5.

  • Undersökningen kan inte skickas på grund av nätverks-/tjänstfel.

Tillgängliga undersökningstaggar

Övergripande samtal

Tagg beskrivning
CannotJoin Kunden kunde inte ansluta till ett samtal
CannotInvite Kunden kunde inte lägga till en ny deltagare vid anrop
HadToRejoin Kunden lämnade och anslöt igen anropet som en lösning på ett problem
EndedUnexpectedly Kundens samtal avslutades utan någon uppenbar anledning
OtherIssues Alla problem som inte passar tidigare beskrivningar

Ljudproblem

Tagg beskrivning
NoLocalAudio Inget ljud på kunddatorn från samtalet, oförmåga att höra någon i samtalet
NoRemoteAudio Ljud saknas från en specifik deltagare
Echo Eko uppfattas i samtalet
AudioNoise Ljud som tas emot med oavsiktligt brus
LowVolume Ljudet är för lågt
AudioStoppedUnexpectedly Ljud stoppas utan tydlig orsak (t.ex. ingen är avstängd)
DistortedSpeech En deltagares röst är förvrängd, skiljer sig från deras förväntade röst
AudioInterruption Kunden upplever ljudavbrott, röstsänkningar osv.
OtherIssues Alla problem som inte passar tidigare beskrivningar

Videoproblem

Tagg beskrivning
NoVideoReceived Kunden får inte video från en deltagare
NoVideoSent Kunden startar video men ingen i samtalet kan se den
LowQuality Video av låg kvalitet
Freezes Video fryser
StoppedUnexpectedly Skärmresursen stoppas utan tydlig orsak (t.ex. kameran är på och videosamtal är aktiverat)
DarkVideoReceived Videon skickas men deltagaren ser bara en mörk ruta (eller en annan enskild färg)
AudioVideoOutOfSync Video och ljud verkar inte vara synkroniserade
OtherIssues Alla problem som inte passar tidigare beskrivningar

Problem med skärmresurs

Tagg beskrivning
NoContentLocal Kunden får inte skärmresurs från en deltagare som delar
NoContentRemote Kunden delar skärm, men andra en eller flera deltagare kan inte se den
CannotPresent Det går inte att starta skärmresursen
LowQuality Låg kvalitet på skärmdelningsvideo, t.ex.
Freezes Skärmresursen låses under presentationen
StoppedUnexpectedly Skärmresursen stoppas utan tydlig orsak (t.ex. att skärmresursen inte stoppades av kunden)
LargeDelay Upplevd fördröjning mellan det som visas och vad som visas
OtherIssues Alla problem som inte passar tidigare beskrivningar

Anpassningsalternativ

Du kan välja att samla in vart och ett av de fyra API-värdena eller bara de som du tycker är viktigast. Du kan till exempel välja att bara fråga kunder om deras övergripande samtalsupplevelse i stället för att fråga dem om deras ljud-, video- och skärmdelningsupplevelse. Du kan också anpassa indataintervall så att de passar dina behov. Standardindataintervallet är 1 till 5 för total samtals-, ljud-, video- och skärmresurs. Varje API-värde kan dock anpassas från minst 0 till högst 100.

Kommentar

En frågas angivna gränsvärde i API:et är det tröskelvärde som Microsoft använder när du analyserar dina undersökningsdata. När du anpassar gränsvärdet eller indataintervallet analyserar Microsoft dina undersökningsdata enligt din anpassning.

Anpassade frågor

Förutom att använda API:et för undersökning av slutpunktsundersökning kan du skapa egna undersökningsfrågor och införliva dem med resultatet av undersökningen avslutad samtalsundersökning.

Resultatnyttolasten SubmitSurvey innehåller dock data som du kan använda för att korrelera ACS-undersökningsdata med dina egna anpassade data och lagring. CallSurveyResult klassen har fältet SurveyId som anger en unik identifierare för undersökningen och CallId anger en identifierare för samtalet där undersökningen genererades. Om du sparar dessa identifierare tillsammans med dina anpassade data kan data associeras unikt.

Samla in undersökningsdata

Viktigt!

Du måste aktivera en diagnostikinställning i Azure Monitor för att skicka loggdata för dina undersökningar till en Log Analytics-arbetsyta, Event Hubs eller ett Azure Storage-konto för att ta emot och analysera dina undersökningsdata. Om du inte skickar undersökningsdata till något av dessa alternativ lagras inte dina undersökningsdata och kommer att gå förlorade. Information om hur du aktiverar dessa loggar för dina kommunikationstjänster finns i: Slut på samtalsundersökningsloggar

Visa undersökningsdata med en Log Analytics-arbetsyta

Du måste aktivera en Log Analytics-arbetsyta för att både lagra loggdata för dina undersökningar och få åtkomst till undersökningsresultat. Information om hur du aktiverar dessa loggar för din kommunikationstjänst finns i: Slut på samtalsundersökningsloggar.

Bästa praxis

Här är våra rekommenderade undersökningsflöden och föreslagna frågefrågor för övervägande. Din utveckling kan använda vår rekommendation eller använda anpassade frågor och flöden för ditt visuella gränssnitt.

Fråga 1: Hur uppfattade användarna sin övergripande upplevelse av samtalskvalitet? Vi rekommenderar att du startar undersökningen genom att bara fråga om deltagarnas övergripande kvalitet. Om du separerar de första och andra frågorna hjälper det att bara samla in svar på problem med ljud, video och skärmdelning om en undersökningsdeltagare anger att de har upplevt problem med samtalskvalitet.

  • Föreslagen fråga: "Hur var samtalskvaliteten?"
  • API-frågevärden: Övergripande anrop

Fråga 2: Uppfattade användaren några problem med ljud-, video- eller skärmdelning i samtalet? Om en undersökningsdeltagare svarade på fråga 1 med en poäng vid eller under gränsvärdet för det övergripande samtalet, så presentera den andra frågan.

  • Föreslagen fråga: "Vad kunde ha varit bättre?"
  • API-frågevärden: Ljud, Video och Skärmdelning

Riktlinjer för undersökning

  • Undvik undersökningsutbrändhet, inte undersöka alla samtalsdeltagare.
  • Ordningen på dina frågor är viktig. Vi rekommenderar att du randomiserar sekvensen med valfria taggar i fråga 2 om respondenterna fokuserar det mesta av sin feedback på den första uppmaningen som de ser visuellt.
  • Överväg att använda undersökningar för separata Azure Communication Services-resurser i kontrollerade experiment för att identifiera versionspåverkan.

Nästa steg