Questa guida descrive come attivare i feedback in-app utilizzando l'SDK Android facoltativoFirebase App Distribution, in modo che i tester possano inviare feedback (inclusi gli screenshot) direttamente nell'app.
Prima di iniziare
Se non lo hai già fatto, aggiungi Firebase al tuo progetto Android.
Passaggio 1: attiva l'API App Distribution Tester
Apri la console Google Cloud e seleziona il tuo progetto Firebase.
In API Firebase App Testers, fai clic su Abilita.
Passaggio 2: aggiungi App Distribution alla tua app
L'SDK Android App Distribution è costituito da due librerie:
firebase-appdistribution-api
: la libreria solo API, che puoi includere in tutte le varianti di compilazione.firebase-appdistribution
: l'implementazione completa dell'SDK (facoltativo).
La libreria solo API consente al codice di effettuare chiamate all'SDK. Le chiamate non hanno alcun effetto se non è presente l'implementazione completa dell'SDK.
Dichiara la dipendenza per l'SDK Android App Distribution nel file Gradle (a livello di app) (di solito
<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
).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 flavor del prodotto che distribuirai tramite App Distribution.
Dichiara la dipendenza per l'SDK Android App Distribution nel file Gradle del modulo (a livello di app) (di solito
app/build.gradle
). Aggiungi solo l'implementazione completa dell'SDK alle varianti destinate esclusivamente ai test pre-release:Kotlin+KTX
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta14") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta14") }
Java
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta14") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta14") }
Passaggio 3: configura il feedback in-app
Per raccogliere i feedback dei tester, utilizza uno dei seguenti attivatori per consentire ai tester di avviare il feedback:
Attivazione di notifica integrata: l'SDK Android App Distribution può mostrare una notifica continua che il tester può toccare da qualsiasi punto dell'app. Utilizza questo attivatore se vuoi iniziare più rapidamente e non devi personalizzare il modo in cui i tester forniscono feedback.
Attivazione personalizzata: puoi fornire il tuo meccanismo di attivazione, ad esempio toccando un pulsante o un elemento del menu nell'app o scuotendo il dispositivo.
Quando utilizzi uno di questi attivatori e il tester invia un feedback, l'SDK Android esegue le seguenti azioni:
Acquisisce uno screenshot dell'attività corrente dell'app.
Esegue controlli per verificare 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 proprio Account Google.
Avvia un'attività a schermo intero che consente al tester di scrivere e inviare il suo feedback.
Opzione 1: attivazione della notifica
Utilizza showFeedbackNotification()
per visualizzare una notifica persistente o
continua
sul dispositivo del tester che può toccare per avviare il feedback.
Quando configuri la notifica, devi fornire del testo che verrà visualizzato al tester prima che invii il feedback e un livello di interruzione per la notifica (corrispondente all'importanza del canale di notifica). Se vuoi informare i tuoi tester sulla raccolta e sull'elaborazione dei loro dati di feedback, puoi utilizzare il testo per fornire una notifica di questo tipo.
Quando usi showFeedbackNotification()
e quando l'app passa in background, la notifica viene nascosta. Se vuoi nascondere esplicitamente la notifica, utilizza cancelFeedbackNotification()
. Ti consigliamo di inserire showFeedbackNotification()
in onCreate()
della tua attività principale.
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 di tua scelta. Ad esempio, per attivare i feedback, ti consigliamo di aggiungere un elemento di menu "Invia feedback" al menu di azioni dell'app o di consentire ai tester di scuotere il dispositivo o di acquisire uno screenshot.
Quando attivi il feedback, fornisci del testo che verrà mostrato al tester prima che invii il feedback. Se vuoi fornire ai tuoi tester una notifica relativa alla raccolta e all'elaborazione dei dati dei loro feedback, puoi utilizzare questo testo.
Kotlin+KTX
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:
Attiva la modalità sviluppatore sul tuo dispositivo locale:
adb shell setprop debug.firebase.appdistro.devmode true
Crea la tua app come variante di pre-release che includa le librerie App Distribution complete e verifica di poter attivare i feedback utilizzando il meccanismo implementato nel passaggio 3: configura i feedback in-app. Il feedback non viene inviato in modalità sviluppatore.
Dopo il test, puoi disattivare la modalità sviluppatore sul tuo dispositivo:
adb shell setprop debug.firebase.appdistro.devmode false
Test end-to-end
Per verificare che la tua app possa inviare feedback, compilala come variante pre-release che includa le librerie App Distribution complete e testa l'implementazione seguendo questi passaggi:
Carica una nuova release dell'app su App Distribution.
Distribuisci la release dell'app a un account a cui hai l'autorizzazione di accesso.
Scarica l'app tramite l'app web o per tester Android di App Distribution.
Attiva il feedback utilizzando il meccanismo implementato nel passaggio 3: Configura il feedback in-app.
Assicurati di aver eseguito l'accesso con lo stesso account a cui hai distribuito la release dell'app e invia il feedback.
Visualizza il tuo feedback nella scheda della nuova release nella console Firebase.
Per scoprire come risolvere i problemi comuni, ad esempio l'impossibilità per i tester di 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 esaminarli e intervenire di conseguenza:
Visualizzare ed eliminare i feedback nella console Firebase
Puoi esaminare ed eliminare i feedback degli utenti, inclusi gli screenshot, aprendo la scheda Feedback dei tester in una release specifica nella console Firebase. I feedback degli utenti sono organizzati per release, in modo da poter confermare la versione a cui si applicano.
Dopo aver esaminato il feedback degli utenti, puoi eliminarlo facendo clic sul pulsante Elimina feedback. Il feedback eliminato viene rimosso dalla release.
Ricevere avvisi via email per i nuovi feedback
Per conoscere in modo proattivo i nuovi feedback dei tester, puoi ricevere email di avviso quando un tester invia un feedback. L'avviso via email include il feedback scritto fornito dal tester e un link agli screenshot inviati.
Per ricevere avvisi via email di App Distribution tramite questo meccanismo predefinito, devi disporre dell'autorizzazione firebase.projects.update
. I seguenti ruoli includono questa
autorizzazione obbligatoria per impostazione predefinita: Amministratore Firebase
o Proprietario o Editor del progetto.
Per impostazione predefinita, ogni membro del progetto che dispone delle autorizzazioni necessarie per ricevere avvisi via email riceverà un'email quando viene inviato un nuovo report di feedback. I membri del progetto possono disattivare singolarmente questi avvisi.
Per disattivare gli avvisi via email, consulta Ricevere avvisi di Firebase.
Inviare 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 acquisisca un evento di avviso per il nuovo feedback in-app e pubblichi le informazioni sull'avviso in un servizio di terze parti come Discord, Slack o Jira.
Per configurare funzionalità di avviso avanzate utilizzando Cloud Functions for Firebase:
Configura Cloud Functions for Firebase, che include le seguenti attività:
Scarica Node.js e npm.
Installa e accedi all'interfaccia a riga di comando Firebase.
Inizializza Cloud Functions for Firebase utilizzando l'interfaccia a riga di comando Firebase.
Scrivere ed eseguire il deployment di 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, consulta questo esempio.
Per informazioni su tutti gli eventi di avviso che puoi acquisire, consulta la documentazione di riferimento per gli avvisi App Distribution.