Partager via


Utiliser l’enquête de fin d’appel pour recueillir les commentaires des utilisateurs

Ce tutoriel vous montre comment utiliser Azure Communication Services Enquête de fin d’appel.

Prérequis

Important

L’enquête de fin d’appel est disponible à partir de la version 1.13.1 du kit de développement logiciel (SDK) d’appel. Veillez à utiliser cette version ou ultérieur lors de l’essai des instructions.

  • Les versions actives LTS (Prise en charge à long terme) de Node.js sont recommandées.

Exemple d’utilisation de l’API

La fonctionnalité Fin de l’enquête d’appel doit être utilisée une fois l’appel terminé. Les utilisateurs peuvent évaluer n’importe quel type d’appel VoIP, 1:1, groupe, réunion, sortant et entrant. Une fois l’appel d’un utilisateur terminé, votre application peut afficher une interface utilisateur à l’utilisateur final, ce qui lui permet de choisir un score d’évaluation et, si nécessaire, de choisir les problèmes qu’il a rencontrés pendant l’appel dans notre liste prédéfinie.

Les captures de code suivantes illustrent un exemple d’appel un-à-un. Après la fin de l’appel, votre application peut afficher une interface utilisateur d’enquête et une fois que l’utilisateur a choisi une évaluation, votre application doit appeler l’API de fonctionnalité pour soumettre l’enquête avec les choix de l’utilisateur.

Nous vous encourageons à utiliser l’échelle d’évaluation par défaut. Toutefois, vous pouvez envoyer une enquête avec une échelle d’évaluation personnalisée. Vous pouvez case activée l’exemple d’application pour l’exemple d’utilisation de l’API.

Appel de débit uniquement : pas d’échelle personnalisée

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: { score: 5 }, // issues are optional
}).then(() => console.log('survey submitted successfully'));

OverallRating est une catégorie obligatoire pour toutes les enquêtes.

Appel de taux uniquement : avec une mise à l’échelle personnalisée et des problèmes

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'));

Évaluer l’ensemble, l’audio et la vidéo avec un exemple de problème

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: { score: 3 },
    audioRating: { score: 4 },
    videoRating: { score: 3, issues: ['Freezes'] }
}).then(() => console.log('survey submitted successfully'))

Gérer les erreurs que le KIT de développement logiciel (SDK) peut envoyer

call.feature(Features.CallSurvey).submitSurvey({
    overallRating: { score: 3 }
}).catch((e) => console.log('error when submitting survey: ' + e))

Rechercher différents types d’erreurs

Échecs lors de la soumission d’une enquête

L’API retourne les messages d’erreur suivants si la validation des données échoue ou si l’enquête ne peut pas être envoyée.

  • Au moins une évaluation d’enquête est requise.

  • Par défaut, l’échelle X doit être comprise entre 1 et 5. - où X correspond à l’un des éléments suivants :

    • overallRating.score
    • audioRating.score
    • videoRating.score
    • ScreenshareRating.score
  • {propertyName} : {rating.score} doit se trouver entre {rating.scale?.lowerBound} et {rating.scale?.upperBound}.

  • {propertyName} : {rating.scale?.lowScoreThreshold} doit se trouver entre {rating.scale?.lowerBound} et {rating.scale?.upperBound}.

  • {propertyName} : lowerBound: {rating.scale?.lowerBound} et upperBound: {rating.scale?.upperBound} doivent se trouver entre 0 et 100.

  • Réessayez [ACS n’a pas pu envoyer l’enquête, en raison d’une erreur réseau ou d’une autre erreur].

Tous les codes d’erreur seront retournés avec un message.

  • Code d’erreur 400 (requête incorrecte) pour tous les messages d’erreur à l’exception d’un seul.
{ message: validationErrorMessage, code: 400 }
  • Un code d’erreur 408 (délai d’expiration) lorsque l’événement a été abandonné :
{ message: "Please try again.", code: 408 }

Toutes les valeurs possibles

Configuration de l’API d’enquête par défaut

Catégories d’évaluation de l’API Valeurs de coupure* Plage d’entrée Commentaires
Appel global 2 1 - 5 Interroge l’expérience de qualité globale d’un participant à l’appel sur une échelle de 1 à 5. Une réponse de 1 indique une expérience d’appel imparfaite et 5 indique un appel parfait. La valeur de seuil de 2 signifie qu’une réponse client de 1 ou 2 indique une expérience d’appel inférieure à parfaite.
Audio 2 1 - 5 Une réponse de 1 indique une expérience audio imparfaite et 5 indique qu’aucun problème audio n’a été rencontré.
Vidéo 2 1 - 5 Une réponse 1 indique une expérience vidéo imparfaite et 5 indique qu’aucun problème vidéo n’a été rencontré.
Partage d’écran 2 1 - 5 Une réponse de 1 indique une expérience de partage d’écran imparfaite et 5 indique qu’aucun problème de partage d’écran n’a été rencontré.

Notes

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Autres balises d’enquête

Catégories d’évaluation Balises facultatives
Appel global CallCannotJoin CallCannotInvite HadToRejoin CallEndedUnexpectedly OtherIssues
Audio NoLocalAudio NoRemoteAudio Echo AudioNoise LowVolume AudioStoppedUnexpectedly DistortedSpeech AudioInterruption OtherIssues
Vidéo NoVideoReceived NoVideoSent LowQuality Freezes StoppedUnexpectedly DarkVideoReceived AudioVideoOutOfSync OtherIssues
Partage d’écran NoContentLocal NoContentRemote CannotPresent LowQuality Freezes StoppedUnexpectedly LargeDelay OtherIssues

Options de personnalisation

Vous pouvez choisir de collecter chacune des quatre valeurs d’API ou uniquement celles que vous trouvez les plus importantes. Par exemple, vous pouvez choisir de demander uniquement aux clients leur expérience d’appel globale au lieu de les interroger sur leur expérience audio, vidéo et de partage d’écran. Vous pouvez également personnaliser les plages d’entrée en fonction de vos besoins. La plage d’entrée par défaut est comprise entre 1 et 5 pour l’appel global, l’audio, la vidéo et le partage d’écran. Toutefois, chaque valeur d’API peut être personnalisée d’un minimum de 0 à un maximum de 100.

Exemples de personnalisation

Catégories d’évaluation de l’API Valeurs de coupure* Plage d’entrée
Appel global 0 - 100 0 - 100
Audio 0 - 100 0 - 100
Vidéo 0 - 100 0 - 100
Partage d’écran 0 - 100 0 - 100

Notes

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Questions personnalisées

En plus d’utiliser l’API d’enquête de fin d’appel, vous pouvez créer vos propres questions d’enquête et les incorporer aux résultats de l’enquête de fin d’appel. Vous trouverez ci-dessous les étapes permettant d’incorporer vos propres questions client dans une enquête et d’interroger les résultats de l’API d’enquête de fin d’appel ainsi que vos propres questions d’enquête.

Les réponses utilisateur envoyées en tirant parti de la fonctionnalité AppInsights sont disponibles dans votre espace de travail Application Insights. Pour interroger plusieurs ressources, mettre en corrélation les évaluations des appels ainsi que les données d’enquête personnalisées, veuillez utilisez lesclasseurs. Étapes pour mettre en corrélation les évaluations des appels et les données d’enquête personnalisées :

  • Créez des classeurs (votre ressource ACS -> Surveillance -> Classeurs -> Nouveau) et interrogez les données d’enquête d’appel à partir de votre ressource ACS.
  • Ajouter une nouvelle requête (+Ajouter - > Ajouter une requête)
  • Vérifiez que Data source est Logs et Resource type est Communication
  • Vous pouvez renommer la requête (Paramètres avancés -> Nom de l’étape [exemple : call-survey])
  • N’oubliez pas qu’il faut compter un maximum de 2 heures avant que les données de l’enquête ne soient visibles dans le portail Azure. Interroger les données d’évaluation des appels-
    ACSCallSurvey
    | where TimeGenerated > now(-24h)
    
  • Ajouter une autre requête pour obtenir des données à partir d’application Insights (+Ajouter - > Ajouter une requête)
  • Vérifiez que Data source est Logs et Resource type est Application Insights
  • Interroger les événements personnalisés-
    customEvents
    | where timestamp > now(-24h)
    | where name == 'CallSurvey'
    | extend d=parse_json(customDimensions)
    | project SurveyId = d.id, ImprovementSuggestion = d.improvementSuggestion
    
  • Vous pouvez renommer la requête (Paramètres avancés -> Nom de l’étape [exemple : custom-call-survey])
  • Enfin, fusionnez ces deux requêtes par ID de requête. Créer une requête (+Ajouter - > Ajouter une requête).
  • Assurez-vous que Data source est Fusionner et sélectionnez Merge type si nécessaire

titre : Azure Communication Services enquête de fin d’appel titleSuffix : description du document du tutoriel Azure Communication Services : Apprenez à utiliser l’enquête de fin d’appel pour recueillir les commentaires des utilisateurs. auteur : 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

Important

L’enquête de fin d’appel est disponible à partir de la version 2.10.0 du SDK d’appel Android. Veillez à utiliser cette version ou ultérieur lors de l’essai des instructions.

Exemple d’utilisation de l’API

La fonctionnalité Fin de l’enquête d’appel doit être utilisée une fois l’appel terminé. Les utilisateurs peuvent évaluer n’importe quel type d’appel VoIP, 1:1, groupe, réunion, sortant et entrant. Une fois l’appel d’un utilisateur terminé, votre application peut afficher une interface utilisateur à l’utilisateur final, ce qui lui permet de choisir un score d’évaluation et, si nécessaire, de choisir les problèmes qu’il a rencontrés pendant l’appel dans notre liste prédéfinie.

Les captures de code suivantes illustrent un exemple d’appel un-à-un. Après la fin de l’appel, votre application peut afficher une interface utilisateur d’enquête et une fois que l’utilisateur a choisi une évaluation, votre application doit appeler l’API de fonctionnalité pour soumettre l’enquête avec les choix de l’utilisateur.

Nous vous encourageons à utiliser l’échelle d’évaluation par défaut, qui est l’évaluation avec cinq étoiles (entre 1 et 5). Toutefois, vous pouvez envoyer une enquête avec une échelle d’évaluation personnalisée.

Commencer une enquête

Vous créez un objet CallSurvey en commençant une enquête. Cette opération enregistre une intention d’enquête. Si cet objet CallSurvey particulier n’est pas envoyé par la suite, cela signifie que l’enquête a été abandonnée ou ignorée par le client final.

SurveyCallFeature surveyCallFeature = call.feature(Features.SURVEY);
try {
    CallSurvey survey = surveyCallFeature.startSurvey().get();
} catch (InterruptedException | ExecutionException e) {
    // failure to start survey
}

Utilisation générale

Lors de l’évaluation des appels, vous devez respecter les valeurs définies dans le champ de l’échelle. La valeur lowerBound indique la pire expérience possible, tandis que la valeur upperBound indique l’expérience parfaite. Les deux valeurs sont comprises.

OverallRating est une catégorie obligatoire pour toutes les enquêtes.

Remarque

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Pour plus d’informations sur l’utilisation d’une enquête, consultez Concepts d’une enquête

Appel de débit uniquement : pas d’échelle personnalisée

SurveyScore overall = new SurveyScore();
overall.setScore(5);
callSurvey.setOverallScore(overall);

Appel de taux uniquement : avec une mise à l’échelle personnalisée et des problèmes

// 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);

Évaluer l’ensemble, l’audio et la vidéo avec un exemple de problème

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);

Soumettre une enquête et gérer les erreurs que le SDK peut envoyer

try {
    CallSurveyResult survey = surveyCallFeature.submitSurvey(survey).get();
} catch (InterruptedException e) {
    // Threading error
} catch (ExecutionException e) {
    Log.e("SURVEY", e.getCause().getMessage());
}

Rechercher différents types d’erreurs

Échecs lors de l’envoi d’une enquête :

L’API submitSurvey peut retourner une erreur dans les scénarios suivants :

  • Une évaluation globale d’enquête est requise.

  • Les limites de CallSurveyRatingScale doivent être comprises entre 0 et 100. LowerBound doit être inférieur à UpperBound. LowScoreThreshold doit se trouver dans les limites.

  • Les scores doivent respecter les limites définies par CallSurveyRatingScale. Toutes les valeurs de l’objet CallSurveyRatingScale sont incluses. À l’aide de l’échelle par défaut, la valeur du score doit être comprise entre 1 et 5.

  • L’enquête ne peut pas être soumise en raison d’une erreur de réseau/service.

Étiquettes d’enquête disponibles

Appel global

Balise Description
CannotJoin Le client n’a pas pu rejoindre un appel
CannotInvite Le client n’a pas pu ajouter un nouveau participant à l’appel
HadToRejoin Le client a quitté l’appel puis l’a rejoint à nouveau pour contourner un problème
CallEndedUnexpectedly L’appel du client s’est terminé sans raison apparente
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes audio

Balise Description
NoLocalAudio Aucun son sur l’ordinateur client, incapacité d’entendre qui que ce soit au cours de l’appel
NoRemoteAudio Aucun son venant d’un participant spécifique
Echo Écho perçu lors de l’appel
AudioNoise Son reçu avec un bruit inattendu
LowVolume Son trop bas
AudioStoppedUnexpectedly Son arrêté sans raison précise (par exemple, aucun son désactivé pour personne)
DistortedSpeech La voix d’un participant est déformée, différente de sa voix normale
AudioInterruption Le client rencontre des interruptions audio, des voix hachurées, etc.
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes de vidéo

Balise Description
NoVideoReceived Le client ne reçoit pas de vidéo d’un participant
NoVideoSent Le client démarre la vidéo, mais personne de l’appel n’est en mesure de la voir
LowQuality Qualité vidéo médiocre
Freezes La vidéo se fige
StoppedUnexpectedly Le partage d’écran s’arrête sans raison précise (par exemple, la caméra est activée et l’appel vidéo est activé)
DarkVideoReceived La vidéo est actuellement en cours de lecture, mais le participant ne voit qu’un écran noir (ou d’une autre couleur unie)
AudioVideoOutOfSync La vidéo et le son audio ne semblent pas être synchronisés
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes de partage d’écran

Balise Description
NoContentLocal Le client ne reçoit pas le partage d’écran d’un participant qui est en train de partager
NoContentRemote Le client partage l’écran, mais un ou plusieurs participants n’arrivent pas à le voir
CannotPresent Impossible de démarrer le partage d’écran
LowQuality Qualité médiocre de la vidéo de partage d’écran (par exemple, lecture impossible)
Freezes Le partage d’écran se fige pendant la présentation
StoppedUnexpectedly Le partage d’écran s’arrête sans raison précise (par exemple, le partage d’écran n’a pas été arrêté par le client)
LargeDelay Délai perçu entre ce qui est montré et ce qui est vu
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Options de personnalisation

Vous pouvez choisir de collecter chacune des quatre valeurs d’API ou uniquement celles que vous trouvez les plus importantes. Par exemple, vous pouvez choisir de demander uniquement aux clients leur expérience d’appel globale au lieu de les interroger sur leur expérience audio, vidéo et de partage d’écran. Vous pouvez également personnaliser les plages d’entrée en fonction de vos besoins. La plage d’entrée par défaut est comprise entre 1 et 5 pour l’appel global, le son, la vidéo et le partage d’écran. Toutefois, chaque valeur d’API peut être personnalisée d’un minimum de 0 à un maximum de 100.

Remarque

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Questions personnalisées

En plus d’utiliser l’API d’enquête de fin d’appel, vous pouvez créer vos propres questions d’enquête et les incorporer aux résultats de l’enquête de fin d’appel.

Le résultat de l’opération SubmitSurvey fournit des données que vous pouvez utiliser pour mettre en corrélation les données d’enquête ACS avec vos propres données et stockage personnalisés. La classe CallSurveyResult a le champ SurveyId qui désigne un identificateur unique pour l’enquête et CallId indique un identificateur pour l’appel où l’enquête a été générée. L’enregistrement de ces identificateurs avec vos données personnalisées permet d’associer des données de manière unique.

Important

L’enquête de fin d’appel est disponible à partir de la version 2.10.0 du SDK d’appel iOS. Veillez à utiliser cette version ou ultérieur lors de l’essai des instructions.

Exemple d’utilisation de l’API

La fonctionnalité Fin de l’enquête d’appel doit être utilisée une fois l’appel terminé. Les utilisateurs peuvent évaluer n’importe quel type d’appel VoIP, 1:1, groupe, réunion, sortant et entrant. Une fois l’appel d’un utilisateur terminé, votre application peut afficher une interface utilisateur à l’utilisateur final, ce qui lui permet de choisir un score d’évaluation et, si nécessaire, de choisir les problèmes qu’il a rencontrés pendant l’appel dans notre liste prédéfinie.

Les captures de code suivantes illustrent un exemple d’appel un-à-un. Après la fin de l’appel, votre application peut afficher une interface utilisateur d’enquête et une fois que l’utilisateur a choisi une évaluation, votre application doit appeler l’API de fonctionnalité pour soumettre l’enquête avec les choix de l’utilisateur.

Nous vous encourageons à utiliser l’échelle d’évaluation par défaut, qui est l’évaluation avec cinq étoiles (entre 1 et 5). Toutefois, vous pouvez envoyer une enquête avec une échelle d’évaluation personnalisée.

Commencer une enquête

Vous créez un objet CallSurvey en commençant une enquête. Cette opération enregistre une intention d’enquête. Si cet objet CallSurvey particulier n’est pas envoyé par la suite, cela signifie que l’enquête a été abandonnée ou ignorée par le client final.

var surveyCallFeature = self.call.feature(Features.survey)
do {
    try self.callSurvey = await surveyFeature.startSurvey()
} catch {
    print("Failure to start survey")
}

Utilisation générale

Lors de l’évaluation des appels, vous devez respecter les valeurs définies dans le champ de l’échelle. La valeur lowerBound indique la pire expérience possible, tandis que la valeur upperBound indique l’expérience parfaite. Les deux valeurs sont comprises.

OverallRating est une catégorie obligatoire pour toutes les enquêtes.

Pour plus d’informations sur l’utilisation d’une enquête, consultez Concepts d’une enquête

Remarque

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Appel de débit uniquement : pas d’échelle personnalisée

let overallScore = SurveyScore()
overallScore.score = Int32(5)
callSurvey.overallScore = overallScore

Appel de taux uniquement : avec une mise à l’échelle personnalisée et des problèmes

// 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 ];

Évaluer l’ensemble, l’audio et la vidéo avec un exemple de problème

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 ];

Soumettre une enquête et gérer les erreurs que le SDK peut envoyer

do {
    var result =  try await self.surveyFeature!.submit(survey: callSurvey)
} catch let error as NSError {
    print("==> Survey Not Submitted " + error.localizedDescription)
}

Rechercher différents types d’erreurs

Échecs lors de l’envoi d’une enquête :

L’API submitSurvey peut retourner une erreur dans les scénarios suivants :

  • Une évaluation globale d’enquête est requise.

  • Les limites de CallSurveyRatingScale doivent être comprises entre 0 et 100. LowerBound doit être inférieur à UpperBound. LowScoreThreshold doit se trouver dans les limites.

  • Les scores doivent respecter les limites définies par CallSurveyRatingScale. Toutes les valeurs de l’objet CallSurveyRatingScale sont incluses. À l’aide de l’échelle par défaut, la valeur du score doit être comprise entre 1 et 5.

  • L’enquête ne peut pas être soumise en raison d’une erreur de réseau/service.

Étiquettes d’enquête disponibles

Appel global

Balise Description
CannotJoin Le client n’a pas pu rejoindre un appel
CannotInvite Le client n’a pas pu ajouter un nouveau participant à l’appel
HadToRejoin Le client a quitté l’appel puis l’a rejoint à nouveau pour contourner un problème
CallEndedUnexpectedly L’appel du client s’est terminé sans raison apparente
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes audio

Balise Description
NoLocalAudio Aucun son sur l’ordinateur client, incapacité d’entendre qui que ce soit au cours de l’appel
NoRemoteAudio Aucun son venant d’un participant spécifique
Echo Écho perçu lors de l’appel
AudioNoise Son reçu avec un bruit inattendu
LowVolume Son trop bas
AudioStoppedUnexpectedly Son arrêté sans raison précise (par exemple, aucun son désactivé pour personne)
DistortedSpeech La voix d’un participant est déformée, différente de sa voix normale
AudioInterruption Le client rencontre des interruptions audio, des voix hachurées, etc.
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes de vidéo

Balise Description
NoVideoReceived Le client ne reçoit pas de vidéo d’un participant
NoVideoSent Le client démarre la vidéo, mais personne de l’appel n’est en mesure de la voir
LowQuality Qualité vidéo médiocre
Freezes La vidéo se fige
StoppedUnexpectedly Le partage d’écran s’arrête sans raison précise (par exemple, la caméra est activée et l’appel vidéo est activé)
DarkVideoReceived La vidéo est actuellement en cours de lecture, mais le participant ne voit qu’un écran noir (ou d’une autre couleur unie)
AudioVideoOutOfSync La vidéo et le son audio ne semblent pas être synchronisés
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes de partage d’écran

Balise Description
NoContentLocal Le client ne reçoit pas le partage d’écran d’un participant qui est en train de partager
NoContentRemote Le client partage l’écran, mais un ou plusieurs participants n’arrivent pas à le voir
CannotPresent Impossible de démarrer le partage d’écran
LowQuality Qualité médiocre de la vidéo de partage d’écran (par exemple, lecture impossible)
Freezes Le partage d’écran se fige pendant la présentation
StoppedUnexpectedly Le partage d’écran s’arrête sans raison précise (par exemple, le partage d’écran n’a pas été arrêté par le client)
LargeDelay Délai perçu entre ce qui est montré et ce qui est vu
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Options de personnalisation

Vous pouvez choisir de collecter chacune des quatre valeurs d’API ou uniquement celles que vous trouvez les plus importantes. Par exemple, vous pouvez choisir de demander uniquement aux clients leur expérience d’appel globale au lieu de les interroger sur leur expérience audio, vidéo et de partage d’écran. Vous pouvez également personnaliser les plages d’entrée en fonction de vos besoins. La plage d’entrée par défaut est comprise entre 1 et 5 pour l’appel global, le son, la vidéo et le partage d’écran. Toutefois, chaque valeur d’API peut être personnalisée d’un minimum de 0 à un maximum de 100.

Remarque

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Questions personnalisées

En plus d’utiliser l’API d’enquête de fin d’appel, vous pouvez créer vos propres questions d’enquête et les incorporer aux résultats de l’enquête de fin d’appel.

Toutefois, le résultat de l’opération SubmitSurvey fournit des données que vous pouvez utiliser pour mettre en corrélation les données d’enquête ACS avec vos propres données et stockage personnalisés. La classe CallSurveyResult a le champ SurveyId qui désigne un identificateur unique pour l’enquête et CallId indique un identificateur pour l’appel où l’enquête a été générée. L’enregistrement de ces identificateurs avec vos données personnalisées permet d’associer des données de manière unique.

Important

L’enquête de fin d’appel est disponible à partir de la version 1.8.0 du SDK d’appel Windows. Veillez à utiliser cette version ou ultérieur lors de l’essai des instructions.

Exemple d’utilisation de l’API

La fonctionnalité Fin de l’enquête d’appel doit être utilisée une fois l’appel terminé. Les utilisateurs peuvent évaluer n’importe quel type d’appel VoIP, 1:1, groupe, réunion, sortant et entrant. Une fois l’appel d’un utilisateur terminé, votre application peut afficher une interface utilisateur à l’utilisateur final, ce qui lui permet de choisir un score d’évaluation et, si nécessaire, de choisir les problèmes qu’il a rencontrés pendant l’appel dans notre liste prédéfinie.

Les captures de code suivantes illustrent un exemple d’appel un-à-un. Après la fin de l’appel, votre application peut afficher une interface utilisateur d’enquête et une fois que l’utilisateur a choisi une évaluation, votre application doit appeler l’API de fonctionnalité pour soumettre l’enquête avec les choix de l’utilisateur.

Nous vous encourageons à utiliser l’échelle d’évaluation par défaut, qui est l’évaluation avec cinq étoiles (entre 1 et 5). Toutefois, vous pouvez envoyer une enquête avec une échelle d’évaluation personnalisée.

Commencer une enquête

Vous créez un objet CallSurvey en commençant une enquête. Cette opération enregistre une intention d’enquête. Si cet objet CallSurvey particulier n’est pas envoyé par la suite, cela signifie que l’enquête a été abandonnée ou ignorée par le client final.

var surveyCallFeature = call.Features.Survey;
var survey = await surveyCallFeature.StartSurveyAsync();

Utilisation générale

Lors de l’évaluation des appels, vous devez respecter les valeurs définies dans le champ de l’échelle. La valeur lowerBound indique la pire expérience possible, tandis que la valeur upperBound indique l’expérience parfaite. Les deux valeurs sont comprises.

OverallRating est une catégorie obligatoire pour toutes les enquêtes.

Pour plus d’informations sur l’utilisation d’une enquête, consultez Concepts d’une enquête

Remarque

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Appel de débit uniquement : pas d’échelle personnalisée

survey.OverallScore = new CallSurveyScore() { Score = 5 };

Appel de taux uniquement : avec une mise à l’échelle personnalisée et des problèmes

// 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;

Évaluer l’ensemble, l’audio et la vidéo avec un exemple de problème

survey.OverallScore = new CallSurveyScore() { 
    Score = 5 
};
survey.AudioScore = new CallSurveyScore() { 
    Score = 4
};
survey.VideoScore = new CallSurveyScore() { 
    Score = 3
};

survey.videoIssues = VideoIssues.Freezes;

Soumettre une enquête et gérer les erreurs que le SDK peut envoyer

try
{
    CallSurveyResult result = await surveyCallFeature.SubmitSurveyAsync(survey);
    Console.WriteLine("Survey submitted" + result.SurveyId);
} catch (Exception ex)
{
   Console.WriteLine(ex.Message);
}

Rechercher différents types d’erreurs

Échecs lors de l’envoi d’une enquête :

L’API submitSurvey peut retourner une erreur dans les scénarios suivants :

  • Une évaluation globale d’enquête est requise.

  • Les limites de CallSurveyRatingScale doivent être comprises entre 0 et 100. LowerBound doit être inférieur à UpperBound. LowScoreThreshold doit se trouver dans les limites.

  • Les scores doivent respecter les limites définies par CallSurveyRatingScale. Toutes les valeurs de l’objet CallSurveyRatingScale sont incluses. À l’aide de l’échelle par défaut, la valeur du score doit être comprise entre 1 et 5.

  • L’enquête ne peut pas être soumise en raison d’une erreur de réseau/service.

Étiquettes d’enquête disponibles

Appel global

Balise Description
CannotJoin Le client n’a pas pu rejoindre un appel
CannotInvite Le client n’a pas pu ajouter un nouveau participant à l’appel
HadToRejoin Le client a quitté l’appel puis l’a rejoint à nouveau pour contourner un problème
EndedUnexpectedly L’appel du client s’est terminé sans raison apparente
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes audio

Balise Description
NoLocalAudio Aucun son sur l’ordinateur client, incapacité d’entendre qui que ce soit au cours de l’appel
NoRemoteAudio Aucun son venant d’un participant spécifique
Echo Écho perçu lors de l’appel
AudioNoise Son reçu avec un bruit inattendu
LowVolume Son trop bas
AudioStoppedUnexpectedly Son arrêté sans raison précise (par exemple, aucun son désactivé pour personne)
DistortedSpeech La voix d’un participant est déformée, différente de sa voix normale
AudioInterruption Le client rencontre des interruptions audio, des voix hachurées, etc.
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes vidéo

Balise Description
NoVideoReceived Le client ne reçoit pas de vidéo d’un participant
NoVideoSent Le client démarre la vidéo, mais personne de l’appel n’est en mesure de la voir
LowQuality Qualité vidéo médiocre
Freezes La vidéo se fige
StoppedUnexpectedly Le partage d’écran s’arrête sans raison précise (par exemple, la caméra est activée et l’appel vidéo est activé)
DarkVideoReceived La vidéo est actuellement en cours de lecture, mais le participant ne voit qu’un écran noir (ou d’une autre couleur unie)
AudioVideoOutOfSync La vidéo et le son audio ne semblent pas être synchronisés
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Problèmes de partage d’écran

Balise Description
NoContentLocal Le client ne reçoit pas le partage d’écran d’un participant qui est en train de partager
NoContentRemote Le client partage l’écran, mais un ou plusieurs participants n’arrivent pas à le voir
CannotPresent Impossible de démarrer le partage d’écran
LowQuality Qualité médiocre de la vidéo de partage d’écran (par exemple, lecture impossible)
Freezes Le partage d’écran se fige pendant la présentation
StoppedUnexpectedly Le partage d’écran s’arrête sans raison précise (par exemple, le partage d’écran n’a pas été arrêté par le client)
LargeDelay Délai perçu entre ce qui est montré et ce qui est vu
OtherIssues Tout autre problème qui ne correspond pas aux descriptions précédentes

Options de personnalisation

Vous pouvez choisir de collecter chacune des quatre valeurs d’API ou uniquement celles que vous trouvez les plus importantes. Par exemple, vous pouvez choisir de demander uniquement aux clients leur expérience d’appel globale au lieu de les interroger sur leur expérience audio, vidéo et de partage d’écran. Vous pouvez également personnaliser les plages d’entrée en fonction de vos besoins. La plage d’entrée par défaut est comprise entre 1 et 5 pour l’appel global, le son, la vidéo et le partage d’écran. Toutefois, chaque valeur d’API peut être personnalisée d’un minimum de 0 à un maximum de 100.

Remarque

La valeur de seuil indiquée d’une question dans l’API est le seuil utilisé par Microsoft lors de l’analyse de vos données d’enquête. Lorsque vous personnalisez la valeur de seuil ou la plage d’entrée, Microsoft analyse vos données d’enquête en fonction de votre personnalisation.

Questions personnalisées

En plus d’utiliser l’API d’enquête de fin d’appel, vous pouvez créer vos propres questions d’enquête et les incorporer aux résultats de l’enquête de fin d’appel.

Toutefois, le résultat de l’opération SubmitSurvey fournit des données que vous pouvez utiliser pour mettre en corrélation les données d’enquête ACS avec vos propres données et stockage personnalisés. La classe CallSurveyResult a le champ SurveyId qui désigne un identificateur unique pour l’enquête et CallId indique un identificateur pour l’appel où l’enquête a été générée. L’enregistrement de ces identificateurs avec vos données personnalisées permet d’associer des données de manière unique.

Collecter des données de l’enquête

Important

L'activation d'un paramètre de diagnostic dans Azure Monitor est nécessaire pour envoyer les données de journal de vos enquêtes à un espace de travail Log Analytics, à Event Hubs ou encore à un compte de stockage Azure afin de recevoir et d'analyser les données de vos enquêtes. Si vous n’envoyez aucune donnée d’enquête à l’une de ces options, vos données d’enquête ne seront pas stockées et disparaîtront. Pour activer ces journaux dans le cadre de vos Communications Services, consultez : Fin des journaux d’enquête d’appel

Afficher les données de l’enquête avec un espace de travail Log Analytics

Pour stocker les données du journal de vos enquêtes et accéder aux résultats des enquêtes, activez un espace de travail d'analyse du journal. Pour activer ces journaux pour votre Service de Communication, consultez : Fin des journaux d’enquête d’appel.

Bonnes pratiques

Voici nos flux d’enquête recommandés et les invites de questions suggérées pour examen. Votre développement peut utiliser notre suggestion ou utiliser des invites de questions et des flux personnalisés pour votre interface visuelle.

Question 1 : Comment les utilisateurs ont-ils perçu leur expérience globale de la qualité des appels ? Nous vous recommandons de commencer l’enquête en vous demandant uniquement sur la qualité globale des participants. Si vous séparez les première et deuxième questions, il est utile de collecter uniquement les réponses aux problèmes audio, vidéo et partage d’écran si un participant à l’enquête indique qu’il a rencontré des problèmes de qualité des appels.

  • Invite suggérée : « Comment était la qualité de l’appel ? »
  • Valeurs de la question d’API : appel global

Question 2 : L’utilisateur a-t-il détecté des problèmes audio, vidéo ou de partage d’écran dans l’appel ? Si un participant à l’enquête a répondu à la question 1 avec un score inférieur ou égal à la valeur limite de l’appel global, présentez la deuxième question.

  • Invite suggérée : « Qu’est-ce qui aurait pu être mieux ? »
  • Valeurs de la question d’API : Audio, Vidéo et Partage d’écran

Instructions relatives à l’arpentage

  • Évitez l’épuisement des sondages, n’interrogez pas tous les participants à l’appel.
  • L’ordre de vos questions est important. Nous vous recommandons de rendre aléatoire la séquence de balises facultatives de la question 2 dans le cas où les répondants concentrent la plupart de leurs commentaires sur la première invite qu’ils voient visuellement.
  • Envisagez l’utilisation des enquêtes pour des ressources Azure Communication Services distinctes dans le cadre d’expériences contrôlées afin d’identifier les impacts de la mise en production.

Étapes suivantes