Raccogli feedback dai tester

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

Prima di iniziare

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

Passaggio 1: abilita l'API App Distribution Tester

  1. Apri Google Cloud Console e seleziona il tuo progetto Firebase.

  2. Nell'API Firebase App Testers, fai clic su Abilita .

Passaggio 2: aggiungi App Distribution alla tua app

L'SDK Android di App Distribution è costituito 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 (opzionale).

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

  1. Dichiara la dipendenza per l'SDK Android di 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 della build, inclusi i tipi di build o le versioni del prodotto che distribuirai tramite App Distribution.

  3. Dichiara la dipendenza per l'SDK Android di 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-rilascio:

    Kotlin+KTX

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

    Java

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

Passaggio 3: configura il feedback in-app

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

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

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

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

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

  2. Esegue controlli per garantire che il tester abbia abilitato le funzionalità di test dell'SDK. Se le funzionalità di test non sono abilitate, Android SDK richiede al tester di accedere ad App Distribution con il proprio 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 visualizzare una notifica persistente o in corso sul dispositivo del tester che può toccare per avviare il feedback. Quando si configura la notifica, è necessario fornire del testo che verrà visualizzato dal tester prima che invii il feedback e un livello di interruzione per la notifica (corrispondente all'importanza del canale di notifica). Se desideri fornire un avviso ai tuoi tester in merito alla raccolta e all'elaborazione dei loro dati di feedback, puoi utilizzare il testo per fornire tale avviso.

Quando usi showFeedbackNotification() e quando l'app passa in background, la notifica è nascosta. Se vuoi nascondere esplicitamente la notifica, usa cancelFeedbackNotification() . Ti consigliamo di inserire showFeedbackNotification() nell'attività principale onCreate() .

Kotlin+KTX

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 voler aggiungere una voce di menu "Invia feedback" al menu delle azioni della tua app oppure consentire ai tester di scuotere il dispositivo o acquisire uno screenshot . Quando attivi il feedback, fornisci del testo che verrà mostrato al tester prima che invii il feedback. Se desideri fornire un avviso ai tuoi tester sulla raccolta e l'elaborazione dei loro dati di feedback, puoi utilizzare questo testo per fornire tale avviso.

Kotlin+KTX

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

Java

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

Passaggio 4: crea e testa la tua implementazione

Test locale

Per testare la tua implementazione senza dover prima distribuire l'app, procedi nel seguente modo:

  1. Abilita la modalità dev sul tuo dispositivo locale:

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

  3. Dopo il test, puoi disabilitare la modalità dev sul tuo dispositivo:

    adb shell setprop debug.firebase.appdistro.devmode false
    

Test end-to-end

Per verificare che la tua app possa inviare feedback, crea la tua app come variante pre-release che includa le librerie complete di App Distribution e testa la tua implementazione seguendo questi passaggi:

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

  2. Distribuisci la versione dell'app a un account a cui sei autorizzato ad accedere.

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

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

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

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

Per informazioni su come risolvere problemi comuni, come l'impossibilità per i tester di avviare il feedback nell'app, vedere Abilitazione delle funzionalità di test con l'SDK .

Passaggio 5: gestisci il feedback dei tester

Dopo aver abilitato i tuoi tester a inviare feedback, puoi utilizzare i seguenti strumenti per rivedere e agire in base a tale feedback:

Visualizza ed elimina il feedback nella console Firebase

Puoi esaminare ed eliminare il feedback degli utenti, inclusi gli screenshot, aprendo la scheda Feedback del tester in una versione specifica nella console Firebase. Il feedback degli utenti è organizzato per versione in modo da poter 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 tua release.

Ricevi avvisi e-mail per nuovi feedback

Per conoscere in modo proattivo il feedback dei nuovi tester, puoi ricevere avvisi via email quando un tester invia un feedback. L'avviso e-mail include il feedback scritto fornito dal tester e un collegamento a tutti gli screenshot inviati.

Per ricevere avvisi e-mail di App Distribution tramite questo meccanismo predefinito, devi disporre dell'autorizzazione firebase.projects.update . I seguenti ruoli includono questa autorizzazione obbligatoria per impostazione predefinita: Firebase Admin o project Owner o Editor .

Per impostazione predefinita, ogni membro del progetto che dispone delle autorizzazioni necessarie per ricevere avvisi e-mail riceverà un'e-mail quando viene inviato un nuovo rapporto di feedback. I membri del progetto possono scegliere individualmente di non ricevere questi avvisi.

Per disabilitare gli avvisi e-mail, consulta Ricevi avvisi Firebase .

Invia nuovo feedback a strumenti di terze parti

Puoi anche inviare avvisi di App Distribution al canale di notifica preferito del tuo team utilizzando Cloud Functions per Firebase. Ad esempio, puoi scrivere una funzione che acquisisca un evento di avviso per il nuovo feedback in-app e pubblichi le informazioni sull'avviso a un servizio di terze parti come Discord, Slack o Jira.

Per configurare funzionalità di avviso avanzate utilizzando Cloud Functions per Firebase, procedi nel seguente modo:

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

    1. Scarica Node.js e npm.

    2. Installa e accedi all'interfaccia a riga di comando di Firebase.

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

  2. Scrivi e distribuisci una funzione che acquisisca un evento di avviso di feedback in-app da App Distribution e gestisca il payload dell'evento (ad esempio, pubblica le informazioni sull'avviso in un messaggio su Discord).

Per vedere una funzione di esempio che mostra come inviare un nuovo feedback a Jira, fai riferimento a questo esempio .

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