Verwenden der Umfrage zum Ende des Anrufs, um Benutzerfeedback zu sammeln
In diesem Tutorial erfahren Sie, wie Sie die Azure Communication Services-Umfrage am Ende des Anrufs verwenden.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Eine aktive Communication Services-Ressource. Erstellen Sie eine Communication Services-Ressource. Umfrageergebnisse sind an einzelne Communication Services-Ressourcen gebunden.
- Ein aktivere Log Analytics-Arbeitsbereich, der auch als Azure Monitor-Protokolle bezeichnet wird. Mehr dazu finden Sie unter Umfrageprotokolle am Anrufende.
- Zum Durchführen einer Umfrage mit benutzerdefinierten Fragen mit Freiformtext benötigen Sie eine App Insight-Ressource.
Wichtig
Die Umfrage zum Ende des Anrufs ist ab Version 1.13.1 des Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version verwenden, wenn Sie die nachstehenden Anweisungen ausprobieren.
- Für Node.js werden aktive LTS-Versionen (Long Term Support) empfohlen.
Beispiel für die API-Verwendung
Das Feature Umfrage zum Ende des Anrufs sollte nach Abschluss des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf bewerten, 1:1, Gruppe, Besprechung, ausgehend und eingehend. Sobald der Anruf eines Benutzers beendet ist, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, mit der er eine Bewertungspunktzahl auswählen und bei Bedarf aus der vordefinierten Liste Probleme auswählen kann, die während des Anrufs aufgetreten sind.
Die folgenden Code-Schnippsel zeigen ein Beispiel für einen 1:1-Anruf. Nach dem Ende des Anrufs kann Ihre Anwendung eine Umfrage-Benutzeroberfläche anzeigen. Sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit der Benutzerauswahl zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden. Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln. Sie können sich die Beispielanwendung für die API-Beispielnutzung ansehen.
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'));
Gesamtbewertung, 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 nach verschiedenen Arten von Fehlern
Fehler beim Übermitteln der 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 sollte X 1 bis 5 sein. – Wobei X eine der folgenden Optionen ist:
- overallRating.score
- audioRating.score
- videoRating.score
- ScreenshareRating.score
{propertyName}: {rating.score} should be between {rating.scale?.lowerBound} and {rating.scale?.upperBound}.
{propertyName}: {rating.scale?.lowScoreThreshold} should be between {rating.scale?.lowerBound} and {rating.scale?.upperBound}.
{propertyName} lowerBound: {rating.scale?.lowerBound} and upperBound: {rating.scale?.upperBound} should be between 0 and 100.
Versuchen Sie es erneut [ACS konnte die Umfrage aufgrund eines Netzwerkfehlers oder eines anderen Fehlers nicht übermitteln].
Wir geben alle Fehlercodes mit einer Meldung zurück.
- Fehlercode 400 (ungültige Anforderung) für alle Fehlermeldungen außer einer.
{ message: validationErrorMessage, code: 400 }
- One 408 (Timeout) beim Verwerfen des Ereignisses:
{ message: "Please try again.", code: 408 }
Alle möglichen Werte
Standardumfrage-API-Konfiguration
API-Bewertungskategorien | Grenzwert* | Eingabebereich | Kommentare |
---|---|---|---|
Anruf insgesamt | 2 | 1–5 | Bewertet die allgemeine Qualitätserfahrung eines Anrufteilnehmers auf einer Skala von 1 bis 5. Die Antwort 1 weist auf eine mangelhafte Anruferfahrung und 5 auf einen perfekten Anruf hin. Der Grenzwert von 2 bedeutet, dass eine Kundenantwort von 1 oder 2 auf eine weniger als perfekte Anruferfahrung hinweist. |
Audio | 2 | 1–5 | Die Antwort 1 weist auf eine mangelhafte Audioerfahrung hin, und 5 gibt an, dass keine Audioprobleme aufgetreten sind. |
Video | 2 | 1–5 | Die Antwort 1 weist auf eine mangelhafte Videoerfahrung hin, und 5 gibt an, dass keine Videoprobleme aufgetreten sind. |
Bildschirmfreigabe | 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 Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert 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 |
Bildschirmfreigabe | NoContentLocal NoContentRemote CannotPresent LowQuality Freezes StoppedUnexpectedly LargeDelay OtherIssues |
Anpassungsoptionen
Sie können auswählen, ob Sie jeden der vier API-Werte oder nur die Werte erfassen möchten, die Sie für am wichtigsten halten. Beispielsweise können Sie Kunden nur nach ihrer Anrufgesamterfahrung fragen, anstatt sie nach ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch die Eingabebereiche Ihren Anforderungen entsprechend anpassen. Der Standardeingabebereich beträgt 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 | Grenzwert* | Eingabebereich |
---|---|---|
Anruf insgesamt | 0-100 | 0-100 |
Audio | 0-100 | 0-100 |
Video | 0-100 | 0-100 |
Bildschirmfreigabe | 0-100 | 0-100 |
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Über die Verwendung der End of Call Survey API hinaus können Sie eigene Umfragefragen erstellen und diese in die Ergebnisse der Umfrage am Anrufende integrieren. Nachfolgend finden Sie die Schritte, wie Sie eigene Kundenfragen in eine Umfrage integrieren und die Ergebnisse der End of Call Survey-API sowie Ihrer eigenen Umfragefragen abfragen können.
Betten Sie Azure AppInsights in Ihre Anwendung ein. Klicken Sie hier, um mehr über die App Insight-Initialisierung mithilfe von einfachem JavaScript zu erfahren. Alternativ können Sie NPM verwenden, um die App Insights-Abhängigkeiten abzurufen. Klicken Sie hier, um mehr über die App Insight-Initialisierung mit NPM zu erfahren.
Erstellen Sie eine Benutzeroberfläche in Ihrer Anwendung, die Benutzern und Benutzerinnen benutzerdefinierte Fragen präsentiert und deren Eingaben erfasst. Nehmen wir an, dass Ihre Anwendung die Antworten als Zeichenfolge in der Variablen
improvementSuggestion
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 in Ihrem App Insights-Arbeitsbereich verfügbar. Sie können Arbeitsmappen verwenden, um zwischen mehreren Ressourcen abzufragen und Anrufbewertungen sowie benutzerdefinierte Umfragedaten zu korrelieren. Schritte zum Korrelieren der Anrufbewertungen und Daten aus benutzerdefinierten Umfragen:
- Erstellen Sie neue Arbeitsmappen (Ihre ACS-Ressource > Überwachung > Arbeitsmappen > Neu), und fragen Sie Anrufumfragedaten aus Ihrer ACS-Ressource ab.
- Neue Abfrage hinzufügen (+Hinzufügen > Abfrage hinzufügen)
- Vergewissern Sie sich, dass
Data source
Logs
undResource type
Communication
ist. - Sie können die Abfrage umbenennen (Erweiterte Einstellungen > Schrittname [Beispiel: Anrufumfrage])
- Bitte beachten Sie, dass es bis zu 2 Stunden dauern kann, bis die Umfragedaten im Azure-Portal angezeigt werden. Abfragen der Anrufbewertungsdaten:
ACSCallSurvey | where TimeGenerated > now(-24h)
- Hinzufügen einer weiteren Abfrage zum Abrufen von Daten aus App Insights (+Hinzufügen > Abfrage hinzufügen)
- Vergewissern Sie sich, dass
Data source
Logs
undResource type
Application Insights
ist. - 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 anhand der surveyId zusammen. Neue Abfrage erstellen (+Hinzufügen > Abfrage hinzufügen).
- Vergewissern Sie sich, dass
Data source
„Merge“ lautet, und wählen Sie nach BedarfMerge type
aus.
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
Wichtig
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 verwenden, wenn Sie die nachstehenden Anweisungen ausprobieren.
Beispiel für die API-Verwendung
Das Feature Umfrage zum Ende des Anrufs sollte nach Abschluss des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf bewerten, 1:1, Gruppe, Besprechung, ausgehend und eingehend. Sobald der Anruf eines Benutzers beendet ist, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, mit der er eine Bewertungspunktzahl auswählen und bei Bedarf aus der vordefinierten Liste Probleme auswählen kann, die während des Anrufs aufgetreten sind.
Die folgenden Code-Schnippsel zeigen ein Beispiel für einen 1:1-Anruf. Nach dem Ende des Anrufs kann Ihre Anwendung eine Umfrage-Benutzeroberfläche anzeigen. Sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit der Benutzerauswahl zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden, d. h. die Fünf-Sterne-Bewertung (zwischen 1 und 5). Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln.
Starten einer Umfrage
Sie erstellen ein CallSurvey
-Objekt, indem Sie eine Umfrage starten. Damit wird eine Umfrageabsicht verzeichnet. Wenn dieses 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
Bei der Bewertung von Anrufen müssen Sie die Werte respektieren, die in der Skala definiert sind. Der lowerBound-Wert bezeichnet die schlechtestmögliche Erfahrung, während der upperBound-Wert für die perfekte Erfahrung steht. Beide Werte sind inklusive Werte.
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert 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);
Gesamtbewertung, 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);
Absenden der Umfrage und Behandeln der Fehler, 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 nach verschiedenen Arten von Fehlern
Fehler beim Übermitteln der Umfrage:
Die submitSurvey-API kann in den folgenden Szenarien einen Fehler zurückgeben:
Eine Gesamtbewertung der Umfrage ist erforderlich.
Die Grenzen von
CallSurveyRatingScale
müssen zwischen 0 und 100 liegen. „LowerBound“ sollte kleiner als „UpperBound“ sein. „LowScoreThreshold“ sollte innerhalb der Grenzen liegen.Jede Bewertung muss die durch
CallSurveyRatingScale
definierten Grenzen einhalten. Alle Werte imCallSurveyRatingScale
-Objekt sind inklusive. Bei Verwendung der Standardskala sollte der Wert der Bewertung zwischen 1 und 5 liegen.Die Umfrage kann aufgrund eines Netzwerk-/Dienstfehlers nicht übermittelt werden.
Verfügbare Umfragetags
Anruf insgesamt
Tag | Beschreibung |
---|---|
CannotJoin |
Der Kunde konnte einem Anruf nicht beitreten. |
CannotInvite |
Der Kunde konnte während des Anrufs keinen neuen Teilnehmer 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 den früheren Beschreibungen passt |
Audioprobleme
Tag | Beschreibung |
---|---|
NoLocalAudio |
Kein Ton aus dem Anruf auf dem Kundencomputer, im Anruf ist niemand zu hören |
NoRemoteAudio |
Ton eines bestimmten Teilnehmers fehlt |
Echo |
Im Anruf wird ein Echo wahrgenommen |
AudioNoise |
Audioempfang mit unerwünschtem Rauschen |
LowVolume |
Ton ist zu leise |
AudioStoppedUnexpectedly |
Der Audioempfang wurde ohne ersichtlichen Grund beendet (z. B. niemand ist stummgeschaltet). |
DistortedSpeech |
Die Stimme eines Teilnehmers bzw. einer Teilnehmerin wird verzerrt und unterscheidet sich von der erwarteten Stimme. |
AudioInterruption |
Kunden erleben Tonunterbrechungen, Sprachaussetzer usw. |
OtherIssues |
Jedes Problem, das nicht zu den früheren Beschreibungen passt |
Videoprobleme
Tag | Beschreibung |
---|---|
NoVideoReceived |
Der Kunde empfängt keine Videodaten von einem Teilnehmer oder einer Teilnehmerin |
NoVideoSent |
Der Kunde startet einen Videoanruf, doch kein Teilnehmer bzw. keine Teilnehmerin des Anrufs kann das Video 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 |
Das Video wird gesendet, aber der Teilnehmer bzw. die Teilnehmerin sieht nur ein dunkles Feld (oder ein einfarbiges Feld). |
AudioVideoOutOfSync |
Video und Audio scheinen nicht synchron zu sein |
OtherIssues |
Jedes Problem, das nicht zu den früheren Beschreibungen passt |
Probleme bei der Bildschirmfreigabe
Tag | Beschreibung |
---|---|
NoContentLocal |
Der Kunde erhält keine Bildschirmfreigabe von einem Teilnehmer bzw. einer Teilnehmerin, der bzw. die den Bildschirm freigibt. |
NoContentRemote |
Der Kunde gibt den Bildschirm frei, aber mindestens ein Teilnehmer bzw. eine Teilnehmerin kann ihn nicht sehen. |
CannotPresent |
Bildschirmfreigabe kann nicht gestartet werden |
LowQuality |
Geringe Videoqualität auf dem freigegebenen Bildschirm, z. B. Inhalt sind nicht lesbar |
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 dem, was man sieht |
OtherIssues |
Jedes Problem, das nicht zu den früheren Beschreibungen passt |
Anpassungsoptionen
Sie können auswählen, ob Sie jeden der vier API-Werte oder nur die Werte erfassen möchten, die Sie für am wichtigsten halten. Beispielsweise können Sie Kunden nur nach ihrer Anrufgesamterfahrung fragen, anstatt sie nach ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch die Eingabebereiche Ihren Anforderungen entsprechend anpassen. Der Standardeingabebereich für „Anruf insgesamt“, „Audio“, „Video“ und „Bildschirmfreigabe“ ist 1 bis 5. Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Über die Verwendung der End of Call Survey API hinaus können Sie eigene Umfragefragen erstellen und diese in die Ergebnisse der Umfrage am Anrufende integrieren.
Die Ergebnispayload des SubmitSurvey
-Vorgangs liefert Daten, die Sie verwenden können, um ACS-Umfragedaten mit Ihren eigenen benutzerdefinierten Daten und dem Speicher zu korrelieren. Die CallSurveyResult
-Klasse enthält das Feld SurveyId
, das einen eindeutigen Bezeichner für die Umfrage angibt, und CallId
gibt einen Bezeichner für den Anruf an, für dem die Umfrage generiert wurde. Wenn Sie diese Bezeichner zusammen mit Ihren benutzerdefinierten Daten speichern, können Daten eindeutig zugeordnet werden.
Wichtig
Die Umfrage am Ende des Anrufs ist ab Version 2.10.0 des iOS Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version verwenden, wenn Sie die nachstehenden Anweisungen ausprobieren.
Beispiel für die API-Verwendung
Das Feature Umfrage zum Ende des Anrufs sollte nach Abschluss des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf bewerten, 1:1, Gruppe, Besprechung, ausgehend und eingehend. Sobald der Anruf eines Benutzers beendet ist, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, mit der er eine Bewertungspunktzahl auswählen und bei Bedarf aus der vordefinierten Liste Probleme auswählen kann, die während des Anrufs aufgetreten sind.
Die folgenden Code-Schnippsel zeigen ein Beispiel für einen 1:1-Anruf. Nach dem Ende des Anrufs kann Ihre Anwendung eine Umfrage-Benutzeroberfläche anzeigen. Sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit der Benutzerauswahl zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden, d. h. die Fünf-Sterne-Bewertung (zwischen 1 und 5). Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln.
Starten einer Umfrage
Sie erstellen ein CallSurvey
-Objekt, indem Sie eine Umfrage starten. Damit wird eine Umfrageabsicht verzeichnet. Wenn dieses 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
Bei der Bewertung von Anrufen müssen Sie die Werte respektieren, die in der Skala definiert sind. Der lowerBound-Wert bezeichnet die schlechtestmögliche Erfahrung, während der upperBound-Wert für die perfekte Erfahrung steht. Beide Werte sind inklusive Werte.
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Weitere Informationen zur vorgeschlagenen Umfragenutzung finden Sie unter Umfragekonzepte.
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert 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 ];
Gesamtbewertung, 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 ];
Absenden der Umfrage und Behandeln der Fehler, 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 nach verschiedenen Arten von Fehlern
Fehler beim Übermitteln der Umfrage:
Die submitSurvey-API kann in den folgenden Szenarien einen Fehler zurückgeben:
Eine Gesamtbewertung der Umfrage ist erforderlich.
Die Grenzen von
CallSurveyRatingScale
müssen zwischen 0 und 100 liegen. „LowerBound“ sollte kleiner als „UpperBound“ sein. „LowScoreThreshold“ sollte innerhalb der Grenzen liegen.Jede Bewertung muss die durch
CallSurveyRatingScale
definierten Grenzen einhalten. Alle Werte imCallSurveyRatingScale
-Objekt sind inklusive. Bei Verwendung der Standardskala sollte der Wert der Bewertung zwischen 1 und 5 liegen.Die Umfrage kann aufgrund eines Netzwerk-/Dienstfehlers nicht übermittelt werden.
Verfügbare Umfragetags
Anruf insgesamt
Tag | Beschreibung |
---|---|
CannotJoin |
Der Kunde konnte einem Anruf nicht beitreten. |
CannotInvite |
Der Kunde konnte während des Anrufs keinen neuen Teilnehmer 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 den vorherigen Beschreibungen passt |
Audioprobleme
Tag | Beschreibung |
---|---|
NoLocalAudio |
Kein Ton aus dem Anruf auf dem Kundencomputer, im Anruf ist niemand zu hören |
NoRemoteAudio |
Ton eines bestimmten Teilnehmers fehlt |
Echo |
Im Anruf wird ein Echo wahrgenommen |
AudioNoise |
Audioempfang mit unerwünschtem Rauschen |
LowVolume |
Ton ist zu leise |
AudioStoppedUnexpectedly |
Der Audioempfang wurde ohne ersichtlichen Grund beendet (z. B. niemand ist stummgeschaltet). |
DistortedSpeech |
Die Stimme eines Teilnehmers bzw. einer Teilnehmerin wird verzerrt und unterscheidet sich von der erwarteten Stimme. |
AudioInterruption |
Kunden erleben Tonunterbrechungen, Sprachaussetzer usw. |
OtherIssues |
Jedes Problem, das nicht zu den vorherigen Beschreibungen passt |
Videoprobleme
Tag | Beschreibung |
---|---|
NoVideoReceived |
Der Kunde empfängt keine Videodaten von einem Teilnehmer oder einer Teilnehmerin |
NoVideoSent |
Der Kunde startet einen Videoanruf, doch kein Teilnehmer bzw. keine Teilnehmerin des Anrufs kann das Video 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 |
Das Video wird gesendet, aber der Teilnehmer bzw. die Teilnehmerin sieht nur ein dunkles Feld (oder ein einfarbiges Feld). |
AudioVideoOutOfSync |
Video und Audio scheinen nicht synchron zu sein |
OtherIssues |
Jedes Problem, das nicht zu den vorherigen Beschreibungen passt |
Probleme bei der Bildschirmfreigabe
Tag | Beschreibung |
---|---|
NoContentLocal |
Der Kunde erhält keine Bildschirmfreigabe von einem Teilnehmer bzw. einer Teilnehmerin, der bzw. die den Bildschirm freigibt. |
NoContentRemote |
Der Kunde gibt den Bildschirm frei, aber mindestens ein Teilnehmer bzw. eine Teilnehmerin kann ihn nicht sehen. |
CannotPresent |
Bildschirmfreigabe kann nicht gestartet werden |
LowQuality |
Geringe Videoqualität auf dem freigegebenen Bildschirm, z. B. Inhalt sind nicht lesbar |
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 dem, was man sieht |
OtherIssues |
Jedes Problem, das nicht zu den vorherigen Beschreibungen passt |
Anpassungsoptionen
Sie können auswählen, ob Sie jeden der vier API-Werte oder nur die Werte erfassen möchten, die Sie für am wichtigsten halten. Beispielsweise können Sie Kunden nur nach ihrer Anrufgesamterfahrung fragen, anstatt sie nach ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch die Eingabebereiche Ihren Anforderungen entsprechend anpassen. Der Standardeingabebereich für „Anruf insgesamt“, „Audio“, „Video“ und „Bildschirmfreigabe“ ist 1 bis 5. Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Über die Verwendung der End of Call Survey API hinaus können Sie eigene Umfragefragen erstellen und diese in die Ergebnisse der Umfrage am Anrufende integrieren.
Allerdings stellt die Ergebnispayload des SubmitSurvey
-Vorgangs Daten bereit, die Sie verwenden können, um ACS-Umfragedaten mit Ihren eigenen benutzerdefinierten Daten und dem Speicher zu korrelieren. Die CallSurveyResult
-Klasse enthält das Feld SurveyId
, das einen eindeutigen Bezeichner für die Umfrage angibt, und CallId
gibt einen Bezeichner für den Anruf an, für dem die Umfrage generiert wurde. Durch das Speichern dieser Kennungen zusammen mit Ihren benutzerdefinierten Daten lassen sich die Daten eindeutig zuordnen.
Wichtig
Die Umfrage zum Ende des Anrufs ist ab Version 1.8.0 des Windows Calling SDK verfügbar. Stellen Sie sicher, dass Sie diese Version verwenden, wenn Sie die nachstehenden Anweisungen ausprobieren.
Beispiel für die API-Verwendung
Das Feature Umfrage zum Ende des Anrufs sollte nach Abschluss des Anrufs verwendet werden. Benutzer können jede Art von VoIP-Anruf bewerten, 1:1, Gruppe, Besprechung, ausgehend und eingehend. Sobald der Anruf eines Benutzers beendet ist, kann Ihre Anwendung dem Endbenutzer eine Benutzeroberfläche anzeigen, mit der er eine Bewertungspunktzahl auswählen und bei Bedarf aus der vordefinierten Liste Probleme auswählen kann, die während des Anrufs aufgetreten sind.
Die folgenden Code-Schnippsel zeigen ein Beispiel für einen 1:1-Anruf. Nach dem Ende des Anrufs kann Ihre Anwendung eine Umfrage-Benutzeroberfläche anzeigen. Sobald der Benutzer eine Bewertung ausgewählt hat, sollte Ihre Anwendung die Feature-API aufrufen, um die Umfrage mit der Benutzerauswahl zu übermitteln.
Wir empfehlen Ihnen, die Standardbewertungsskala zu verwenden, d. h. die Fünf-Sterne-Bewertung (zwischen 1 und 5). Sie können jedoch eine Umfrage mit benutzerdefinierter Bewertungsskala übermitteln.
Starten einer Umfrage
Sie erstellen ein CallSurvey
-Objekt, indem Sie eine Umfrage starten. Damit wird eine Umfrageabsicht verzeichnet. Wenn dieses 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
Bei der Bewertung von Anrufen müssen Sie die Werte respektieren, die in der Skala definiert sind. Der lowerBound-Wert bezeichnet die schlechtestmögliche Erfahrung, während der upperBound-Wert für die perfekte Erfahrung steht. Beide Werte sind inklusive Werte.
OverallRating ist eine erforderliche Kategorie für alle Umfragen.
Weitere Informationen zur vorgeschlagenen Umfragenutzung finden Sie unter Umfragekonzepte.
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert 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;
Gesamtbewertung, 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;
Absenden der Umfrage und Behandeln der Fehler, 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 nach verschiedenen Arten von Fehlern
Fehler beim Übermitteln der Umfrage:
Die submitSurvey-API kann in den folgenden Szenarien einen Fehler zurückgeben:
Eine Gesamtbewertung der Umfrage ist erforderlich.
Die Grenzen von
CallSurveyRatingScale
müssen zwischen 0 und 100 liegen. „LowerBound“ sollte kleiner als „UpperBound“ sein. „LowScoreThreshold“ sollte innerhalb der Grenzen liegen.Jede Bewertung muss die durch
CallSurveyRatingScale
definierten Grenzen einhalten. Alle Werte imCallSurveyRatingScale
-Objekt sind inklusive. Bei Verwendung der Standardskala sollte der Wert der Bewertung zwischen 1 und 5 liegen.Die Umfrage kann aufgrund eines Netzwerk-/Dienstfehlers nicht übermittelt werden.
Verfügbare Umfragetags
Anruf insgesamt
Tag | Beschreibung |
---|---|
CannotJoin |
Der Kunde konnte einem Anruf nicht beitreten. |
CannotInvite |
Der Kunde konnte während des Anrufs keinen neuen Teilnehmer 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 den früheren Beschreibungen passt |
Audioprobleme
Tag | Beschreibung |
---|---|
NoLocalAudio |
Kein Ton aus dem Anruf auf dem Kundencomputer, im Anruf ist niemand zu hören |
NoRemoteAudio |
Ton eines bestimmten Teilnehmers fehlt |
Echo |
Im Anruf wird ein Echo wahrgenommen |
AudioNoise |
Audioempfang mit unerwünschtem Rauschen |
LowVolume |
Ton ist zu leise |
AudioStoppedUnexpectedly |
Der Audioempfang wurde ohne ersichtlichen Grund beendet (z. B. niemand ist stummgeschaltet). |
DistortedSpeech |
Die Stimme eines Teilnehmers bzw. einer Teilnehmerin wird verzerrt und unterscheidet sich von der erwarteten Stimme. |
AudioInterruption |
Kunden erleben Tonunterbrechungen, Sprachaussetzer usw. |
OtherIssues |
Jedes Problem, das nicht zu den früheren Beschreibungen passt |
Videoprobleme
Tag | Beschreibung |
---|---|
NoVideoReceived |
Der Kunde empfängt keine Videodaten von einem Teilnehmer oder einer Teilnehmerin |
NoVideoSent |
Der Kunde startet einen Videoanruf, doch kein Teilnehmer bzw. keine Teilnehmerin des Anrufs kann das Video 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 |
Das Video wird gesendet, aber der Teilnehmer bzw. die Teilnehmerin sieht nur ein dunkles Feld (oder ein einfarbiges Feld). |
AudioVideoOutOfSync |
Video und Audio scheinen nicht synchron zu sein |
OtherIssues |
Jedes Problem, das nicht zu den früheren Beschreibungen passt |
Probleme mit der Bildschirmfreigabe
Tag | Beschreibung |
---|---|
NoContentLocal |
Der Kunde erhält keine Bildschirmfreigabe von einem Teilnehmer bzw. einer Teilnehmerin, der bzw. die den Bildschirm freigibt. |
NoContentRemote |
Der Kunde gibt den Bildschirm frei, aber mindestens ein Teilnehmer bzw. eine Teilnehmerin kann ihn nicht sehen. |
CannotPresent |
Bildschirmfreigabe kann nicht gestartet werden |
LowQuality |
Geringe Videoqualität auf dem freigegebenen Bildschirm, z. B. Inhalt sind nicht lesbar |
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 dem, was man sieht |
OtherIssues |
Jedes Problem, das nicht zu den früheren Beschreibungen passt |
Anpassungsoptionen
Sie können auswählen, ob Sie jeden der vier API-Werte oder nur die Werte erfassen möchten, die Sie für am wichtigsten halten. Beispielsweise können Sie Kunden nur nach ihrer Anrufgesamterfahrung fragen, anstatt sie nach ihrer Audio-, Video- und Bildschirmfreigabeerfahrung zu fragen. Sie können auch die Eingabebereiche Ihren Anforderungen entsprechend anpassen. Der Standardeingabebereich für „Anruf insgesamt“, „Audio“, „Video“ und „Bildschirmfreigabe“ ist 1 bis 5. Jeder API-Wert kann jedoch von mindestens 0 bis maximal 100 angepasst werden.
Hinweis
Der angegebene Grenzwert einer Frage in der API ist der Schwellenwert, den Microsoft bei der Analyse Ihrer Umfragedaten verwendet. Wenn Sie den Grenzwert oder den Eingabebereich anpassen, analysiert Microsoft Ihre Umfragedaten entsprechend Ihrer Anpassung.
Benutzerdefinierte Fragen
Über die Verwendung der End of Call Survey API hinaus können Sie eigene Umfragefragen erstellen und diese in die Ergebnisse der Umfrage am Anrufende integrieren.
Allerdings stellt die Ergebnispayload des SubmitSurvey
-Vorgangs Daten bereit, die Sie verwenden können, um ACS-Umfragedaten mit Ihren eigenen benutzerdefinierten Daten und dem Speicher zu korrelieren. Die CallSurveyResult
-Klasse enthält das Feld SurveyId
, das einen eindeutigen Bezeichner für die Umfrage angibt, und CallId
gibt einen Bezeichner für den Anruf an, für dem die Umfrage generiert wurde. Wenn Sie diese Bezeichner zusammen mit Ihren benutzerdefinierten Daten speichern, können Daten eindeutig zugeordnet werden.
Sammeln von Umfragedaten
Wichtig
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 Umfragedaten nicht an eine dieser Optionen senden, werden Ihre Umfragedaten nicht gespeichert und gehen verloren. Informationen zum Aktivieren dieser Protokolle für Ihre Communications Services finden Sie unter Umfrageprotokolle am Anrufende.
Anzeigen von Umfragedaten mit einem Log Analytics-Arbeitsbereich
Sie müssen einen Log Analytics-Arbeitsbereich aktivieren, einerseits, um die Protokolldaten Ihrer Umfragen zu speichern, und anderseits, um auf die Umfrageergebnisse zuzugreifen. Informationen zum Aktivieren dieser Protokolle für Ihre Communications Services finden Sie unter Umfrageprotokolle am Anrufende.
- Sie können Ihren Log Analytics-Arbeitsbereich auch in Power BI integrieren. Weitere Informationen finden Sie unter Integrieren von Log Analytics in Power BI.
Bewährte Methoden
Hier sind unsere empfohlenen Umfrageflows und vorgeschlagenen Fragen zur Prüfung. Ihre Entwicklungsabteilung kann unsere Empfehlung verwenden oder benutzerdefinierte Frageaufforderungen und -flows für Ihre visuelle Benutzeroberfläche verwenden.
Frage 1: Wie haben die Benutzer ihre Anrufqualität insgesamt wahrgenommen? Wir empfehlen Ihnen, die Umfrage zu starten, indem Sie nur nach der vom Teilnehmer eingeschätzten Gesamtqualität fragen. Wenn Sie die erste und zweite Frage trennen, hilft es, nur Antworten auf Audio-, Video- und Bildschirmfreigabeprobleme zu sammeln, wenn ein Umfrageteilnehmer angibt, dass Probleme mit der Anrufqualität aufgetreten sind.
- Empfohlene Aufforderung: „Wie war die Anrufqualität?“
- API-Fragewerte: Gesamtanruf
Frage 2: Hat der Benutzer beim Anruf Probleme mit Audio, Video oder Bildschirmfreigabe wahrgenommen? Wenn ein Umfrageteilnehmer auf Frage 1 mit einer Punktzahl geantwortet hat, die dem Grenzwert für den Gesamtanruf entspricht oder darunter liegt, stellen Sie die zweite Frage.
- Vorgeschlagene Aufforderung: „Was hätte besser sein können?“
- API-Fragewerte: Audio, Video und Bildschirmfreigabe
Umfragerichtlinien
- Vermeiden Sie eine Überbefragung, befragen Sie nicht alle Anrufteilnehmer.
- Die Reihenfolge Ihrer Fragen ist wichtig. Es wird empfohlen, die Sequenz der optionalen Tags in Frage 2 nach dem Zufallsprinzip zu erstellen, falls die Befragten sich mit ihrem Feedback hauptsächlich auf die erste visuelle Aufforderung konzentrieren.
- Erwägen Sie die Verwendung von Umfragen für separate Azure Communication Services-Ressourcen in kontrollierten Experimenten, um Auswirkungen der Releases zu bestimmen.
Nächste Schritte
Informationen zum Analysieren Ihrer Umfragedaten finden Sie unter: Umfrageprotokolle am Anrufende
Weitere Informationen zur Umfrage zum Ende des Anrufs finden Sie unter Übersicht – Umfrage zum Ende des Anrufs.
Informationen zur Verwendung des Log Analytics-Arbeitsbereichs finden Sie unter Log Analytics-Tutorial
Informationen zum Erstellen eigener Abfragen in Log Analytics finden Sie unter: Erste Schritte mit Abfragen.