Freigeben über


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

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.

  • Erstellen einer App Insight-Ressource.

  • 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 => {
    // `improvementSuggesstion` contains custom, user response
        if (improvementSuggestion !== '') {
            appInsights.trackEvent({
                    name: "CallSurvey", properties: {
                        // Survey ID to correlate the survey
                        id: res.id,
                        // Other custom properties as key value pair
                        improvementSuggestion: improvementSuggestion
                    }
                });
         }
    });
    appInsights.flush();
    

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 sourceLogs und Resource typeCommunication 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 sourceLogs 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 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 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

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 im CallSurveyRatingScale-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 im CallSurveyRatingScale-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 im CallSurveyRatingScale-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.

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