Raccogliere feedback dai tester

Questa guida descrive come attivare il feedback in-app utilizzando l'SDK Android facoltativo Firebase App Distribution, in modo che i tester possano inviare feedback (inclusi screenshot) direttamente nell'app.

Prima di iniziare

Se non l'hai ancora fatto, aggiungi Firebase al tuo progetto Android.

Passaggio 1: attiva l'API Tester App Distribution

  1. Apri la Google Cloud console e seleziona il tuo progetto Firebase.

  2. In API Tester di Firebase App, fai clic su Attiva.

Passaggio 2: aggiungi App Distribution alla tua app

L'SDK Android di App Distribution è composto da due librerie:

  • firebase-appdistribution-api: la libreria solo API, che puoi includere in tutte le varianti di build.
  • firebase-appdistribution: l'implementazione completa dell'SDK (facoltativa).

La libreria solo API consente al tuo codice di effettuare chiamate all'SDK. Le chiamate non hanno effetto se l'implementazione completa dell'SDK non è presente.

  1. Dichiara la dipendenza per l'SDK Android App Distribution nel file Gradle del modulo (a livello di app) (in genere <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle).

  2. Per evitare di includere la funzionalità di aggiornamento automatico dell'implementazione completa dell'SDK nelle build di Google Play, identifica le varianti di build, inclusi i tipi di build o i product flavor che distribuirai tramite App Distribution.

  3. Dichiara la dipendenza per l'SDK Android App Distribution nel file Gradle del modulo (a livello di app) (in genere app/build.gradle). Aggiungi l' implementazione completa dell'SDK solo alle varianti destinate esclusivamente ai test pre-release:

    Kotlin

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta15")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta17")
    }

    Java

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta17")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta17")
    }

Passaggio 3: configura il feedback in-app

Per raccogliere feedback dai tester, utilizza uno dei seguenti trigger per consentire ai tester di avviare il feedback:

  • Trigger di notifica integrato: l'SDK Android App Distribution può mostrare una notifica continua che il tester può toccare da qualsiasi punto dell'app. Utilizza questo trigger se vuoi iniziare più rapidamente e non hai bisogno di personalizzare il modo in cui i tester forniscono feedback.

  • Trigger personalizzato: puoi fornire il tuo meccanismo di trigger, ad esempio toccando un pulsante o una voce di menu nell'app o scuotendo il dispositivo.

Quando utilizzi uno di questi trigger e il tester invia feedback, l'SDK Android esegue le seguenti azioni:

  1. Acquisisce uno screenshot dell'attività corrente dell'app.

  2. Esegue controlli per assicurarsi che il tester abbia attivato le funzionalità di test dell'SDK. Se le funzionalità di test non sono attivate, l'SDK Android chiede al tester di accedere a App Distribution con il suo Account Google.

  3. Avvia un'attività a schermo intero che consente al tester di scrivere e inviare il proprio feedback.

Opzione 1: trigger di notifica

Utilizza showFeedbackNotification() per mostrare una notifica persistente o continua sul dispositivo del tester che può toccare per avviare il feedback. Quando configuri la notifica, devi fornire un testo che verrà mostrato al tester prima che invii il feedback e un livello di interruzione per la notifica (corrispondente all'importanza del canale di notifica importanza). Se vuoi fornire ai tester un avviso sulla raccolta e l'elaborazione dei dati di feedback, puoi utilizzare il testo per fornire questo avviso.

Quando utilizzi showFeedbackNotification() e l'app passa in background, la notifica viene nascosta. Se vuoi nascondere esplicitamente la notifica, utilizza cancelFeedbackNotification(). Ti consigliamo di inserire showFeedbackNotification() in onCreate() dell'attività principale.

Kotlin

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Firebase.appDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH)
    }
}

Java

public class MainActivity extends AppCompatActivity {
    FirebaseAppDistribution firebaseAppDistribution =
        FirebaseAppDistribution.getInstance();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        firebaseAppDistribution.showFeedbackNotification(
            // Text providing notice to your testers about collection and
            // processing of their feedback data
            R.string.additionalFormText,
            // The level of interruption for the notification
            InterruptionLevel.HIGH);
    }
}

Opzione 2: trigger personalizzato

Utilizza il metodo startFeedback() per avviare il feedback utilizzando un meccanismo a tua scelta. Ad esempio, per attivare il feedback potresti aggiungere una voce di menu "Invia feedback" al menu delle azioni dell'app o consentire ai tester di scuotere il dispositivo o scattare uno screenshot. Quando attivi il feedback, fornisci un testo che verrà mostrato al tester prima che invii il feedback. Se vuoi fornire ai tester un avviso sulla raccolta e l'elaborazione dei dati di feedback, puoi utilizzare questo testo per fornire questo avviso.

Kotlin

Firebase.appDistribution.startFeedback(R.string.feedbackMessage)

Java

FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);

Passaggio 4: crea e testa l'implementazione

Test locale

Per testare l'implementazione senza dover prima distribuire l'app, segui questi passaggi:

  1. Attiva la modalità sviluppatore sul dispositivo locale:

    adb shell setprop debug.firebase.appdistro.devmode true
  2. Crea l'app come variante pre-release che include le App Distribution librerie complete e verifica di poter attivare il feedback utilizzando il meccanismo implementato nel Passaggio 3: configura il feedback in-app. Il feedback non viene inviato in modalità sviluppatore.

  3. Dopo il test, puoi disattivare la modalità sviluppatore sul dispositivo:

    adb shell setprop debug.firebase.appdistro.devmode false

Test end-to-end

Per verificare che la tua app possa inviare feedback, crea l'app come variante pre-release che include le librerie complete App Distributione testa la tua implementazione seguendo questi passaggi:

  1. Carica una nuova release dell'app in App Distribution.

  2. Distribuisci la release dell'app a un account a cui hai l'autorizzazione ad accedere.

  3. Scarica l'app tramite l'app web o per tester Android di App Distribution.

  4. Attiva il feedback utilizzando il meccanismo implementato in Passaggio 3: configura il feedback in-app.

  5. Assicurati di aver eseguito l'accesso con lo stesso account a cui hai distribuito la release dell'app e invia il feedback.

  6. Visualizza il feedback nella scheda della nuova release nella Firebase console.

Per scoprire come risolvere i problemi comuni, ad esempio i tester che non riescono ad avviare il feedback nell'app, consulta Attivare le funzionalità di test con l'SDK.

Passaggio 5: gestisci il feedback dei tester

Dopo aver consentito ai tester di inviare feedback, puoi utilizzare i seguenti strumenti per esaminare il feedback e intervenire:

Visualizza ed elimina il feedback nella console Firebase

Puoi esaminare ed eliminare il feedback degli utenti, inclusi gli screenshot, aprendo la scheda Feedback dei tester in una release specifica nella Firebase console. Il feedback degli utenti è organizzato per release, in modo che tu possa confermare la versione a cui si applica il feedback.

Dopo aver esaminato il feedback degli utenti, puoi eliminarlo facendo clic sul pulsante Elimina feedback. Il feedback eliminato viene rimosso dalla release.

Ricevi avvisi via email per i nuovi feedback

Per conoscere in modo proattivo i nuovi feedback dei tester, puoi ricevere avvisi via email quando un tester invia feedback. L'avviso via email include il feedback scritto fornito dal tester e un link a eventuali screenshot inviati.

Per ricevere avvisi via email App Distribution tramite questo meccanismo predefinito, devi disporre dell'autorizzazione firebase.projects.update. I seguenti ruoli includono questa autorizzazione richiesta per impostazione predefinita: amministratore Firebase o proprietario del progetto o editor.

Per impostazione predefinita, ogni membro del progetto che dispone delle autorizzazioni richieste per ricevere avvisi via email riceverà un'email quando viene inviato un nuovo report di feedback. I membri del progetto possono disattivare individualmente questi avvisi.

Per disattivare gli avvisi via email, consulta Ricevere avvisi di Firebase.

Invia nuovi feedback a strumenti di terze parti

Puoi anche inviare avvisi App Distribution al canale di notifica preferito del tuo team utilizzando Cloud Functions for Firebase. Ad esempio, puoi scrivere una funzione che acquisisce un evento di avviso per i nuovi feedback in-app e pubblica le informazioni di avviso su un servizio di terze parti come Discord, Slack o Jira.

Per configurare le funzionalità di avviso avanzate utilizzando Cloud Functions for Firebase, segui questi passaggi:

  1. Configura Cloud Functions for Firebase, che include le seguenti attività:

    1. Scarica Node.js e npm.

    2. Installa ed esegui l'accesso all'interfaccia a riga di comando Firebase.

    3. Inizializza Cloud Functions for Firebase utilizzando l'interfaccia a riga di comando Firebase.

  2. Scrivi ed esegui il deployment di una funzione che acquisisce un evento di avviso di feedback in-app da App Distribution e gestisce il payload dell'evento (ad esempio, pubblica le informazioni di avviso in un messaggio su Discord).

Per vedere una funzione di esempio che mostra come inviare nuovi feedback a Jira, consulta questo esempio.

Per scoprire tutti gli eventi di avviso che puoi acquisire, consulta la documentazione di riferimento per gli avvisi App Distribution.