Condividi tramite


Usare il sondaggio di fine chiamata per raccogliere commenti e feedback degli utenti

Questa esercitazione illustra come usare il sondaggio di fine chiamata di Servizi di comunicazione di Azure.

Prerequisiti

Importante

Sondaggio di fine chiamata è disponibile a partire dalla versione 1.13.1 di Calling SDK. Quando si provano le istruzioni, accertare di usare tale versione o una successiva.

  • Node.js sono consigliate le versioni Long Term Support (LTS) attive.

Campione di utilizzo dell'API

La funzionalità Sondaggio di fine chiamata deve essere usata al termine della chiamata. Gli utenti possono valutare qualsiasi tipo di chiamata VoIP: 1:1, gruppo, riunione, uscita e in ingresso. Al termine della chiamata di un utente, l'applicazione può mostrare un'interfaccia utente all'utente finale, consentendo di scegliere un punteggio di classificazione e, se necessario, selezionare dall’elenco predefinito i problemi riscontrati durante la chiamata.

I frammenti di codice seguenti mostrano un esempio di chiamata uno-a-uno. Al termine della chiamata, l'applicazione può mostrare un'interfaccia utente del sondaggio e, una volta che l'utente sceglie una valutazione, l'applicazione deve chiamare l'API della funzionalità per inviare il sondaggio con le scelte dell'utente.

Sebbene sia consigliabile usare la scala di valutazione predefinita, è comunque possibile inviare un sondaggio con una scala di valutazione personalizzata. Per l’utilizzo dell’API campione, è possibile consultare l’applicazione di esempio.

Solo valutazione chiamata: nessuna scala personalizzata

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

OverallRating è una categoria obbligatoria per tutti i sondaggi.

Solo valutazione chiamata - con scala e problemi personalizzati

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

Valutazione complessiva, audio e video con un problema campione

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

Gestire gli errori che l'SDK può inviare

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

Trovare diversi tipi di errori

Errori durante l'invio del sondaggio

Se la convalida dei dati ha esito negativo o non è possibile inviare il sondaggio, l'API restituisce i messaggi di errore seguenti.

  • È necessaria almeno una valutazione del sondaggio.

  • Nella scala predefinita X deve essere da 1 a 5. - dove X è uno dei seguenti:

    • overallRating.score
    • audioRating.score
    • videoRating.score
    • ScreenshareRating.score
  • {propertyName}: {rating.score} deve essere compreso tra {rating.scale?.lowerBound} e {rating.scale?.upperBound}.

  • {propertyName}: {rating.scale?. lowScoreThreshold} deve essere compreso tra {rating.scale?.lowerBound} e {rating.scale?.upperBound}.

  • {propertyName} lowerBound: {rating.scale?.lowerBound} e upperBound: {rating.scale?.upperBound} deve essere compreso tra 0 e 100.

  • Riprovare [ACS non è riuscito a inviare un sondaggio, a causa di un errore di rete o di altro tipo].

Verranno restituiti tutti i codici di errore con un messaggio.

  • Codice di errore 400 (richiesta non valida) per tutti i messaggi di errore tranne uno.
{ message: validationErrorMessage, code: 400 }
  • 408 (timeout) quando l'evento viene rimosso:
{ message: "Please try again.", code: 408 }

Tutti i valori possibili

Configurazione predefinita dell'API del sondaggio

Categorie di classificazione API Valore cutoff* Intervallo di input Commenti
Chiamata complessiva 2 1 -5 Esegue un sondaggio sull'esperienza della qualità complessiva di un partecipante chiamante su una scala di 1-5. Una risposta di 1 indica un'esperienza di chiamata imperfetta e 5 indica una chiamata perfetta. Il valore di cutoff 2 indica che una risposta del cliente pari a 1 o 2 indica un'esperienza di chiamata minore di quella perfetta.
Audio 2 1 -5 Una risposta di 1 indica un'esperienza audio imperfetta e 5 indica che non sono stati riscontrati problemi audio.
Video 2 1 -5 Una risposta di 1 indica un'esperienza video imperfetta e 5 indica che non sono stati riscontrati problemi video.
Condivisione schermo 2 1 -5 Una risposta di 1 indica un'esperienza di condivisione schermo imperfetta e 5 indica che non sono stati riscontrati problemi di condivisione schermo.

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Altri tag del sondaggio

Categorie di valutazione Tag facoltativi
Chiamata complessiva CallCannotJoin CallCannotInvite HadToRejoin CallEndedUnexpectedly OtherIssues
Audio NoLocalAudio NoRemoteAudio Echo AudioNoise LowVolume AudioStoppedUnexpectedly DistortedSpeech AudioInterruption OtherIssues
Video NoVideoReceived NoVideoSent LowQuality Freezes StoppedUnexpectedly DarkVideoReceived AudioVideoOutOfSync OtherIssues
Condivisione schermo NoContentLocal NoContentRemote CannotPresent LowQuality Freezes StoppedUnexpectedly LargeDelay OtherIssues

Opzioni di personalizzazione

È possibile scegliere di raccogliere ognuno dei quattro valori dell'API o solo quelli più importanti. Ad esempio, è possibile scegliere di chiedere ai clienti di valutare solo l'esperienza di chiamata complessiva anziché chiedere loro informazioni sull'esperienza audio, video e condivisione dello schermo. Inoltre è possibile personalizzare gli intervalli di input in base alle proprie esigenze. L'intervallo di input predefinito è da 1 a 5 per Chiamata complessiva, Audio, Video e Condivisione schermo. Tuttavia, ciascun valore API può essere personalizzato da un minimo di 0 a un massimo di 100.

Esempi di personalizzazione

Categorie di classificazione API Valore cutoff* Intervallo di input
Chiamata complessiva 0 - 100 0 - 100
Audio 0 - 100 0 - 100
Video 0 - 100 0 - 100
Condivisione schermo 0 - 100 0 - 100

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Domande personalizzate

Oltre a usare l'API Sondaggio di fine chiamata, è possibile creare domande di sondaggio personalizzate e incorporarle con i risultati del sondaggio di fine chiamata. Di seguito sono riportati i passaggi per incorporare in un sondaggio le proprie domande clienti, ed eseguire query sui risultati dell'API Sondaggio di fine chiamata e sulle proprie domande di sondaggio.

Le risposte degli utenti inviate con AppInsights sono disponibili nell'area di lavoro di Insights app. Per eseguire query tra più risorse, correlare le valutazioni delle chiamate e i dati del sondaggio personalizzato è possibile usare Cartelle di lavoro. Passaggi per correlare le valutazioni delle chiamate e i dati del sondaggio personalizzato:

  • Creare nuove cartelle di lavoro (risorsa ACS -> Monitoraggio -> Cartelle di lavoro -> Nuovo) ed eseguire query sui dati del sondaggio sulle chiamate dalla risorsa ACS.
  • Aggiungere una nuova query (+Aggiungi -> Aggiungi query)
  • Accertare che Data source sia Logs e Resource type sia Communication
  • È possibile rinominare la query (Impostazioni avanzate -> Nome passaggio [esempio: sondaggio chiamata])
  • Tenere presente che prima che i dati del sondaggio diventino visibili nel portale di Azure potrebbe essere necessario un massimo di 2 ore. Eseguire una query sui dati di valutazione delle chiamate:
    ACSCallSurvey
    | where TimeGenerated > now(-24h)
    
  • Aggiungere un'altra query per ottenere dati da Dati analitici app (+Aggiungi -> Aggiungi query)
  • Accertare che Data source sia Logs e Resource type sia Application Insights
  • Eseguire una query sugli eventi personalizzati:
    customEvents
    | where timestamp > now(-24h)
    | where name == 'CallSurvey'
    | extend d=parse_json(customDimensions)
    | project SurveyId = d.id, ImprovementSuggestion = d.improvementSuggestion
    
  • È possibile rinominare la query (Impostazioni avanzate -> Nome passaggio [esempio: sondaggio chiamata personalizzata])
  • Unire infine queste due query per surveyId. Creare una nuova query (+Aggiungi -> Aggiungi query).
  • Accertarsi che Data source sia Merge e selezionare Merge type, se necessario

titolo: Sondaggio di fine chiamata di Servizi di comunicazione di Azure sottotitolo: Servizi di comunicazione di Azure descrizione dell'esercitazione: Informazioni su come usare il sondaggio di fine chiamata per raccogliere i feedback degli utenti. 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

Importante

Il sondaggio di fine chiamata è disponibile a partire dalla versione 2.10.0 dell’SDK di chiamata Android. Quando si provano le istruzioni, accertare di usare tale versione o una successiva.

Campione di utilizzo dell'API

La funzionalità Sondaggio di fine chiamata deve essere usata al termine della chiamata. Gli utenti possono valutare qualsiasi tipo di chiamata VoIP: 1:1, gruppo, riunione, uscita e in ingresso. Al termine della chiamata di un utente, l'applicazione può mostrare un'interfaccia utente all'utente finale, consentendo di scegliere un punteggio di classificazione e, se necessario, selezionare dall’elenco predefinito i problemi riscontrati durante la chiamata.

I frammenti di codice seguenti mostrano un esempio di chiamata uno-a-uno. Al termine della chiamata, l'applicazione può mostrare un'interfaccia utente del sondaggio e, una volta che l'utente sceglie una valutazione, l'applicazione deve chiamare l'API della funzionalità per inviare il sondaggio con le scelte dell'utente.

È consigliabile usare la scala di classificazione predefinita, ovvero la classificazione a cinque stelle (da 1 a 5). è comunque possibile inviare un sondaggio con una scala di valutazione personalizzata.

Avviare un sondaggio

Avviando un sondaggio si crea un oggetto CallSurvey. Esso registra la finalità del sondaggio. Se questo particolare oggetto CallSurvey non viene inviato in seguito, significa che il sondaggio è stato ignorato o saltato dal cliente finale.

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

Utilizzo generale

Quando la classificazione chiama, è necessario rispettare i valori definiti nel campo della scala. Il valore lowerBound indica la peggiore esperienza possibile, mentre il valore upperBound indica l'esperienza perfetta. Entrambi i valori sono inclusi nell'intervallo.

OverallRating è una categoria obbligatoria per tutti i sondaggi.

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Per altre informazioni sull'uso consigliato dei sondaggi, vedere Concetti relativi ai sondaggi

Solo valutazione chiamata: nessuna scala personalizzata

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

Solo valutazione chiamata - con scala e problemi personalizzati

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

Valutazione complessiva, audio e video con un problema campione

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

Inviare un sondaggio e gestire gli errori che l'SDK può inviare

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

Trovare diversi tipi di errori

Errori durante l'invio del sondaggio:

L'API submitSurvey può restituire un errore negli scenari seguenti:

  • È necessaria una valutazione complessiva del sondaggio.

  • I limiti CallSurveyRatingScale devono essere compresi tra 0 e 100. LowerBound deve essere minore di UpperBound. LowScoreThreshold deve trovarsi entro i limiti.

  • Qualsiasi punteggio deve rispettare i limiti definiti dall'oggetto CallSurveyRatingScale. Tutti i valori nell'oggetto CallSurveyRatingScale sono inclusivi. Usando la scala predefinita, il valore del punteggio deve essere compreso tra 1 e 5.

  • Non è possibile inviare un sondaggio a causa di un errore di rete/servizio.

Tag del sondaggio disponibili

Chiamata complessiva

Tag Descrizione
CannotJoin Il cliente non è riuscito a partecipare a una chiamata
CannotInvite Il cliente non è riuscito ad aggiungere un nuovo partecipante alla chiamata
HadToRejoin Il cliente ha lasciato la chiamata per poi riconnettersi come soluzione alternativa a un problema
CallEndedUnexpectedly La chiamata del cliente è terminata senza alcun motivo apparente
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi audio

Tag Descrizione
NoLocalAudio Assenza di audio chiamata sul computer del cliente, incapacità di sentire i partecipanti alla chiamata
NoRemoteAudio Assenza dell’audio di un partecipante specifico
Echo Eco percepita nella chiamata
AudioNoise Audio ricevuto con rumore imprevisto
LowVolume Audio troppo basso
AudioStoppedUnexpectedly Audio arrestato senza motivo chiaro (ad esempio, nessuno ha l’audio disattivato)
DistortedSpeech La voce di un partecipante è distorta, diversa dalla voce prevista
AudioInterruption I clienti sperimentano interruzioni audio, voci tagliate e così via.
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi video

Tag Descrizione
NoVideoReceived Il cliente non riceve video da parte di un partecipante
NoVideoSent Il cliente avvia il video, ma nessuno nella chiamata è in grado di vederlo
LowQuality Video di bassa qualità
Freezes Blocchi video
StoppedUnexpectedly La condivisione dello schermo si arresta senza un motivo chiaro (ad esempio la fotocamera è attivata e le videochiamate sono attivate)
DarkVideoReceived Il video viene inviato, ma il partecipante vede solo una casella scura (o di un altro colore)
AudioVideoOutOfSync Video e audio non sembrano essere sincronizzati
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi di condivisione dello schermo

Tag Descrizione
NoContentLocal Il cliente non riceve la condivisione dello schermo di un partecipante che lo condivide
NoContentRemote Il cliente sta condividendo lo schermo, ma uno o più partecipanti non riescono a vederlo
CannotPresent Impossibile avviare la condivisione dello schermo
LowQuality Bassa qualità nel video di condivisione dello schermo, ad esempio non è possibile leggere
Freezes La condivisione dello schermo si blocca durante la presentazione
StoppedUnexpectedly La condivisione dello schermo si arresta senza un chiaro (ad esempio, la condivisione dello schermo non è stata arrestata dal cliente)
LargeDelay Ritardo percepito tra ciò che viene mostrato e ciò che viene visto
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Opzioni di personalizzazione

È possibile scegliere di raccogliere ognuno dei quattro valori dell'API o solo quelli più importanti. Ad esempio, è possibile scegliere di chiedere ai clienti di valutare solo l'esperienza di chiamata complessiva anziché chiedere loro informazioni sull'esperienza audio, video e condivisione dello schermo. Inoltre è possibile personalizzare gli intervalli di input in base alle proprie esigenze. L'intervallo di input predefinito è da 1 a 5 per Chiamata complessiva, Audio, Video e Condivisione schermo. Tuttavia, ciascun valore API può essere personalizzato da un minimo di 0 a un massimo di 100.

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Domande personalizzate

Oltre a usare l'API Sondaggio di fine chiamata, è possibile creare domande di sondaggio personalizzate e incorporarle con i risultati del sondaggio di fine chiamata.

Il payload del risultato dell'operazione SubmitSurvey fornisce dati che è possibile usare per correlare i dati del sondaggio ACS con i dati e l'archiviazione personalizzati. La classe CallSurveyResult ha il campo SurveyId che denota un identificatore univoco per il sondaggio e CallId denota un identificatore per la chiamata in cui è stato generato il sondaggio. Salvare questi identificatori insieme ai dati personalizzati consente di associare i dati in modo univoco.

Importante

Il sondaggio di fine chiamata è disponibile a partire dalla versione 2.10.0 dell’SDK di chiamata iOS. Quando si provano le istruzioni, accertare di usare tale versione o una successiva.

Campione di utilizzo dell'API

La funzionalità Sondaggio di fine chiamata deve essere usata al termine della chiamata. Gli utenti possono valutare qualsiasi tipo di chiamata VoIP: 1:1, gruppo, riunione, uscita e in ingresso. Al termine della chiamata di un utente, l'applicazione può mostrare un'interfaccia utente all'utente finale, consentendo di scegliere un punteggio di classificazione e, se necessario, selezionare dall’elenco predefinito i problemi riscontrati durante la chiamata.

I frammenti di codice seguenti mostrano un esempio di chiamata uno-a-uno. Al termine della chiamata, l'applicazione può mostrare un'interfaccia utente del sondaggio e, una volta che l'utente sceglie una valutazione, l'applicazione deve chiamare l'API della funzionalità per inviare il sondaggio con le scelte dell'utente.

È consigliabile usare la scala di classificazione predefinita, ovvero la classificazione a cinque stelle (da 1 a 5). è comunque possibile inviare un sondaggio con una scala di valutazione personalizzata.

Avviare un sondaggio

Avviando un sondaggio si crea un oggetto CallSurvey. Esso registra la finalità del sondaggio. Se questo particolare oggetto CallSurvey non viene inviato in seguito, significa che il sondaggio è stato ignorato o saltato dal cliente finale.

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

Utilizzo generale

Quando la classificazione chiama, è necessario rispettare i valori definiti nel campo della scala. Il valore lowerBound indica la peggiore esperienza possibile, mentre il valore upperBound indica l'esperienza perfetta. Entrambi i valori sono inclusi nell'intervallo.

OverallRating è una categoria obbligatoria per tutti i sondaggi.

Per altre informazioni sull'uso consigliato dei sondaggi, vedere Concetti relativi ai sondaggi

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Solo valutazione chiamata: nessuna scala personalizzata

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

Solo valutazione chiamata - con scala e problemi personalizzati

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

Valutazione complessiva, audio e video con un problema campione

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

Inviare un sondaggio e gestire gli errori che l'SDK può inviare

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

Trovare diversi tipi di errori

Errori durante l'invio del sondaggio:

L'API submitSurvey può restituire un errore negli scenari seguenti:

  • È necessaria una valutazione complessiva del sondaggio.

  • I limiti CallSurveyRatingScale devono essere compresi tra 0 e 100. LowerBound deve essere minore di UpperBound. LowScoreThreshold deve trovarsi entro i limiti.

  • Qualsiasi punteggio deve rispettare i limiti definiti dall'oggetto CallSurveyRatingScale. Tutti i valori nell'oggetto CallSurveyRatingScale sono inclusivi. Usando la scala predefinita, il valore del punteggio deve essere compreso tra 1 e 5.

  • Non è possibile inviare un sondaggio a causa di un errore di rete/servizio.

Tag del sondaggio disponibili

Chiamata complessiva

Tag Descrizione
CannotJoin Il cliente non è riuscito a partecipare a una chiamata
CannotInvite Il cliente non è riuscito ad aggiungere un nuovo partecipante alla chiamata
HadToRejoin Il cliente ha lasciato la chiamata per poi riconnettersi come soluzione alternativa a un problema
CallEndedUnexpectedly La chiamata del cliente è terminata senza alcun motivo apparente
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi audio

Tag Descrizione
NoLocalAudio Assenza di audio chiamata sul computer del cliente, incapacità di sentire i partecipanti alla chiamata
NoRemoteAudio Assenza dell’audio di un partecipante specifico
Echo Eco percepita nella chiamata
AudioNoise Audio ricevuto con rumore imprevisto
LowVolume Audio troppo basso
AudioStoppedUnexpectedly Audio arrestato senza motivo chiaro (ad esempio, nessuno ha l’audio disattivato)
DistortedSpeech La voce di un partecipante è distorta, diversa dalla voce prevista
AudioInterruption I clienti sperimentano interruzioni audio, voci tagliate e così via.
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi video

Tag Descrizione
NoVideoReceived Il cliente non riceve video da parte di un partecipante
NoVideoSent Il cliente avvia il video, ma nessuno nella chiamata è in grado di vederlo
LowQuality Video di bassa qualità
Freezes Blocchi video
StoppedUnexpectedly La condivisione dello schermo si arresta senza un motivo chiaro (ad esempio la fotocamera è attivata e le videochiamate sono attivate)
DarkVideoReceived Il video viene inviato, ma il partecipante vede solo una casella scura (o di un altro colore)
AudioVideoOutOfSync Video e audio non sembrano essere sincronizzati
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi di condivisione dello schermo

Tag Descrizione
NoContentLocal Il cliente non riceve la condivisione dello schermo di un partecipante che lo condivide
NoContentRemote Il cliente sta condividendo lo schermo, ma uno o più partecipanti non riescono a vederlo
CannotPresent Impossibile avviare la condivisione dello schermo
LowQuality Bassa qualità nel video di condivisione dello schermo, ad esempio non è possibile leggere
Freezes La condivisione dello schermo si blocca durante la presentazione
StoppedUnexpectedly La condivisione dello schermo si arresta senza un chiaro (ad esempio, la condivisione dello schermo non è stata arrestata dal cliente)
LargeDelay Ritardo percepito tra ciò che viene mostrato e ciò che viene visto
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Opzioni di personalizzazione

È possibile scegliere di raccogliere ognuno dei quattro valori dell'API o solo quelli più importanti. Ad esempio, è possibile scegliere di chiedere ai clienti di valutare solo l'esperienza di chiamata complessiva anziché chiedere loro informazioni sull'esperienza audio, video e condivisione dello schermo. Inoltre è possibile personalizzare gli intervalli di input in base alle proprie esigenze. L'intervallo di input predefinito è da 1 a 5 per Chiamata complessiva, Audio, Video e Condivisione schermo. Tuttavia, ciascun valore API può essere personalizzato da un minimo di 0 a un massimo di 100.

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Domande personalizzate

Oltre a usare l'API Sondaggio di fine chiamata, è possibile creare domande di sondaggio personalizzate e incorporarle con i risultati del sondaggio di fine chiamata.

Tuttavia, il payload del risultato dell'operazione SubmitSurvey fornisce dati che è possibile usare per correlare i dati del sondaggio ACS con i dati e l'archiviazione personalizzati. La classe CallSurveyResult ha il campo SurveyId che denota un identificatore univoco per il sondaggio e CallId denota un identificatore per la chiamata in cui è stato generato il sondaggio. Salvare questi identificatori insieme ai dati personalizzati consente di associare i dati in modo univoco.

Importante

Il sondaggio di fine chiamata è disponibile a partire dalla versione 1.8.0 dell’SDK di chiamata Windows. Quando si provano le istruzioni, accertare di usare tale versione o una successiva.

Campione di utilizzo dell'API

La funzionalità Sondaggio di fine chiamata deve essere usata al termine della chiamata. Gli utenti possono valutare qualsiasi tipo di chiamata VoIP: 1:1, gruppo, riunione, uscita e in ingresso. Al termine della chiamata di un utente, l'applicazione può mostrare un'interfaccia utente all'utente finale, consentendo di scegliere un punteggio di classificazione e, se necessario, selezionare dall’elenco predefinito i problemi riscontrati durante la chiamata.

I frammenti di codice seguenti mostrano un esempio di chiamata uno-a-uno. Al termine della chiamata, l'applicazione può mostrare un'interfaccia utente del sondaggio e, una volta che l'utente sceglie una valutazione, l'applicazione deve chiamare l'API della funzionalità per inviare il sondaggio con le scelte dell'utente.

È consigliabile usare la scala di classificazione predefinita, ovvero la classificazione a cinque stelle (da 1 a 5). è comunque possibile inviare un sondaggio con una scala di valutazione personalizzata.

Avviare un sondaggio

Avviando un sondaggio si crea un oggetto CallSurvey. Esso registra la finalità del sondaggio. Se questo particolare oggetto CallSurvey non viene inviato in seguito, significa che il sondaggio è stato ignorato o saltato dal cliente finale.

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

Utilizzo generale

Quando la classificazione chiama, è necessario rispettare i valori definiti nel campo della scala. Il valore lowerBound indica la peggiore esperienza possibile, mentre il valore upperBound indica l'esperienza perfetta. Entrambi i valori sono inclusi nell'intervallo.

OverallRating è una categoria obbligatoria per tutti i sondaggi.

Per altre informazioni sull'uso consigliato dei sondaggi, vedere Concetti relativi ai sondaggi

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Solo valutazione chiamata: nessuna scala personalizzata

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

Solo valutazione chiamata - con scala e problemi personalizzati

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

Valutazione complessiva, audio e video con un problema campione

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

survey.videoIssues = VideoIssues.Freezes;

Inviare un sondaggio e gestire gli errori che l'SDK può inviare

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

Trovare diversi tipi di errori

Errori durante l'invio del sondaggio:

L'API submitSurvey può restituire un errore negli scenari seguenti:

  • È necessaria una valutazione complessiva del sondaggio.

  • I limiti CallSurveyRatingScale devono essere compresi tra 0 e 100. LowerBound deve essere minore di UpperBound. LowScoreThreshold deve trovarsi entro i limiti.

  • Qualsiasi punteggio deve rispettare i limiti definiti dall'oggetto CallSurveyRatingScale. Tutti i valori nell'oggetto CallSurveyRatingScale sono inclusivi. Usando la scala predefinita, il valore del punteggio deve essere compreso tra 1 e 5.

  • Non è possibile inviare un sondaggio a causa di un errore di rete/servizio.

Tag del sondaggio disponibili

Chiamata complessiva

Tag Descrizione
CannotJoin Il cliente non è riuscito a partecipare a una chiamata
CannotInvite Il cliente non è riuscito ad aggiungere un nuovo partecipante alla chiamata
HadToRejoin Il cliente ha lasciato la chiamata per poi riconnettersi come soluzione alternativa a un problema
EndedUnexpectedly La chiamata del cliente è terminata senza alcun motivo apparente
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi audio

Tag Descrizione
NoLocalAudio Assenza di audio chiamata sul computer del cliente, incapacità di sentire i partecipanti alla chiamata
NoRemoteAudio Assenza dell’audio di un partecipante specifico
Echo Eco percepita nella chiamata
AudioNoise Audio ricevuto con rumore imprevisto
LowVolume Audio troppo basso
AudioStoppedUnexpectedly Audio arrestato senza motivo chiaro (ad esempio, nessuno ha l’audio disattivato)
DistortedSpeech La voce di un partecipante è distorta, diversa dalla voce prevista
AudioInterruption I clienti sperimentano interruzioni audio, voci tagliate e così via.
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi video

Tag Descrizione
NoVideoReceived Il cliente non riceve video da parte di un partecipante
NoVideoSent Il cliente avvia il video, ma nessuno nella chiamata è in grado di vederlo
LowQuality Video di bassa qualità
Freezes Blocchi video
StoppedUnexpectedly La condivisione dello schermo si arresta senza un motivo chiaro (ad esempio la fotocamera è attivata e le videochiamate sono attivate)
DarkVideoReceived Il video viene inviato, ma il partecipante vede solo una casella scura (o di un altro colore)
AudioVideoOutOfSync Video e audio non sembrano essere sincronizzati
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Problemi di condivisione dello schermo

Tag Descrizione
NoContentLocal Il cliente non riceve la condivisione dello schermo di un partecipante che lo condivide
NoContentRemote Il cliente sta condividendo lo schermo, ma uno o più partecipanti non riescono a vederlo
CannotPresent Impossibile avviare la condivisione dello schermo
LowQuality Bassa qualità nel video di condivisione dello schermo, ad esempio non è possibile leggere
Freezes La condivisione dello schermo si blocca durante la presentazione
StoppedUnexpectedly La condivisione dello schermo si arresta senza un chiaro (ad esempio, la condivisione dello schermo non è stata arrestata dal cliente)
LargeDelay Ritardo percepito tra ciò che viene mostrato e ciò che viene visto
OtherIssues Qualsiasi problema che non rientra nelle descrizioni precedenti

Opzioni di personalizzazione

È possibile scegliere di raccogliere ognuno dei quattro valori dell'API o solo quelli più importanti. Ad esempio, è possibile scegliere di chiedere ai clienti di valutare solo l'esperienza di chiamata complessiva anziché chiedere loro informazioni sull'esperienza audio, video e condivisione dello schermo. Inoltre è possibile personalizzare gli intervalli di input in base alle proprie esigenze. L'intervallo di input predefinito è da 1 a 5 per Chiamata complessiva, Audio, Video e Condivisione schermo. Tuttavia, ciascun valore API può essere personalizzato da un minimo di 0 a un massimo di 100.

Nota

Il valore di cutoff indicato da una domanda nell'API è la soglia usata da Microsoft per l'analisi dei dati del sondaggio. Quando si personalizza il valore cutoff o l’intervallo di input, Microsoft analizza i dati del sondaggio in base alla personalizzazione.

Domande personalizzate

Oltre a usare l'API Sondaggio di fine chiamata, è possibile creare domande di sondaggio personalizzate e incorporarle con i risultati del sondaggio di fine chiamata.

Tuttavia, il payload del risultato dell'operazione SubmitSurvey fornisce dati che è possibile usare per correlare i dati del sondaggio ACS con i dati e l'archiviazione personalizzati. La classe CallSurveyResult ha il campo SurveyId che denota un identificatore univoco per il sondaggio e CallId denota un identificatore per la chiamata in cui è stato generato il sondaggio. Salvare questi identificatori insieme ai dati personalizzati consente di associare i dati in modo univoco.

Raccogliere i dati del sondaggio

Importante

È necessario abilitare un'impostazione di diagnostica in Monitoraggio di Azure per inviare i dati di log dei sondaggi a un'area di lavoro Log Analytics, a Hub eventi o a un account di archiviazione di Azure, per ricevere e analizzare i dati del sondaggio. Se i dati del sondaggio non saranno inviati a una di queste opzioni, verranno archiviati e andranno persi. Per abilitare questi log per i servizi di comunicazioni, vedere: Log dei sondaggi di fine chiamata

Visualizzare i dati del sondaggio con un'area di lavoro Log Analytics

Per archiviare i dati di log dei sondaggi e accedere ai risultati è necessario abilitare un'area di lavoro Log Analytics. Per abilitare questi log per il servizio di comunicazioni, vedere Log dei sondaggi di fine chiamata.

Procedure consigliate

Ecco i flussi di sondaggio consigliati e le domande suggerite da considerare: Lo sviluppo può usare la raccomandazione o usare domande e flussi personalizzati per l'interfaccia visiva.

Domanda 1: In che modo gli utenti hanno percepito l'esperienza complessiva di qualità delle chiamate? È consigliabile iniziare il sondaggio solo chiedendo ai partecipanti le informazioni sulla qualità complessiva. Tenendo separate le prime e le seconde domande consente di raccogliere risposte solo a problemi di audio, video e condivisione dello schermo, nel caso in cui un partecipante indica che si sono verificati problemi di qualità delle chiamate.

  • Richiesta suggerita: "Come è stata la qualità delle chiamate?"
  • Valori delle domande API: chiamata complessiva

Domanda 2: l'utente ha percepito eventuali problemi di audio, video o condivisione dello schermo nella chiamata? Se un partecipante al sondaggio ha risposto alla domanda 1 con un punteggio di chiamata complessiva pari o inferiore al valore di cutoff, presentare la seconda domanda.

  • Richiesta suggerita: "Cosa avrebbe potuto essere migliorato?"
  • Valori delle domande API: Audio, Video e Condivisione schermo

Linee guida per il sondaggio

  • Evitare il burnout del sondaggio, non esaminare tutti i partecipanti alle chiamate.
  • L'ordine delle domande è importante. È consigliabile randomizzare la sequenza di tag facoltativi nella domanda 2, nel caso in cui gli intervistati concentrino la maggior parte del feedback sulla prima richiesta visualizzata visivamente.
  • Prendere in considerazione l'uso di sondaggi per distinguere le risorse di Servizi di comunicazione di Azure e ottenere esperimenti controllati che identificano gli impatti sulle versioni.

Passaggi successivi