Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Tutorial erfahren Sie, wie Sie die End-of-Call-Umfrage von Azure Communication Services nutzen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
- Eine aktive Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource. Umfrageergebnisse sind an einzelne Kommunikationsdiensteressourcen gebunden.
- Ein aktiver Log Analytics-Arbeitsbereich, auch bekannt als Azure Monitor Logs. Siehe Ende der Anrufumfrageprotokolle.
- Um eine Umfrage mit benutzerdefinierten Fragen mit kostenlosem Formulartext durchzuführen, benötigen Sie eine App Insight-Ressource.
Von Bedeutung
Umfrage am Ende des Anrufs ist ab Version 1.13.1 des Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version oder höher verwenden, wenn Sie die Anweisungen ausprobieren.
- Für Node.js werden aktive LTS-Versionen (Long Term Support) empfohlen.
Beispiel für die API-Verwendung
Das Feature "Anrufumfrage beenden" sollte nach Beendigung des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf, 1:1, Gruppe, Besprechung, ausgehend und eingehend bewerten. Sobald der Anruf eines Benutzers endet, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, die es ihnen ermöglicht, eine Bewertung auszuwählen und, falls nötig, Probleme aus unserer vordefinierten Liste auszuwählen, die während des Anrufs aufgetreten sind.
Die folgenden Code-Snips zeigen ein Beispiel für einen 1:1-Aufruf. Nach dem Ende des Aufrufs kann Ihre Anwendung eine Umfrage-UI anzeigen und sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit den Benutzeroptionen zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden. Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln. Sie können die Beispielanwendung für die Beispiel-API-Verwendung auschecken.
Nur Anruf bewerten – keine benutzerdefinierte Skala
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 5 }, // issues are optional
}).then(() => console.log('survey submitted successfully'));
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Nur Anruf bewerten – mit benutzerdefinierter Skala und Problemen
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'));
Bewerten Sie allgemein, Audio und Video mit einem Beispielproblem
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 3 },
audioRating: { score: 4 },
videoRating: { score: 3, issues: ['Freezes'] }
}).then(() => console.log('survey submitted successfully'))
Behandeln von Fehlern, die das SDK senden kann
call.feature(Features.CallSurvey).submitSurvey({
overallRating: { score: 3 }
}).catch((e) => console.log('error when submitting survey: ' + e))
Suchen verschiedener Arten von Fehlern
Fehler beim Übermitteln einer Umfrage
Die API gibt die folgenden Fehlermeldungen zurück, wenn die Datenüberprüfung fehlschlägt oder die Umfrage nicht übermittelt werden kann.
Mindestens eine Umfragebewertung ist erforderlich.
In der Standardskala X sollte 1 bis 5 sein. - wobei X entweder eine der folgenden Optionen ist:
- Gesamtbewertung.Punktzahl
- audioRating.score
- videoRating.score
- ScreenshareRating.score
{propertyName}: {rating.score} sollte zwischen {rating.scale?.lowerBound} und {rating.scale?.upperBound} liegen.
{propertyName}: {rating.scale?. lowScoreThreshold} sollte zwischen {rating.scale?.lowerBound} und {rating.scale?. upperBound} liegen.
{propertyName} lowerBound: {rating.scale?.lowerBound} und upperBound: {rating.scale?.upperBound} sollten zwischen 0 und 100 liegen.
Versuchen Sie es bitte erneut [ACS konnte die Umfrage aufgrund eines Netzwerks oder eines anderen Fehlers nicht übermitteln].
Wir geben alle Fehlercodes mit einer Nachricht zurück.
- Fehlercode 400 (ungültige Anforderung) für alle Fehlermeldungen außer einer.
{ message: validationErrorMessage, code: 400 }
- Ein 408 (Timeout) beim Verwerfen des Ereignisses:
{ message: "Please try again.", code: 408 }
Alle möglichen Werte
Standardkonfiguration der Umfrage-API
| API-Bewertungskategorien | Schwellenwert* | Eingabebereich | Kommentare |
|---|---|---|---|
| Anruf insgesamt | 2 | 1 - 5 | Bewertet die allgemeine Qualitätserfahrung eines Anrufteilnehmers auf einer Skala von 1 bis 5. Eine Antwort von 1 bedeutet, dass das Anruferlebnis nicht perfekt war, eine 5, dass es perfekt war. Der Cutoff-Wert von 2 bedeutet, dass eine Kundenantwort von 1 oder 2 eine weniger als perfekte Anruferfahrung angibt. |
| Audio | 2 | 1 - 5 | Eine Antwort von 1 zeigt eine unvollkommene Audioerfahrung und 5 an, dass keine Audioprobleme aufgetreten sind. |
| Video | 2 | 1 - 5 | Eine Antwort von 1 zeigt eine unvollkommene Videoerfahrung und 5 an, dass keine Videoprobleme aufgetreten sind. |
| Screenshare | 2 | 1 - 5 | Die Antwort 1 weist auf eine mangelhafte Bildschirmfreigabe hin, und 5 gibt an, dass keine Probleme mit der Bildschirmfreigabe aufgetreten sind. |
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Weitere Umfragetags
| Bewertungskategorien | Optionale Tags |
|---|---|
| Anruf insgesamt |
CallCannotJoin
CallCannotInvite
HadToRejoin
CallEndedUnexpectedly
OtherIssues
|
| Audio |
NoLocalAudio
NoRemoteAudio
Echo
AudioNoise
LowVolume
AudioStoppedUnexpectedly
DistortedSpeech
AudioInterruption
OtherIssues
|
| Video |
NoVideoReceived
NoVideoSent
LowQuality
Freezes
StoppedUnexpectedly
DarkVideoReceived
AudioVideoOutOfSync
OtherIssues
|
| Screenshare |
NoContentLocal
NoContentRemote
CannotPresent
LowQuality
Freezes
StoppedUnexpectedly
LargeDelay
OtherIssues
|
Optionen zur Anpassung
Sie können auswählen, dass jeder der vier API-Werte oder nur diejenigen erfasst werden, die Sie am wichtigsten finden. Sie können z. B. nur Kunden über ihre allgemeine Anruferfahrung fragen, anstatt sie zu ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch Eingabebereiche an Ihre Anforderungen anpassen. Der Standardeingabebereich ist 1 bis 5 für "Gesamtanruf", "Audio", "Video" und "Bildschirmfreigabe". Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Anpassungsbeispiele
| API-Bewertungskategorien | Schwellenwert* | Eingabebereich |
|---|---|---|
| Anruf insgesamt | 0 - 100 | 0 - 100 |
| Audio | 0 - 100 | 0 - 100 |
| Video | 0 - 100 | 0 - 100 |
| Screenshare | 0 - 100 | 0 - 100 |
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Zusätzlich zur Verwendung der End of Call Survey API können Sie Ihre eigenen Umfragefragen erstellen und in die Ergebnisse der Anrufumfrage integrieren. Im Folgenden finden Sie Schritte, um Ihre eigenen Kundenfragen in eine Umfrage zu integrieren und die Ergebnisse der End of Call Survey API und Ihrer eigenen Umfragefragen abzufragen.
Betten Sie Azure AppInsights in Ihre Anwendung Ein. Klicken Sie hier, um mehr über die Initialisierung von App Insight mit einfachem JavaScript zu erfahren. Alternativ können Sie NPM verwenden, um die Abhängigkeiten von App Insights abzurufen. Klicken Sie hier, um mehr über die App Insight-Initialisierung mithilfe von NPM zu erfahren.
Erstellen Sie eine Benutzeroberfläche in Ihrer Anwendung, die dem Benutzer benutzerdefinierte Fragen bereitstellt und deren Eingaben sammelt. Nehmen wir an, dass Ihre Anwendung die Antworten als Zeichenfolge in der
improvementSuggestionVariablen gesammelt hat.Übermitteln von Umfrageergebnissen an ACS und Senden von Benutzerantworten mithilfe von 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();
Benutzerantworten, die mit AppInsights gesendet wurden, sind unter Ihrem App Insights-Arbeitsbereich verfügbar. Sie können Arbeitsmappen verwenden, um zwischen mehreren Ressourcen abzufragen, Anrufbewertungen und benutzerdefinierte Umfragedaten zu korrelieren. Schritte zum Korrelieren der Anrufbewertungen und benutzerdefinierten Umfragedaten:
- Erstellen Sie neue Arbeitsmappen (Ihre ACS-Ressource -> Überwachung -> Arbeitsmappen -> Neu) und fragen Sie Anrufumfragedaten aus Ihrer ACS-Ressource ab.
- Neue Abfrage (+Hinzufügen –> Abfrage hinzufügen)
- Stellen Sie sicher, dass
Data sourceLogsist undResource typeCommunicationist - Sie können die Abfrage umbenennen (Erweiterte Einstellungen –> Schrittname [Beispiel: Anrufumfrage])
- Beachten Sie, dass es maximal 2 Stunden erforderlich sein kann, bevor die Umfragedaten im Azure-Portal sichtbar werden. Abfrage der Anrufbewertungsdaten-
ACSCallSurvey | where TimeGenerated > now(-24h) - Eine weitere Abfrage hinzufügen, um Daten aus App Insights abzurufen (+Abfrage hinzufügen –> Abfrage hinzufügen)
- Stellen Sie sicher, dass
Data sourceLogsist undResource typeApplication Insightsist - Abfragen der benutzerdefinierten Ereignisse-
customEvents | where timestamp > now(-24h) | where name == 'CallSurvey' | extend d=parse_json(customDimensions) | project SurveyId = d.id, ImprovementSuggestion = d.improvementSuggestion - Sie können die Abfrage umbenennen (Erweiterte Einstellungen –> Schrittname [Beispiel: benutzerdefinierte Anrufumfrage])
- Führen Sie schließlich diese beiden Abfragen mit "surveyId" zusammen. Neue Abfrage erstellen (+Hinzufügen –> Abfrage hinzufügen).
- Vergewissern Sie sich, dass
Data source„Merge“ lautet, und wählen Sie nach BedarfMerge typeaus.
Title: Azure Communication Services-Umfrage am Ende des Anrufs titleSuffix: Eine Beschreibung des Tutorials für Azure Communication Services: Erfahren Sie, wie Sie die Umfrage am Ende des Anrufs (Englisch: End of Call Survey) verwenden, um Benutzerfeedback zu sammeln. 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
Von Bedeutung
Die Umfrage am Ende des Anrufs ist ab Version 2.10.0 des Android Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version oder höher verwenden, wenn Sie die Anweisungen ausprobieren.
Beispiel für die API-Verwendung
Das Feature "Anrufumfrage beenden" sollte nach Beendigung des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf, 1:1, Gruppe, Besprechung, ausgehend und eingehend bewerten. Sobald der Anruf eines Benutzers endet, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, die es ihnen ermöglicht, eine Bewertung auszuwählen und, falls nötig, Probleme aus unserer vordefinierten Liste auszuwählen, die während des Anrufs aufgetreten sind.
Die folgenden Code-Snips zeigen ein Beispiel für einen 1:1-Aufruf. Nach dem Ende des Aufrufs kann Ihre Anwendung eine Umfrage-UI anzeigen und sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit den Benutzeroptionen zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden, bei der es sich um die Fünf-Sterne-Bewertung (zwischen 1 und 5) handelt. Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln.
Starten einer Umfrage
Sie erstellen ein CallSurvey Objekt, indem Sie eine Umfrage starten. Dadurch wird eine Umfrageabsicht aufgezeichnet. Falls dieses bestimmte CallSurvey Objekt danach nicht übermittelt wird, bedeutet dies, dass die Umfrage vom Endkunden übersprungen oder ignoriert wurde.
SurveyCallFeature surveyCallFeature = call.feature(Features.SURVEY);
try {
CallSurvey survey = surveyCallFeature.startSurvey().get();
} catch (InterruptedException | ExecutionException e) {
// failure to start survey
}
Allgemeine Verwendung
Wenn Sie Anrufe bewerten, müssen Sie die Werte respektieren, die im Skalierungsfeld definiert sind. Der lowerBound-Wert gibt die schlechteste mögliche Erfahrung an, während der upperBound-Wert die perfekte Erfahrung bedeutet. Beide Werte sind inklusive.
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Weitere Informationen zur vorgeschlagenen Umfragenutzung finden Sie unter Umfragekonzepte
Nur Anruf bewerten – keine benutzerdefinierte Skala
SurveyScore overall = new SurveyScore();
overall.setScore(5);
callSurvey.setOverallScore(overall);
Nur Anruf bewerten – mit benutzerdefinierter Skala und Problemen
// 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);
Bewerten Sie allgemein, Audio und Video mit einem Beispielproblem
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);
Umfrage übermitteln und Fehler behandeln, die das SDK senden kann
try {
CallSurveyResult survey = surveyCallFeature.submitSurvey(survey).get();
} catch (InterruptedException e) {
// Threading error
} catch (ExecutionException e) {
Log.e("SURVEY", e.getCause().getMessage());
}
Suchen verschiedener Arten von Fehlern
Fehler beim Übermitteln der Umfrage:
Die submitSurvey-API kann in den folgenden Szenarien einen Fehler zurückgeben:
Die Gesamtbewertung der Umfrage ist erforderlich.
CallSurveyRatingScaleGrenzen müssen innerhalb von 0 und 100 sein. "LowerBound" sollte kleiner als "UpperBound" sein. LowScoreThreshold sollte sich innerhalb der zulässigen Grenzen bewegen.Jeder der Ergebnisse muss die durch die
CallSurveyRatingScaledefinierten Grenzen respektieren. Alle Werte imCallSurveyRatingScaleObjekt sind inklusive. Bei Verwendung der Standardskala sollte der Bewertungswert zwischen 1 und 5 stehen.Die Umfrage kann aufgrund eines Netzwerk-/Dienstfehlers nicht übermittelt werden.
Verfügbare Umfragetags
Übersichtsanruf
| Tag | Description |
|---|---|
CannotJoin |
Der Kunde konnte einem Anruf nicht beitreten. |
CannotInvite |
Der Kunde konnte keinen neuen Teilnehmer im Anruf hinzufügen. |
HadToRejoin |
Der Kunde hat zur Problemumgehung den Anruf verlassen und ist ihm erneut beigetreten. |
CallEndedUnexpectedly |
Der Anruf des Kunden endete ohne offensichtlichen Grund |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Audioprobleme
| Tag | Description |
|---|---|
NoLocalAudio |
Kein Audio vom Kundencomputer während des Anrufs, es ist nicht möglich, jemanden während des Anrufs zu hören. |
NoRemoteAudio |
Fehlende Audiodaten eines bestimmten Teilnehmers |
Echo |
Echo, das im Anruf wahrgenommen wird |
AudioNoise |
Audio empfangen mit unbeabsichtigten Rauschen |
LowVolume |
Audio zu leise |
AudioStoppedUnexpectedly |
Der Audioempfang wurde ohne ersichtlichen Grund beendet (z. B. niemand ist stummgeschaltet). |
DistortedSpeech |
Die Stimme eines Teilnehmers wird verzerrt und unterscheidet sich von der erwarteten Stimme. |
AudioInterruption |
Kunden erleben Audiounterbrechungen, Sprachschnitte usw. |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Videoprobleme
| Tag | Description |
|---|---|
NoVideoReceived |
Der Kunde empfängt kein Video von einem Teilnehmer |
NoVideoSent |
Der Kunde startet das Video, aber niemand während des Anrufs kann es sehen. |
LowQuality |
Video mit niedriger Qualität |
Freezes |
Video friert ein |
StoppedUnexpectedly |
Die Bildschirmfreigabe wird ohne ersichtlichen Grund angehalten (z. B. die Kamera wird aktiviert, und ein Videoanruf wird aktiviert). |
DarkVideoReceived |
Video wird gesendet, aber der Teilnehmer sieht nur ein dunkles Feld (oder eine andere einzelne Farbe) |
AudioVideoOutOfSync |
Video und Audio scheinen nicht synchronisiert zu sein |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Probleme bei der Bildschirmfreigabe
| Tag | Description |
|---|---|
NoContentLocal |
Der Kunde erhält keine Bildschirmfreigabe von einem Teilnehmer bzw. einer Teilnehmerin, der bzw. die den Bildschirm freigibt. |
NoContentRemote |
Der Kunde teilt den Bildschirm, aber ein oder mehrere Teilnehmer können ihn nicht sehen. |
CannotPresent |
Bildschirmfreigabe kann nicht gestartet werden |
LowQuality |
Beim Teilen von Bildschirminhalten ist die Videoqualität gering, z. B. kann Text nicht gelesen werden. |
Freezes |
Bildschirmfreigabe friert während der Präsentation ein |
StoppedUnexpectedly |
Die Bildschirmfreigabe wird ohne ersichtlichen Grund beendet (z. B. die Bildschirmfreigabe wurde nicht vom Kunden beendet). |
LargeDelay |
Wahrgenommene Verzögerung zwischen dem, was angezeigt wird und was gesehen wird |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Optionen zur Anpassung
Sie können auswählen, dass jeder der vier API-Werte oder nur diejenigen erfasst werden, die Sie am wichtigsten finden. Sie können z. B. nur Kunden über ihre allgemeine Anruferfahrung fragen, anstatt sie zu ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch Eingabebereiche an Ihre Anforderungen anpassen. Der Standardeingabebereich ist 1 bis 5 für Gesamtruf, Audio, Video und Bildschirmfreigabe. Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Zusätzlich zur Verwendung der End of Call Survey API können Sie Ihre eigenen Umfragefragen erstellen und in die Ergebnisse der Anrufumfrage integrieren.
Die Ergebnisnutzlast des SubmitSurvey Vorgangs stellt Daten bereit, die Sie verwenden können, um ACS Survey-Daten mit Ihren eigenen benutzerdefinierten Daten und Speicher zu korrelieren.
CallSurveyResult Die Klasse weist das SurveyId Feld auf, das einen eindeutigen Bezeichner für die Umfrage angibt und CallId einen Bezeichner für den Anruf angibt, in dem die Umfrage generiert wurde. Wenn Sie diese Bezeichner zusammen mit Ihren angepassten Daten speichern, können Daten eindeutig zugeordnet werden.
Von Bedeutung
Die Abschlussumfrage ist ab Version 2.10.0 des iOS Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version oder höher verwenden, wenn Sie die Anweisungen ausprobieren.
Beispiel für die API-Verwendung
Das Feature "Anrufumfrage beenden" sollte nach Beendigung des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf, 1:1, Gruppe, Besprechung, ausgehend und eingehend bewerten. Sobald der Anruf eines Benutzers endet, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, die es ihnen ermöglicht, eine Bewertung auszuwählen und, falls nötig, Probleme aus unserer vordefinierten Liste auszuwählen, die während des Anrufs aufgetreten sind.
Die folgenden Code-Snips zeigen ein Beispiel für einen 1:1-Aufruf. Nach dem Ende des Aufrufs kann Ihre Anwendung eine Umfrage-UI anzeigen und sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit den Benutzeroptionen zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden, bei der es sich um die Fünf-Sterne-Bewertung (zwischen 1 und 5) handelt. Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln.
Starten einer Umfrage
Sie erstellen ein CallSurvey Objekt, indem Sie eine Umfrage starten. Dadurch wird eine Umfrageabsicht aufgezeichnet. Falls dieses bestimmte CallSurvey Objekt danach nicht übermittelt wird, bedeutet dies, dass die Umfrage vom Endkunden übersprungen oder ignoriert wurde.
var surveyCallFeature = self.call.feature(Features.survey)
do {
try self.callSurvey = await surveyFeature.startSurvey()
} catch {
print("Failure to start survey")
}
Allgemeine Verwendung
Wenn Sie Anrufe bewerten, müssen Sie die Werte respektieren, die im Skalierungsfeld definiert sind. Der lowerBound-Wert gibt die schlechteste mögliche Erfahrung an, während der upperBound-Wert die perfekte Erfahrung bedeutet. Beide Werte sind inklusive.
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Weitere Informationen zur vorgeschlagenen Umfragenutzung finden Sie unter Umfragekonzepte
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Nur Anruf bewerten – keine benutzerdefinierte Skala
let overallScore = SurveyScore()
overallScore.score = Int32(5)
callSurvey.overallScore = overallScore
Nur Anruf bewerten – mit benutzerdefinierter Skala und Problemen
// 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 ];
Bewerten Sie allgemein, Audio und Video mit einem Beispielproblem
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 ];
Umfrage übermitteln und Fehler behandeln, die das SDK senden kann
do {
var result = try await self.surveyFeature!.submit(survey: callSurvey)
} catch let error as NSError {
print("==> Survey Not Submitted " + error.localizedDescription)
}
Suchen verschiedener Arten von Fehlern
Fehler beim Übermitteln der Umfrage:
Die submitSurvey-API kann in den folgenden Szenarien einen Fehler zurückgeben:
Die Gesamtbewertung der Umfrage ist erforderlich.
CallSurveyRatingScaleGrenzen müssen innerhalb von 0 und 100 sein. "LowerBound" sollte kleiner als "UpperBound" sein. LowScoreThreshold sollte sich innerhalb der zulässigen Grenzen bewegen.Jeder der Ergebnisse muss die durch die
CallSurveyRatingScaledefinierten Grenzen respektieren. Alle Werte imCallSurveyRatingScaleObjekt sind inklusive. Bei Verwendung der Standardskala sollte der Bewertungswert zwischen 1 und 5 stehen.Die Umfrage kann aufgrund eines Netzwerk-/Dienstfehlers nicht übermittelt werden.
Verfügbare Umfragetags
Anruf insgesamt
| Tag | Description |
|---|---|
CannotJoin |
Der Kunde konnte einem Anruf nicht beitreten. |
CannotInvite |
Der Kunde konnte keinen neuen Teilnehmer im Anruf hinzufügen. |
HadToRejoin |
Der Kunde hat zur Problemumgehung den Anruf verlassen und ist ihm erneut beigetreten. |
CallEndedUnexpectedly |
Der Anruf des Kunden endete ohne offensichtlichen Grund |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Audioprobleme
| Tag | Description |
|---|---|
NoLocalAudio |
Kein Audio vom Kundencomputer während des Anrufs, es ist nicht möglich, jemanden während des Anrufs zu hören. |
NoRemoteAudio |
Fehlende Audiodaten eines bestimmten Teilnehmers |
Echo |
Echo, das im Anruf wahrgenommen wird |
AudioNoise |
Audio empfangen mit unbeabsichtigten Rauschen |
LowVolume |
Audio zu leise |
AudioStoppedUnexpectedly |
Der Audioempfang wurde ohne ersichtlichen Grund beendet (z. B. niemand ist stummgeschaltet). |
DistortedSpeech |
Die Stimme eines Teilnehmers wird verzerrt und unterscheidet sich von der erwarteten Stimme. |
AudioInterruption |
Kunden erleben Audiounterbrechungen, Sprachschnitte usw. |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Videoprobleme
| Tag | Description |
|---|---|
NoVideoReceived |
Der Kunde empfängt kein Video von einem Teilnehmer |
NoVideoSent |
Der Kunde startet das Video, aber niemand während des Anrufs kann es sehen. |
LowQuality |
Video mit niedriger Qualität |
Freezes |
Video friert ein |
StoppedUnexpectedly |
Die Bildschirmfreigabe wird ohne ersichtlichen Grund angehalten (z. B. die Kamera wird aktiviert, und ein Videoanruf wird aktiviert). |
DarkVideoReceived |
Video wird gesendet, aber der Teilnehmer sieht nur ein dunkles Feld (oder eine andere einzelne Farbe) |
AudioVideoOutOfSync |
Video und Audio scheinen nicht synchronisiert zu sein |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Probleme bei der Bildschirmfreigabe
| Tag | Description |
|---|---|
NoContentLocal |
Der Kunde erhält keine Bildschirmfreigabe von einem Teilnehmer bzw. einer Teilnehmerin, der bzw. die den Bildschirm freigibt. |
NoContentRemote |
Der Kunde teilt den Bildschirm, aber ein oder mehrere Teilnehmer können ihn nicht sehen. |
CannotPresent |
Bildschirmfreigabe kann nicht gestartet werden |
LowQuality |
Beim Teilen von Bildschirminhalten ist die Videoqualität gering, z. B. kann Text nicht gelesen werden. |
Freezes |
Bildschirmfreigabe friert während der Präsentation ein |
StoppedUnexpectedly |
Die Bildschirmfreigabe wird ohne ersichtlichen Grund beendet (z. B. die Bildschirmfreigabe wurde nicht vom Kunden beendet). |
LargeDelay |
Wahrgenommene Verzögerung zwischen dem, was angezeigt wird und was gesehen wird |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Optionen zur Anpassung
Sie können auswählen, dass jeder der vier API-Werte oder nur diejenigen erfasst werden, die Sie am wichtigsten finden. Sie können z. B. nur Kunden über ihre allgemeine Anruferfahrung fragen, anstatt sie zu ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch Eingabebereiche an Ihre Anforderungen anpassen. Der Standardeingabebereich ist 1 bis 5 für Gesamtruf, Audio, Video und Bildschirmfreigabe. Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Zusätzlich zur Verwendung der End of Call Survey API können Sie Ihre eigenen Umfragefragen erstellen und in die Ergebnisse der Anrufumfrage integrieren.
Die Ergebnisnutzlast des SubmitSurvey Vorgangs stellt jedoch Daten bereit, die Sie verwenden können, um ACS-Umfragedaten mit Ihren eigenen benutzerdefinierten Daten und Speicher zu korrelieren.
CallSurveyResult Die Klasse weist das SurveyId Feld auf, das einen eindeutigen Bezeichner für die Umfrage angibt und CallId einen Bezeichner für den Anruf angibt, in dem die Umfrage generiert wurde. Wenn Sie diese Bezeichner zusammen mit Ihren angepassten Daten speichern, können Daten eindeutig zugeordnet werden.
Von Bedeutung
Die Umfrage am Ende des Anrufs ist ab Version 1.8.0 des Windows Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version oder höher verwenden, wenn Sie die Anweisungen ausprobieren.
Beispiel für die API-Verwendung
Das Feature "Anrufumfrage beenden" sollte nach Beendigung des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf, 1:1, Gruppe, Besprechung, ausgehend und eingehend bewerten. Sobald der Anruf eines Benutzers endet, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, die es ihnen ermöglicht, eine Bewertung auszuwählen und, falls nötig, Probleme aus unserer vordefinierten Liste auszuwählen, die während des Anrufs aufgetreten sind.
Die folgenden Code-Snips zeigen ein Beispiel für einen 1:1-Aufruf. Nach dem Ende des Aufrufs kann Ihre Anwendung eine Umfrage-UI anzeigen und sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit den Benutzeroptionen zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden, bei der es sich um die Fünf-Sterne-Bewertung (zwischen 1 und 5) handelt. Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln.
Starten einer Umfrage
Sie erstellen ein CallSurvey Objekt, indem Sie eine Umfrage starten. Dadurch wird eine Umfrageabsicht aufgezeichnet. Falls dieses bestimmte CallSurvey Objekt danach nicht übermittelt wird, bedeutet dies, dass die Umfrage vom Endkunden übersprungen oder ignoriert wurde.
var surveyCallFeature = call.Features.Survey;
var survey = await surveyCallFeature.StartSurveyAsync();
Allgemeine Verwendung
Wenn Sie Anrufe bewerten, müssen Sie die Werte respektieren, die im Skalierungsfeld definiert sind. Der lowerBound-Wert gibt die schlechteste mögliche Erfahrung an, während der upperBound-Wert die perfekte Erfahrung bedeutet. Beide Werte sind inklusive.
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Weitere Informationen zur vorgeschlagenen Umfragenutzung finden Sie unter Umfragekonzepte
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Nur Anruf bewerten – keine benutzerdefinierte Skala
survey.OverallScore = new CallSurveyScore() { Score = 5 };
Nur Anruf bewerten – mit benutzerdefinierter Skala und Problemen
// 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;
Bewerten Sie allgemein, Audio und Video mit einem Beispielproblem
survey.OverallScore = new CallSurveyScore() {
Score = 5
};
survey.AudioScore = new CallSurveyScore() {
Score = 4
};
survey.VideoScore = new CallSurveyScore() {
Score = 3
};
survey.videoIssues = VideoIssues.Freezes;
Umfrage übermitteln und Fehler behandeln, die das SDK senden kann
try
{
CallSurveyResult result = await surveyCallFeature.SubmitSurveyAsync(survey);
Console.WriteLine("Survey submitted" + result.SurveyId);
} catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Suchen verschiedener Arten von Fehlern
Fehler beim Übermitteln der Umfrage:
Die submitSurvey-API kann in den folgenden Szenarien einen Fehler zurückgeben:
Die Gesamtbewertung der Umfrage ist erforderlich.
CallSurveyRatingScaleGrenzen müssen innerhalb von 0 und 100 sein. "LowerBound" sollte kleiner als "UpperBound" sein. LowScoreThreshold sollte sich innerhalb der zulässigen Grenzen bewegen.Jeder der Ergebnisse muss die durch die
CallSurveyRatingScaledefinierten Grenzen respektieren. Alle Werte imCallSurveyRatingScaleObjekt sind inklusive. Bei Verwendung der Standardskala sollte der Bewertungswert zwischen 1 und 5 stehen.Die Umfrage kann aufgrund eines Netzwerk-/Dienstfehlers nicht übermittelt werden.
Verfügbare Umfragetags
Anruf insgesamt
| Tag | Description |
|---|---|
CannotJoin |
Der Kunde konnte einem Anruf nicht beitreten. |
CannotInvite |
Der Kunde konnte keinen neuen Teilnehmer im Anruf hinzufügen. |
HadToRejoin |
Der Kunde hat zur Problemumgehung den Anruf verlassen und ist ihm erneut beigetreten. |
EndedUnexpectedly |
Der Anruf des Kunden endete ohne offensichtlichen Grund |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Audioprobleme
| Tag | Description |
|---|---|
NoLocalAudio |
Kein Audio vom Kundencomputer während des Anrufs, es ist nicht möglich, jemanden während des Anrufs zu hören. |
NoRemoteAudio |
Fehlende Audiodaten eines bestimmten Teilnehmers |
Echo |
Echo, das im Anruf wahrgenommen wird |
AudioNoise |
Audio empfangen mit unbeabsichtigten Rauschen |
LowVolume |
Audio zu leise |
AudioStoppedUnexpectedly |
Der Audioempfang wurde ohne ersichtlichen Grund beendet (z. B. niemand ist stummgeschaltet). |
DistortedSpeech |
Die Stimme eines Teilnehmers wird verzerrt und unterscheidet sich von der erwarteten Stimme. |
AudioInterruption |
Kunden erleben Audiounterbrechungen, Sprachschnitte usw. |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Videoprobleme
| Tag | Description |
|---|---|
NoVideoReceived |
Der Kunde empfängt kein Video von einem Teilnehmer |
NoVideoSent |
Der Kunde startet das Video, aber niemand während des Anrufs kann es sehen. |
LowQuality |
Video mit niedriger Qualität |
Freezes |
Video friert ein |
StoppedUnexpectedly |
Die Bildschirmfreigabe wird ohne ersichtlichen Grund angehalten (z. B. die Kamera wird aktiviert, und ein Videoanruf wird aktiviert). |
DarkVideoReceived |
Video wird gesendet, aber der Teilnehmer sieht nur ein dunkles Feld (oder eine andere einzelne Farbe) |
AudioVideoOutOfSync |
Video und Audio scheinen nicht synchronisiert zu sein |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Probleme bei der Bildschirmfreigabe
| Tag | Description |
|---|---|
NoContentLocal |
Der Kunde erhält keine Bildschirmfreigabe von einem Teilnehmer bzw. einer Teilnehmerin, der bzw. die den Bildschirm freigibt. |
NoContentRemote |
Der Kunde teilt den Bildschirm, aber ein oder mehrere Teilnehmer können ihn nicht sehen. |
CannotPresent |
Bildschirmfreigabe kann nicht gestartet werden |
LowQuality |
Beim Teilen von Bildschirminhalten ist die Videoqualität gering, z. B. kann Text nicht gelesen werden. |
Freezes |
Bildschirmfreigabe friert während der Präsentation ein |
StoppedUnexpectedly |
Die Bildschirmfreigabe wird ohne ersichtlichen Grund beendet (z. B. die Bildschirmfreigabe wurde nicht vom Kunden beendet). |
LargeDelay |
Wahrgenommene Verzögerung zwischen dem, was angezeigt wird und was gesehen wird |
OtherIssues |
Jedes Problem, das nicht zu früheren Beschreibungen passt |
Optionen zur Anpassung
Sie können auswählen, dass jeder der vier API-Werte oder nur diejenigen erfasst werden, die Sie am wichtigsten finden. Sie können z. B. nur Kunden über ihre allgemeine Anruferfahrung fragen, anstatt sie zu ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch Eingabebereiche an Ihre Anforderungen anpassen. Der Standardeingabebereich ist 1 bis 5 für Gesamtruf, Audio, Video und Bildschirmfreigabe. Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Hinweis
Der angegebene Cutoffwert einer Frage in der API ist der Schwellenwert, den Microsoft beim Analysieren Ihrer Umfragedaten verwendet. Wenn Sie den Cutoff-Wert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Zusätzlich zur Verwendung der End of Call Survey API können Sie Ihre eigenen Umfragefragen erstellen und in die Ergebnisse der Anrufumfrage integrieren.
Die Ergebnisnutzlast des SubmitSurvey Vorgangs stellt jedoch Daten bereit, die Sie verwenden können, um ACS-Umfragedaten mit Ihren eigenen benutzerdefinierten Daten und Speicher zu korrelieren.
CallSurveyResult Die Klasse weist das SurveyId Feld auf, das einen eindeutigen Bezeichner für die Umfrage angibt und CallId einen Bezeichner für den Anruf angibt, in dem die Umfrage generiert wurde. Wenn Sie diese Bezeichner zusammen mit Ihren angepassten Daten speichern, können Daten eindeutig zugeordnet werden.
Sammeln von Umfragedaten
Von Bedeutung
Sie müssen eine Diagnoseeinstellung in Azure Monitor aktivieren, um die Protokolldaten Ihrer Umfragen an einen Log Analytics-Arbeitsbereich, Event Hubs oder ein Azure-Speicherkonto zu senden, um Ihre Umfragedaten zu empfangen und zu analysieren. Wenn Sie keine Umfragedaten an eine dieser Optionen senden, werden Ihre Umfragedaten nicht gespeichert und gehen verloren. Informationen zum Aktivieren dieser Protokolle für Ihre Kommunikationsdienste finden Sie unter: Ende der Anrufumfrageprotokolle
Anzeigen von Umfragedaten mit einem Log Analytics-Arbeitsbereich
Sie müssen einen Log Analytics-Arbeitsbereich aktivieren, um sowohl die Protokolldaten Ihrer Umfragen zu speichern als auch auf Umfrageergebnisse zuzugreifen. Informationen zum Aktivieren dieser Protokolle für Ihren Kommunikationsdienst finden Sie unter: Ende der Anrufumfrageprotokolle.
- Sie können Ihren Log Analytics-Arbeitsbereich auch in Power BI integrieren, siehe: Integrieren von Log Analytics in Power BI.
Bewährte Methoden
Hier sind unsere empfohlenen Umfrageflüsse und vorgeschlagene Frageaufforderungen zur Berücksichtigung. Ihre Entwicklung kann unsere Empfehlung verwenden oder angepasste Frageaufforderungen und Abläufe für Ihre visuelle Benutzeroberfläche verwenden.
Frage 1: Wie haben die Benutzer ihre allgemeine Anrufqualität wahrgenommen? Wir empfehlen Ihnen, die Umfrage zu starten, indem Sie die Teilnehmer nur nach ihrer allgemeinen Qualitätsbewertung fragen. Wenn Sie die ersten und zweiten Fragen trennen, hilft es nur, Antworten auf Audio-, Video- und Bildschirmfreigabeprobleme zu sammeln, wenn ein Umfrageteilnehmer darauf hinweist, dass probleme mit der Anrufqualität aufgetreten sind.
- Vorgeschlagene Aufforderung: "Wie war die Anrufqualität?"
- API-Fragewerte: Gesamter API-Aufruf
Frage 2: Hat der Benutzer Audio-, Video- oder Bildschirmfreigabeprobleme im Anruf wahrgenommen? Wenn ein Umfrageteilnehmer auf Frage 1 mit einer Bewertung bei oder unter dem Cutoffwert für den Gesamtanruf geantwortet hat, stellen Sie die zweite Frage vor.
- Vorgeschlagene Aufforderung: "Was hätte besser sein können?"
- API-Fragewerte: Audio, Video und Bildschirmfreigabe
Umfragerichtlinien
- Vermeiden Sie Umfragemüdigkeit, befragen Sie nicht alle Teilnehmer eines Telefonats.
- Die Reihenfolge Ihrer Fragen ist wichtig. Es wird empfohlen, die Reihenfolge der optionalen Tags in Frage 2 zufällig zu gestalten, falls die Befragten einen Großteil ihres Feedbacks auf die erste Aufforderung konzentrieren, die sie sehen.
- Erwägen Sie die Verwendung von Umfragen für separate Azure Communication Services-Ressourcen in kontrollierten Experimenten, um Release-Auswirkungen zu identifizieren.
Nächste Schritte
Analysieren Sie Ihre Umfragedaten, siehe: Ende der Anrufumfrageprotokolle
Weitere Informationen zur Umfrage am Ende des Anrufs finden Sie unter: Übersicht über die Umfrage am Ende des Anrufs
Erfahren Sie, wie Sie den Log Analytics-Arbeitsbereich verwenden, siehe Log Analytics-Lernprogramm
Informationen zum Erstellen eigener Abfragen in Log Analytics finden Sie unter: Erste Schritte mit Abfragen.