Shromažďování názorů uživatelů pomocí průzkumu na konci hovoru
V tomto kurzu se dozvíte, jak používat průzkum ukončení volání služeb Azure Communication Services.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Aktivní prostředek komunikační služby. Vytvořte prostředek komunikační služby. Výsledky průzkumu jsou svázané s jedinými prostředky komunikačních služeb.
- Aktivní pracovní prostor služby Log Analytics, označovaný také jako protokoly služby Azure Monitor. Viz protokoly ukončení průzkumu volání.
- K provedení průzkumu s vlastními dotazy pomocí bezplatného textu formuláře potřebujete prostředek App Insight.
Důležité
Průzkum ukončení volání je k dispozici od verze 1.13.1 volající sady SDK. Při pokusu o pokyny nezapomeňte použít tuto verzi nebo novější.
Ukázka využití rozhraní API
Po ukončení volání by se měla použít funkce Ukončit průzkum volání. Uživatelé můžou ohodnotit jakýkoli druh hovoru VoIP, 1:1, skupiny, schůzky, odchozí a příchozí. Jakmile volání uživatele skončí, může aplikace koncovému uživateli zobrazit uživatelské rozhraní, které mu umožní zvolit skóre hodnocení a v případě potřeby vybrat problémy, ke kterým došlo během hovoru z předdefinovaného seznamu.
Následující výsuvné kódy ukazují příklad volání 1:1. Po skončení hovoru může vaše aplikace zobrazit uživatelské rozhraní průzkumu a jakmile uživatel zvolí hodnocení, měla by aplikace volat rozhraní API funkce, aby průzkum odeslal s volbami uživatelů.
Doporučujeme použít výchozí měřítko hodnocení. Průzkum ale můžete odeslat s vlastním měřítkem hodnocení. Ukázkovou aplikaci pro ukázkové využití rozhraní API si můžete prohlédnout.
Ohodnotit pouze volání – bez vlastního škálování
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 5 }, // issues are optional
}).then(() => console.log('survey submitted successfully'));
OverallRating je povinná kategorie pro všechny průzkumy.
Ohodnotit pouze volání – s vlastním škálováním a problémy
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'));
Ohodnoťte celkový počet, zvuk a video s ukázkovým problémem
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 3 },
audioRating: { score: 4 },
videoRating: { score: 3, issues: ['Freezes'] }
}).then(() => console.log('survey submitted successfully'))
Zpracování chyb, které může sada SDK odeslat
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 3 }
}).catch((e) => console.log('error when submitting survey: ' + e))
Vyhledání různých typů chyb
Selhání při odesílání průzkumu
Rozhraní API vrátí následující chybové zprávy, pokud ověření dat selže nebo se průzkum nedá odeslat.
Vyžaduje se alespoň jedno hodnocení průzkumu.
Ve výchozím měřítku X by mělo být 1 až 5. - kde X je jeden z těchto:
- overallRating.score
- audioRating.score
- videoRating.score
- ScreenshareRating.score
{propertyName}: {rating.score} by měl být mezi {rating.scale?. lowerBound} a {rating.scale?. upperBound}.
{propertyName}: {rating.scale?. lowScoreThreshold} by měl být mezi {rating.scale?. lowerBound} a {rating.scale?. upperBound}.
{propertyName} lowerBound: {rating.scale?. lowerBound} a upperBound: {rating.scale?. upperBound} musí být v rozmezí od 0 do 100.
Zkuste to prosím znovu [ACS se nepodařilo odeslat průzkum kvůli síti nebo jiné chybě].
Vrátíme všechny kódy chyb se zprávou.
- Kód chyby 400 (chybný požadavek) pro všechny chybové zprávy s výjimkou jedné.
{ message: validationErrorMessage, code: 400 }
- Jeden 408 (časový limit) při zahození události:
{ message: "Please try again.", code: 408 }
Všechny možné hodnoty
Výchozí konfigurace rozhraní API průzkumu
Kategorie hodnocení rozhraní API | Přímá hodnota* | Vstupní oblast | Komentáře |
---|---|---|---|
Celkový hovor | 2 | 1 - 5 | Zkoumá celkové kvality prostředí volajícího účastníka v měřítku 1–5. Odpověď 1 označuje nekonfektní volání a 5 označuje perfektní hovor. Hodnota 2 znamená, že odezva zákazníka 1 nebo 2 značí méně než dokonalé prostředí volání. |
Zvuk | 2 | 1 - 5 | Odpověď 1 značí nedostupné zvukové prostředí a 5 značí, že nedošlo k žádným problémům se zvukem. |
Video | 2 | 1 - 5 | Odpověď 1 značí nedostupné video a 5 značí, že nedošlo k žádným problémům s videem. |
Sdílení obrazovky | 2 | 1 - 5 | Odpověď 1 značí, že dochází k nedostupným funkcím sdílení obrazovky a 5 značí, že nedošlo k žádným problémům se sdílením obrazovky. |
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Další značky průzkumu
Kategorie hodnocení | Volitelné značky |
---|---|
Celkový hovor | CallCannotJoin CallCannotInvite HadToRejoin CallEndedUnexpectedly OtherIssues |
Zvuk | NoLocalAudio NoRemoteAudio Echo AudioNoise LowVolume AudioStoppedUnexpectedly DistortedSpeech AudioInterruption OtherIssues |
Video | NoVideoReceived NoVideoSent LowQuality Freezes StoppedUnexpectedly DarkVideoReceived AudioVideoOutOfSync OtherIssues |
Sdílení obrazovky | NoContentLocal NoContentRemote CannotPresent LowQuality Freezes StoppedUnexpectedly LargeDelay OtherIssues |
Možnosti přizpůsobení
Můžete vybrat, jestli chcete shromáždit všechny čtyři hodnoty rozhraní API, nebo jenom ty, které najdete nejdůležitější. Můžete se například rozhodnout, že se zákazníky zeptáte jenom na celkové prostředí hovoru, a nemusíte se je ptát na zvuk, video a sdílení obrazovky. Vstupní rozsahy můžete také přizpůsobit tak, aby vyhovovaly vašim potřebám. Výchozí vstupní rozsah je 1 až 5 pro celkový hovor, zvuk, video a sdílení obrazovky. Každou hodnotu rozhraní API je však možné přizpůsobit z minimálně 0 na maximálně 100.
Příklady přizpůsobení
Kategorie hodnocení rozhraní API | Přímá hodnota* | Vstupní oblast |
---|---|---|
Celkový hovor | 0 - 100 | 0 - 100 |
Zvuk | 0 - 100 | 0 - 100 |
Video | 0 - 100 | 0 - 100 |
Sdílení obrazovky | 0 - 100 | 0 - 100 |
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Vlastní otázky
Kromě použití rozhraní API pro průzkum koncového volání můžete vytvořit vlastní otázky průzkumu a začlenit je do výsledků průzkumu na konci hovoru. Níže najdete postup, jak začlenit vlastní dotazy zákazníků do průzkumu a dotazovat se na výsledky rozhraní API pro ukončení průzkumu volání a vlastní dotazy k průzkumu.
Vytvoření prostředku App Insight
Vložte Aplikace Azure Insights do aplikace Kliknutím sem získáte další informace o inicializaci App Insight pomocí prostého JavaScriptu. Případně můžete pomocí NPM získat závislosti App Insights. Kliknutím sem získáte další informace o inicializaci App Insight pomocí NPM.
Vytvořte ve své aplikaci uživatelské rozhraní, které uživateli obsluhuje vlastní otázky, a shromážděte jejich vstup, předpokládejme, že vaše aplikace shromáždila odpovědi jako řetězec v
improvementSuggestion
proměnné.Odešlete výsledky průzkumu do služby ACS a odešlete odpověď uživatelů pomocí App Insights:
currentCall.feature(SDK.Features.CallSurvey).submitSurvey(survey).then(res => { // `improvementSuggestion` 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();
Odpovědi uživatelů, které byly odeslány pomocí AppInsights, jsou k dispozici v rámci vašeho pracovního prostoru App Insights. Sešity můžete použít k dotazování mezi více prostředky, korelaci hodnocení volání a vlastních dat průzkumu. Postup korelace hodnocení hovorů a vlastních dat průzkumu:
- Vytvořte nové sešity (prostředek služby ACS –> Monitorování –> Sešity –> Nové) a dotazujte se na data průzkumu volání z prostředku služby ACS.
- Přidat nový dotaz (+Přidat –> Přidat dotaz)
- Ujistěte se,
Data source
že jeLogs
aResource type
jeCommunication
- Dotaz můžete přejmenovat (Upřesnit nastavení –> název kroku [příklad: call-survey])
- Mějte na paměti, že může vyžadovat maximálně 2 hodiny , než se data průzkumu zobrazí na webu Azure Portal. Dotazování na data hodnocení volání
ACSCallSurvey | where TimeGenerated > now(-24h)
- Přidání dalšího dotazu pro získání dat z App Insights (+Přidat –> Přidání dotazu)
- Ujistěte se,
Data source
že jeLogs
aResource type
jeApplication Insights
- Dotazování vlastních událostí
customEvents | where timestamp > now(-24h) | where name == 'CallSurvey' | extend d=parse_json(customDimensions) | project SurveyId = d.id, ImprovementSuggestion = d.improvementSuggestion
- Dotaz můžete přejmenovat (Upřesnit nastavení –> název kroku [příklad: custom-call-survey])
- Nakonec tyto dva dotazy sloučíte podle surveyId. Vytvořit nový dotaz (+Přidat –> přidat dotaz).
- Ujistěte se, že je možnost
Data source
Sloučit, a vyberteMerge type
ji podle potřeby.
title: Ukončení průzkumu volání Azure Communication Services TitleSuffix: Popis dokumentu kurzu služby Azure Communication Services: Naučte se používat průzkum ukončení hovoru ke shromažďování názorů uživatelů. 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
Důležité
Průzkum ukončení hovoru je k dispozici od verze 2.10.0 sady SDK pro volání pro Android. Při pokusu o pokyny nezapomeňte použít tuto verzi nebo novější.
Ukázka využití rozhraní API
Po ukončení volání by se měla použít funkce Ukončit průzkum volání. Uživatelé můžou ohodnotit jakýkoli druh hovoru VoIP, 1:1, skupiny, schůzky, odchozí a příchozí. Jakmile volání uživatele skončí, může aplikace koncovému uživateli zobrazit uživatelské rozhraní, které mu umožní zvolit skóre hodnocení a v případě potřeby vybrat problémy, ke kterým došlo během hovoru z předdefinovaného seznamu.
Následující výsuvné kódy ukazují příklad volání 1:1. Po skončení hovoru může vaše aplikace zobrazit uživatelské rozhraní průzkumu a jakmile uživatel zvolí hodnocení, měla by aplikace volat rozhraní API funkce, aby průzkum odeslal s volbami uživatelů.
Doporučujeme použít výchozí měřítko hodnocení, což je pět hvězdiček (od 1 do 5). Průzkum ale můžete odeslat s vlastním měřítkem hodnocení.
Zahájení průzkumu
Objekt vytvoříte CallSurvey
spuštěním průzkumu. Tento záznam zaznamenává záměr průzkumu. V případě, že se tento konkrétní CallSurvey
objekt později neodesílají, znamená to, že koncový zákazník přeskočil nebo ignoroval průzkum.
SurveyCallFeature surveyCallFeature = call.feature(Features.SURVEY);
try {
CallSurvey survey = surveyCallFeature.startSurvey().get();
} catch (InterruptedException | ExecutionException e) {
// failure to start survey
}
Obecné použití
Při volání hodnocení je nutné respektovat hodnoty definované v poli měřítka. Hodnota lowerBound označuje nejhorší možný zážitek, zatímco horní hodnotaBound znamená perfektní prostředí. Obě hodnoty jsou inkluzivní.
OverallRating je povinná kategorie pro všechny průzkumy.
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Další informace o navrhovaném použití průzkumu najdete v tématu Koncepty průzkumu.
Ohodnotit pouze volání – bez vlastního škálování
SurveyScore overall = new SurveyScore();
overall.setScore(5);
callSurvey.setOverallScore(overall);
Ohodnotit pouze volání – s vlastním škálováním a problémy
// 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);
Ohodnoťte celkový počet, zvuk a video s ukázkovým problémem
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);
Odeslání průzkumu a zpracování chyb, které může sada SDK odeslat
try {
CallSurveyResult survey = surveyCallFeature.submitSurvey(survey).get();
} catch (InterruptedException e) {
// Threading error
} catch (ExecutionException e) {
Log.e("SURVEY", e.getCause().getMessage());
}
Vyhledání různých typů chyb
Selhání při odesílání průzkumu:
Rozhraní API submitSurvey může vrátit chybu v následujících scénářích:
Vyžaduje se celkové hodnocení průzkumu.
CallSurveyRatingScale
hranice musí být v rozsahu 0 a 100. LowerBound by měl být menší než UpperBound. LowScoreThreshold by měl být v mezích.Jakékoli skóre musí respektovat hranice definované
CallSurveyRatingScale
v sadě . Všechny hodnoty v objektuCallSurveyRatingScale
jsou inkluzivní. Při použití výchozího měřítka by hodnota skóre měla být mezi 1 a 5.Průzkum nejde odeslat kvůli chybě sítě nebo služby.
Dostupné značky průzkumu
Celkový hovor
Značka | Popis |
---|---|
CannotJoin |
Zákazník se nemohl připojit k hovoru |
CannotInvite |
Zákazník nemohl přidat nového účastníka na hovor |
HadToRejoin |
Zákazník odešel a znovu se připojil k hovoru jako alternativní řešení problému. |
CallEndedUnexpectedly |
Hovor zákazníka skončil bez zjevného důvodu |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy se zvukem
Značka | Popis |
---|---|
NoLocalAudio |
Žádný zvuk na zákaznickém počítači z hovoru, nemožnost slyšet nikoho v hovoru |
NoRemoteAudio |
Chybějící zvuk od konkrétního účastníka |
Echo |
Ozvěna vnímaná v hovoru |
AudioNoise |
Přijatý zvuk s nezamýšleným šumem |
LowVolume |
Zvuk je příliš nízký. |
AudioStoppedUnexpectedly |
Zvuk se zastavil bez jasného důvodu (např. nikdo není ztlumený) |
DistortedSpeech |
Hlas účastníka je zkreslený, liší se od očekávaného hlasu. |
AudioInterruption |
Zákaznické zkušenosti s přerušením zvuku, řezy hlasu atd. |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy s videem
Značka | Popis |
---|---|
NoVideoReceived |
Zákazník neobdrží video od účastníka |
NoVideoSent |
Zákazník spustí video, ale nikdo v hovoru ho neuvidí. |
LowQuality |
Video s nízkou kvalitou |
Freezes |
Video se zablokuje |
StoppedUnexpectedly |
Sdílení obrazovky se zastaví bez jasného důvodu (např. kamera je zapnutá a videohovor je zapnutá) |
DarkVideoReceived |
Video se odesílá, ale účastník uvidí jenom tmavé pole (nebo jinou barvu). |
AudioVideoOutOfSync |
Zdá se, že video a zvuk nejsou synchronizované |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy se sdílením obrazovky
Značka | Popis |
---|---|
NoContentLocal |
Zákazník neobdrží sdílenou obrazovku od účastníka, který sdílí |
NoContentRemote |
Zákazník sdílí obrazovku, ale ostatní účastníci ji nevidí |
CannotPresent |
Nejde spustit sdílení obrazovky |
LowQuality |
Nízká kvalita sdílení videa na obrazovce, například nejde přečíst |
Freezes |
Sdílení obrazovky se během prezentace zablokuje |
StoppedUnexpectedly |
Sdílení obrazovky se zastaví bez jasného důvodu (např. sdílení obrazovky nebylo zastaveno zákazníkem) |
LargeDelay |
Vnímaná prodleva mezi tím, co se zobrazuje a co je vidět |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Možnosti přizpůsobení
Můžete vybrat, jestli chcete shromáždit všechny čtyři hodnoty rozhraní API, nebo jenom ty, které najdete nejdůležitější. Můžete se například rozhodnout, že se zákazníky zeptáte jenom na celkové prostředí hovoru, a nemusíte se je ptát na zvuk, video a sdílení obrazovky. Vstupní rozsahy můžete také přizpůsobit tak, aby vyhovovaly vašim potřebám. Výchozí vstupní rozsah je 1 až 5 pro celkový hovor, zvuk, video a sdílení obrazovky. Každou hodnotu rozhraní API je však možné přizpůsobit z minimálně 0 na maximálně 100.
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Vlastní otázky
Kromě použití rozhraní API pro průzkum koncového volání můžete vytvořit vlastní otázky průzkumu a začlenit je do výsledků průzkumu na konci hovoru.
Výsledná datová SubmitSurvey
část operace poskytuje data, která můžete použít ke korelaci dat průzkumu služby ACS s vlastními daty a úložištěm. CallSurveyResult
Třída má SurveyId
pole, které označuje jedinečný identifikátor průzkumu a CallId
označuje identifikátor volání, ve kterém byl průzkum vygenerován. Ukládání těchto identifikátorů spolu s přizpůsobenými daty umožňuje jedinečně přidružit data.
Důležité
Průzkum ukončení volání je k dispozici od verze 2.10.0 sady SDK pro volání pro iOS. Při pokusu o pokyny nezapomeňte použít tuto verzi nebo novější.
Ukázka využití rozhraní API
Po ukončení volání by se měla použít funkce Ukončit průzkum volání. Uživatelé můžou ohodnotit jakýkoli druh hovoru VoIP, 1:1, skupiny, schůzky, odchozí a příchozí. Jakmile volání uživatele skončí, může aplikace koncovému uživateli zobrazit uživatelské rozhraní, které mu umožní zvolit skóre hodnocení a v případě potřeby vybrat problémy, ke kterým došlo během hovoru z předdefinovaného seznamu.
Následující výsuvné kódy ukazují příklad volání 1:1. Po skončení hovoru může vaše aplikace zobrazit uživatelské rozhraní průzkumu a jakmile uživatel zvolí hodnocení, měla by aplikace volat rozhraní API funkce, aby průzkum odeslal s volbami uživatelů.
Doporučujeme použít výchozí měřítko hodnocení, což je pět hvězdiček (od 1 do 5). Průzkum ale můžete odeslat s vlastním měřítkem hodnocení.
Zahájení průzkumu
Objekt vytvoříte CallSurvey
spuštěním průzkumu. Tento záznam zaznamenává záměr průzkumu. V případě, že se tento konkrétní CallSurvey
objekt později neodesílají, znamená to, že koncový zákazník přeskočil nebo ignoroval průzkum.
var surveyCallFeature = self.call.feature(Features.survey)
do {
try self.callSurvey = await surveyFeature.startSurvey()
} catch {
print("Failure to start survey")
}
Obecné použití
Při volání hodnocení je nutné respektovat hodnoty definované v poli měřítka. Hodnota lowerBound označuje nejhorší možný zážitek, zatímco horní hodnotaBound znamená perfektní prostředí. Obě hodnoty jsou inkluzivní.
OverallRating je povinná kategorie pro všechny průzkumy.
Další informace o navrhovaném použití průzkumu najdete v tématu Koncepty průzkumu.
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Ohodnotit pouze volání – bez vlastního škálování
let overallScore = SurveyScore()
overallScore.score = Int32(5)
callSurvey.overallScore = overallScore
Ohodnotit pouze volání – s vlastním škálováním a problémy
// 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 ];
Ohodnoťte celkový počet, zvuk a video s ukázkovým problémem
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 ];
Odeslání průzkumu a zpracování chyb, které může sada SDK odeslat
do {
var result = try await self.surveyFeature!.submit(survey: callSurvey)
} catch let error as NSError {
print("==> Survey Not Submitted " + error.localizedDescription)
}
Vyhledání různých typů chyb
Selhání při odesílání průzkumu:
Rozhraní API submitSurvey může vrátit chybu v následujících scénářích:
Vyžaduje se celkové hodnocení průzkumu.
CallSurveyRatingScale
hranice musí být v rozsahu 0 a 100. LowerBound by měl být menší než UpperBound. LowScoreThreshold by měl být v mezích.Jakékoli skóre musí respektovat hranice definované
CallSurveyRatingScale
v sadě . Všechny hodnoty v objektuCallSurveyRatingScale
jsou inkluzivní. Při použití výchozího měřítka by hodnota skóre měla být mezi 1 a 5.Průzkum nejde odeslat kvůli chybě sítě nebo služby.
Dostupné značky průzkumu
Celkový hovor
Značka | Popis |
---|---|
CannotJoin |
Zákazník se nemohl připojit k hovoru |
CannotInvite |
Zákazník nemohl přidat nového účastníka na hovor |
HadToRejoin |
Zákazník odešel a znovu se připojil k hovoru jako alternativní řešení problému. |
CallEndedUnexpectedly |
Hovor zákazníka skončil bez zjevného důvodu |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy se zvukem
Značka | Popis |
---|---|
NoLocalAudio |
Žádný zvuk na zákaznickém počítači z hovoru, nemožnost slyšet nikoho v hovoru |
NoRemoteAudio |
Chybějící zvuk od konkrétního účastníka |
Echo |
Ozvěna vnímaná v hovoru |
AudioNoise |
Přijatý zvuk s nezamýšleným šumem |
LowVolume |
Zvuk je příliš nízký. |
AudioStoppedUnexpectedly |
Zvuk se zastavil bez jasného důvodu (např. nikdo není ztlumený) |
DistortedSpeech |
Hlas účastníka je zkreslený, liší se od očekávaného hlasu. |
AudioInterruption |
Zákaznické zkušenosti s přerušením zvuku, řezy hlasu atd. |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy s videem
Značka | Popis |
---|---|
NoVideoReceived |
Zákazník neobdrží video od účastníka |
NoVideoSent |
Zákazník spustí video, ale nikdo v hovoru ho neuvidí. |
LowQuality |
Video s nízkou kvalitou |
Freezes |
Video se zablokuje |
StoppedUnexpectedly |
Sdílení obrazovky se zastaví bez jasného důvodu (např. kamera je zapnutá a videohovor je zapnutá) |
DarkVideoReceived |
Video se odesílá, ale účastník uvidí jenom tmavé pole (nebo jinou barvu). |
AudioVideoOutOfSync |
Zdá se, že video a zvuk nejsou synchronizované |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy se sdílením obrazovky
Značka | Popis |
---|---|
NoContentLocal |
Zákazník neobdrží sdílenou obrazovku od účastníka, který sdílí |
NoContentRemote |
Zákazník sdílí obrazovku, ale ostatní účastníci ji nevidí |
CannotPresent |
Nejde spustit sdílení obrazovky |
LowQuality |
Nízká kvalita sdílení videa na obrazovce, například nejde přečíst |
Freezes |
Sdílení obrazovky se během prezentace zablokuje |
StoppedUnexpectedly |
Sdílení obrazovky se zastaví bez jasného důvodu (např. sdílení obrazovky nebylo zastaveno zákazníkem) |
LargeDelay |
Vnímaná prodleva mezi tím, co se zobrazuje a co je vidět |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Možnosti přizpůsobení
Můžete vybrat, jestli chcete shromáždit všechny čtyři hodnoty rozhraní API, nebo jenom ty, které najdete nejdůležitější. Můžete se například rozhodnout, že se zákazníky zeptáte jenom na celkové prostředí hovoru, a nemusíte se je ptát na zvuk, video a sdílení obrazovky. Vstupní rozsahy můžete také přizpůsobit tak, aby vyhovovaly vašim potřebám. Výchozí vstupní rozsah je 1 až 5 pro celkový hovor, zvuk, video a sdílení obrazovky. Každou hodnotu rozhraní API je však možné přizpůsobit z minimálně 0 na maximálně 100.
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Vlastní otázky
Kromě použití rozhraní API pro průzkum koncového volání můžete vytvořit vlastní otázky průzkumu a začlenit je do výsledků průzkumu na konci hovoru.
Datová SubmitSurvey
část operace ale poskytuje data, která můžete použít ke korelaci dat průzkumu služby ACS s vlastními daty a úložištěm. CallSurveyResult
Třída má SurveyId
pole, které označuje jedinečný identifikátor průzkumu a CallId
označuje identifikátor volání, ve kterém byl průzkum vygenerován. Uložení těchto identifikátorů spolu s přizpůsobenými daty umožňuje jedinečně přidružit data.
Důležité
Průzkum ukončení hovoru je k dispozici od verze 1.8.0 sady Windows Calling SDK. Při pokusu o pokyny nezapomeňte použít tuto verzi nebo novější.
Ukázka využití rozhraní API
Po ukončení volání by se měla použít funkce Ukončit průzkum volání. Uživatelé můžou ohodnotit jakýkoli druh hovoru VoIP, 1:1, skupiny, schůzky, odchozí a příchozí. Jakmile volání uživatele skončí, může aplikace koncovému uživateli zobrazit uživatelské rozhraní, které mu umožní zvolit skóre hodnocení a v případě potřeby vybrat problémy, ke kterým došlo během hovoru z předdefinovaného seznamu.
Následující výsuvné kódy ukazují příklad volání 1:1. Po skončení hovoru může vaše aplikace zobrazit uživatelské rozhraní průzkumu a jakmile uživatel zvolí hodnocení, měla by aplikace volat rozhraní API funkce, aby průzkum odeslal s volbami uživatelů.
Doporučujeme použít výchozí měřítko hodnocení, což je pět hvězdiček (od 1 do 5). Průzkum ale můžete odeslat s vlastním měřítkem hodnocení.
Zahájení průzkumu
Objekt vytvoříte CallSurvey
spuštěním průzkumu. Tento záznam zaznamenává záměr průzkumu. V případě, že se tento konkrétní CallSurvey
objekt později neodesílají, znamená to, že koncový zákazník přeskočil nebo ignoroval průzkum.
var surveyCallFeature = call.Features.Survey;
var survey = await surveyCallFeature.StartSurveyAsync();
Obecné použití
Při volání hodnocení je nutné respektovat hodnoty definované v poli měřítka. Hodnota lowerBound označuje nejhorší možný zážitek, zatímco horní hodnotaBound znamená perfektní prostředí. Obě hodnoty jsou inkluzivní.
OverallRating je povinná kategorie pro všechny průzkumy.
Další informace o navrhovaném použití průzkumu najdete v tématu Koncepty průzkumu.
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Ohodnotit pouze volání – bez vlastního škálování
survey.OverallScore = new CallSurveyScore() { Score = 5 };
Ohodnotit pouze volání – s vlastním škálováním a problémy
// 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;
Ohodnoťte celkový počet, zvuk a video s ukázkovým problémem
survey.OverallScore = new CallSurveyScore() {
Score = 5
};
survey.AudioScore = new CallSurveyScore() {
Score = 4
};
survey.VideoScore = new CallSurveyScore() {
Score = 3
};
survey.videoIssues = VideoIssues.Freezes;
Odeslání průzkumu a zpracování chyb, které může sada SDK odeslat
try
{
CallSurveyResult result = await surveyCallFeature.SubmitSurveyAsync(survey);
Console.WriteLine("Survey submitted" + result.SurveyId);
} catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Vyhledání různých typů chyb
Selhání při odesílání průzkumu:
Rozhraní API submitSurvey může vrátit chybu v následujících scénářích:
Vyžaduje se celkové hodnocení průzkumu.
CallSurveyRatingScale
hranice musí být v rozsahu 0 a 100. LowerBound by měl být menší než UpperBound. LowScoreThreshold by měl být v mezích.Jakékoli skóre musí respektovat hranice definované
CallSurveyRatingScale
v sadě . Všechny hodnoty v objektuCallSurveyRatingScale
jsou inkluzivní. Při použití výchozího měřítka by hodnota skóre měla být mezi 1 a 5.Průzkum nejde odeslat kvůli chybě sítě nebo služby.
Dostupné značky průzkumu
Celkový hovor
Značka | Popis |
---|---|
CannotJoin |
Zákazník se nemohl připojit k hovoru |
CannotInvite |
Zákazník nemohl přidat nového účastníka na hovor |
HadToRejoin |
Zákazník odešel a znovu se připojil k hovoru jako alternativní řešení problému. |
EndedUnexpectedly |
Hovor zákazníka skončil bez zjevného důvodu |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy se zvukem
Značka | Popis |
---|---|
NoLocalAudio |
Žádný zvuk na zákaznickém počítači z hovoru, nemožnost slyšet nikoho v hovoru |
NoRemoteAudio |
Chybějící zvuk od konkrétního účastníka |
Echo |
Ozvěna vnímaná v hovoru |
AudioNoise |
Přijatý zvuk s nezamýšleným šumem |
LowVolume |
Zvuk je příliš nízký. |
AudioStoppedUnexpectedly |
Zvuk se zastavil bez jasného důvodu (např. nikdo není ztlumený) |
DistortedSpeech |
Hlas účastníka je zkreslený, liší se od očekávaného hlasu. |
AudioInterruption |
Zákaznické zkušenosti s přerušením zvuku, řezy hlasu atd. |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy s videem
Značka | Popis |
---|---|
NoVideoReceived |
Zákazník neobdrží video od účastníka |
NoVideoSent |
Zákazník spustí video, ale nikdo v hovoru ho neuvidí. |
LowQuality |
Video s nízkou kvalitou |
Freezes |
Video se zablokuje |
StoppedUnexpectedly |
Sdílení obrazovky se zastaví bez jasného důvodu (např. kamera je zapnutá a videohovor je zapnutá) |
DarkVideoReceived |
Video se odesílá, ale účastník uvidí jenom tmavé pole (nebo jinou barvu). |
AudioVideoOutOfSync |
Zdá se, že video a zvuk nejsou synchronizované |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Problémy se sdílením obrazovky
Značka | Popis |
---|---|
NoContentLocal |
Zákazník neobdrží sdílenou obrazovku od účastníka, který sdílí |
NoContentRemote |
Zákazník sdílí obrazovku, ale ostatní účastníci ji nevidí |
CannotPresent |
Nejde spustit sdílení obrazovky |
LowQuality |
Nízká kvalita sdílení videa na obrazovce, například nejde přečíst |
Freezes |
Sdílení obrazovky se během prezentace zablokuje |
StoppedUnexpectedly |
Sdílení obrazovky se zastaví bez jasného důvodu (např. sdílení obrazovky nebylo zastaveno zákazníkem) |
LargeDelay |
Vnímaná prodleva mezi tím, co se zobrazuje a co je vidět |
OtherIssues |
Všechny problémy, které neodpovídají předchozím popisům |
Možnosti přizpůsobení
Můžete vybrat, jestli chcete shromáždit všechny čtyři hodnoty rozhraní API, nebo jenom ty, které najdete nejdůležitější. Můžete se například rozhodnout, že se zákazníky zeptáte jenom na celkové prostředí hovoru, a nemusíte se je ptát na zvuk, video a sdílení obrazovky. Vstupní rozsahy můžete také přizpůsobit tak, aby vyhovovaly vašim potřebám. Výchozí vstupní rozsah je 1 až 5 pro celkový hovor, zvuk, video a sdílení obrazovky. Každou hodnotu rozhraní API je však možné přizpůsobit z minimálně 0 na maximálně 100.
Poznámka:
Otazník označená hodnota v rozhraní API je prahová hodnota, kterou Microsoft používá při analýze dat průzkumu. Když přizpůsobíte mezní hodnotu nebo vstupní rozsah, Microsoft analyzuje data průzkumu podle vlastního nastavení.
Vlastní otázky
Kromě použití rozhraní API pro průzkum koncového volání můžete vytvořit vlastní otázky průzkumu a začlenit je do výsledků průzkumu na konci hovoru.
Datová SubmitSurvey
část operace ale poskytuje data, která můžete použít ke korelaci dat průzkumu služby ACS s vlastními daty a úložištěm. CallSurveyResult
Třída má SurveyId
pole, které označuje jedinečný identifikátor průzkumu a CallId
označuje identifikátor volání, ve kterém byl průzkum vygenerován. Ukládání těchto identifikátorů spolu s přizpůsobenými daty umožňuje jedinečně přidružit data.
Shromažďování dat průzkumu
Důležité
Abyste mohli přijímat a analyzovat data průzkumu, musíte ve službě Azure Monitor povolit nastavení diagnostiky, abyste mohli odesílat data protokolů průzkumů do pracovního prostoru služby Log Analytics, do služby Event Hubs nebo účtu úložiště Azure. Pokud neodešlete data průzkumu do některé z těchto možností, data průzkumu nebudou uložena a budou ztracena. Pokud chcete povolit tyto protokoly pro komunikační služby, přečtěte si téma: Protokoly ukončení průzkumu volání
Zobrazení dat průzkumu pomocí pracovního prostoru služby Log Analytics
Musíte povolit pracovní prostor služby Log Analytics, aby ukládaly data protokolů vašich průzkumů i přístup k výsledkům průzkumu. Pokud chcete povolit tyto protokoly pro službu Communications Service, přečtěte si téma: Protokoly ukončení průzkumu volání.
- Pracovní prostor služby Log Analytics můžete také integrovat s Power BI, viz: Integrace Log Analytics s Power BI.
Osvědčené postupy
Tady jsou naše doporučené toky průzkumu a navrhované výzvy k otázce, které je potřeba vzít v úvahu. Váš vývoj může použít naše doporučení nebo použít přizpůsobené výzvy a toky otázek pro vaše vizuální rozhraní.
Otázka 1: Jak uživatelé vnímali své celkové zkušenosti s kvalitou hovorů? Doporučujeme zahájit průzkum jenom dotazem na celkovou kvalitu účastníků. Pokud oddělíte první a druhou otázku, pomůže vám shromáždit odpovědi jenom na problémy se zvukem, videem a sdílením obrazovky, pokud účastník průzkumu indikuje, že došlo k problémům s kvalitou hovorů.
- Suggested prompt: "How was the call quality?" (Jak byla kvalita hovoru?
- Hodnoty otázek rozhraní API: Celkové volání
Otázka 2: V hovoru uživatel vnímal nějaké problémy se zvukem, videem nebo sdílením obrazovky? Pokud účastník průzkumu odpověděl na otázku 1 se skóre v celkovém hovoru nebo pod jeho hodnotou, poté předejte druhou otázku.
- Navržená výzva: "Co by mohlo být lepší?"
- Hodnoty otázek rozhraní API: Zvuk, video a sdílení obrazovky
Pokyny pro průzkumy
- Vyhněte se vyhoření průzkumu, nezjišťujte všechny účastníky hovoru.
- Záleží na pořadí otázek. V případě, že se respondenti zaměří většinu zpětné vazby na první výzvu, kterou vizuálně vidí, doporučujeme náhodnou sekvenci volitelných značek v otázce 2.
- Zvažte použití průzkumů pro samostatné prostředky služeb Azure Communication Services v kontrolovaných experimentech k identifikaci dopadů na vydání.
Další kroky
Analýza dat průzkumu, viz: Protokoly ukončení hovoru
Další informace o průzkumu ukončení hovoru najdete v tématu: Přehled průzkumu ukončení hovoru
Naučte se používat pracovní prostor služby Log Analytics, viz: Kurz služby Log Analytics
Vytvoření vlastních dotazů v Log Analytics najdete v tématu: Začínáme s dotazy