Freigeben über


Verwenden Sie die Anrufumfrage am Ende des Gesprächs, um Benutzerfeedback zu sammeln.

In diesem Tutorial erfahren Sie, wie Sie die End-of-Call-Umfrage von Azure Communication Services nutzen.

Voraussetzungen

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.

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 sourceLogs ist und Resource typeCommunication ist
  • 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 sourceLogs ist und Resource typeApplication 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 mit "surveyId" zusammen. Neue Abfrage erstellen (+Hinzufügen –> Abfrage hinzufügen).
  • Vergewissern Sie sich, dass Data source „Merge“ lautet, und wählen Sie nach Bedarf Merge 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

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.

  • CallSurveyRatingScale Grenzen 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 CallSurveyRatingScale definierten Grenzen respektieren. Alle Werte im CallSurveyRatingScale Objekt 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.

  • CallSurveyRatingScale Grenzen 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 CallSurveyRatingScale definierten Grenzen respektieren. Alle Werte im CallSurveyRatingScale Objekt 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.

  • CallSurveyRatingScale Grenzen 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 CallSurveyRatingScale definierten Grenzen respektieren. Alle Werte im CallSurveyRatingScale Objekt 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.

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