1. Introduzione
In questo codelab imparerai come creare un esperimento Remote Config utilizzando il test A/B per il gioco di esempio, MechaHamster: Level Up with Firebase edition , che hai modificato in Strumenti il tuo gioco con Firebase Remote Config .
Il test A/B con Remote Config ti consente di testare le modifiche all'interfaccia utente, alle funzionalità o alle campagne di coinvolgimento della tua app su un pubblico mirato prima di distribuirle a un pubblico più ampio. Puoi anche utilizzare i risultati dell'esperimento per:
- Determina quali varianti del valore del parametro migliorano parametri chiave come entrate e fidelizzazione.
- Scopri quali sottogruppi di utenti preferiscono quali varianti.
- Raccogli e archivia i dati dell'esperimento per eseguire ulteriori analisi sugli effetti dell'impostazione di valori di parametri diversi.
Questa è l'essenza del test A/B: ti consente di prendere codice strumentato per Remote Config e avviare esperimenti che controllano i valori ricevuti dai clienti, in base alle condizioni di Remote Config (comprese le proprietà utente di Google Analytics), implementazioni percentuali, eventi di conversione di Analytics, e una combinazione di questi.
Innanzitutto, implementerai una condizione che determina chi verrà incluso nell'esperimento impostando le proprietà utente in base alle azioni dell'utente. Successivamente, creerai un esperimento di test A/B che utilizza le proprietà utente di Google Analytics per determinare quali clienti sono inclusi nell'esperimento. E, infine, utilizzerai questi dati per capire di più sul tuo pubblico.
Cosa imparerai
- Come impostare il test A/B utilizzando i valori di Remote Config strumentati
- Come utilizzare le proprietà utente di Google Analytics come parte delle condizioni per l'ammissione ai test A/B
Prerequisiti
- Hai completato il gioco con Firebase Remote Config
Di cosa avrai bisogno
- Unity 2019.1.0f1 o versione successiva con supporto build iOS e/o Android
2. Abilitazione del menu Debug
C'è un menu di debug nascosto nel progetto e il pulsante per accedere a questo menu esiste nel gioco ma non è attualmente abilitato. È necessario abilitare il pulsante per accedervi dal menu principale prefabbricato.
- Nell'editor Unity, seleziona la scheda Progetto , quindi in Assets , espandi Hamster > Prefabs > Menus e fai clic su MainMenu .
- Nella gerarchia prefabbricata, trova il sottooggetto disabilitato denominato DebugMenuButton e fai clic su di esso per aprirlo nella scheda Ispettore .
- Nella scheda Impostazioni , seleziona la casella nell'angolo in alto a sinistra accanto al campo di testo contenente DebugMenuButton per abilitarlo.
- Salva il prefabbricato.
Se esegui il gioco nell'editor o sul tuo dispositivo, il menu ora dovrebbe essere accessibile.
3. Abilitare il sottomenu Configurazione remota
- Dalla scheda Progetto nell'editor Unity, espandi Asset > Hamster > Prefabs > Menu e fai doppio clic sull'oggetto DebugMenu per aprirlo nella scheda Gerarchia dell'editor.
- Nella scheda Gerarchia , espandere la gerarchia e fare clic sul sottooggetto in DebugMenu > Panel , denominato Remote Config Actions .
- Nella scheda Unity Inspector , abilita Azioni di configurazione remota selezionando la casella a sinistra del campo di testo contenente il nome dell'oggetto.
Sono presenti due elementi figlio GameObject denominati Set Bored Of Subtitle e Set Enjoys Subtitle, entrambi configurati per chiamare metodi esistenti ma non implementati in DebugMenu.cs
.
4. Ripristina la sostituzione dei sottotitoli sull'impostazione predefinita in-app
Nel codelab precedente , hai sovrascritto il valore predefinito di un parametro come JSON e hai utilizzato le condizioni per servire varianti diverse. Nell'ambito di questo codelab, eliminerai la condizione che hai creato e reintrodurrai l'impostazione predefinita in-app, sovrascrivendola solo con il risultato del test A/B.
Per riattivare l'impostazione predefinita in-app:
- Apri la pagina Remote Config nella console Firebase e fai clic sull'icona della matita accanto al parametro
subtitle_override
per aprire il pannello laterale Modifica parametro . - Fare clic sull'icona X accanto alla condizione per eliminarla.
- Accanto al valore predefinito rimanente, attiva l'interruttore Utilizza impostazione predefinita in-app .
- Fare clic su Salva per salvare le modifiche, quindi fare clic su Pubblica modifiche per pubblicare le modifiche.
5. Impostare le proprietà utente nelle funzioni di debug
Ora scriverai i corpi delle funzioni per alcune funzioni di Google Analytics preconfigurate ma non implementate in DebugMenu.cs
(che puoi trovare in Asset > Hamster > Script > Stati).
Queste funzioni impostano le proprietà dell'utente , che sono modi per descrivere segmenti della tua base utenti e vengono utilizzate per registrare le sensazioni dell'utente riguardo ai sottotitoli del gioco.
Implementa SetUserBoredOfSubtitle
e SetUserEnjoysSubtitle
trovando le loro versioni esistenti in DebugMenu.cs
e sovrascrivendole come segue:
void SetUserBoredOfSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}
Se la tua app è configurata correttamente con Google Analytics, puoi chiamare una di queste funzioni per rendere la proprietà disponibile alle condizioni di Remote Config. Per chiamare SetUserBoredOfSubtitle
da un dispositivo mobile, avvia il gioco e premi il pulsante Menu Debug nel menu principale, quindi premi Set Bored of Subtitle .
6. Crea una dimensione personalizzata
Successivamente, imposterai varie varianti di sottotitoli per subtitle_override
per vedere quale sottotitolo funziona meglio. Ma, nel tuo test A/B, servirai queste varianti solo agli utenti i cui sentimenti riguardo al sottotitolo corrente (come registrato in subtitle_sentiment
) includono la parola "annoiato".
Utilizzerai una dimensione personalizzata per creare e monitorare parametri personalizzati sugli eventi Analytics. Per ulteriori informazioni, consulta Dimensioni e metriche personalizzate .
Per creare una nuova dimensione personalizzata:
- Apri la console Firebase , espandi il menu Analisi e seleziona Definizioni personalizzate.
- Nella pagina Definizioni personalizzate, fai clic su Crea dimensioni personalizzate .
- Nella finestra Nuova dimensione personalizzata , imposta il nome della dimensione su "Sentimento sottotitoli" e, dal menu a discesa Ambito , seleziona Utente .
- Per il campo Proprietà utente , seleziona
subtitle_sentiment.
7. Configura l'esperimento A/B Testing
Successivamente, crea un esperimento di test A/B per impostare valori diversi per subtitle_override
da testare l'uno rispetto all'altro al fine di ottimizzare la fidelizzazione degli utenti per due o tre giorni.
- Innanzitutto, seleziona Modifica sul parametro
subtitle_override
nella pagina Configurazione remota della console Firebase:
- Dalla finestra di dialogo Modifica parametro visualizzata, fare clic su Aggiungi nuovo .
- Dall'elenco visualizzato, seleziona Esperimento .
- Inserisci un nome e una descrizione per il tuo esperimento.
- Successivamente, scegli le condizioni di targeting. Innanzitutto, seleziona la tua app dal menu a discesa.
- Successivamente, fai clic su E per aggiungere una nuova condizione, quindi seleziona Proprietà utente e scegli
subtitle_sentiment
. Se non appare, inseriscilo manualmente. - Poiché desideri impostare un sottotitolo solo per coloro la cui opinione corrente sui sottotitoli include "annoiato", scegli contiene e digita
bored
. - Facoltativamente, scegli quale percentuale del pubblico che corrisponde ai criteri di cui sopra esporre al test. Seleziona 100% per evitare casualità che non puoi controllare facilmente.
- Successivamente, seleziona un obiettivo per il quale il test tenterà di massimizzare. Scegli Conservazione (2-3 giorni) .
- Successivamente, imposta i parametri dell'esperimento e crea diverse varianti di sottotitoli . Queste varianti sono i diversi valori che il test A/B offrirà agli utenti il cui
subtitle_sentiment
contiene "annoiato" e il test A/B determinerà quale variante è la migliore per massimizzare la fidelizzazione. - Immettere il seguente valore del parametro per la variante A:
{"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
- Immettere il seguente valore del parametro per la variante B:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- Imposta i rapporti delle varianti con numeri interi come segue:
- Base : 1
- Variante A : 100
- Variante B : 100
- Salva e invia facendo clic su Avvia esperimento , quindi su Avvia nel popup di conferma.
8. Eseguire il metodo Imposta proprietà utente e aggiornare
Ora hai impostato varie proprietà sull'utente, che possono quindi essere utilizzate per dirigere la logica o la presentazione del tuo gioco.
Se non hai eseguito in precedenza il metodo SetUserProperty
o non lo hai impostato su enjoys
, dovresti comunque vedere il sottotitolo predefinito all'apertura del gioco.
Se lo hai impostato su bored
(prima di recuperare), dovresti vedere uno dei nuovi valori in un rapporto di circa 50/50.
Una volta che un dispositivo ha partecipato a un esperimento di test A/B, i valori che riceve da tale esperimento non cambieranno e saranno persistenti per ogni installazione . Di conseguenza, per ricevere uno degli altri valori sperimentali, è necessario creare una nuova installazione reinstallando il gioco sullo stesso dispositivo/simulatore o installando il gioco su un nuovo dispositivo/simulatore.
In un vero test A/B lanciato sulla tua base utenti, dovresti dare alla linea di base un peso simile a quello delle altre varianti. Ma in questo caso, assegni probabilità molto distorte per verificare che l’esperimento stia funzionando. Se (nel caso 1/201) ricevi ancora il valore predefinito, prova a reinstallare il gioco sul tuo dispositivo/simulatore.
Un altro effetto di ciò è che riportare la proprietà utente su enjoys
non riporterà il valore alla linea di base ma, ancora una volta, puoi farlo passando a enjoys
e reinstallando.
9. Congratulazioni!
Hai utilizzato il test A/B di Remote Config per sperimentare diversi valori di Remote Config e determinare in che modo ciascuno di essi influisce sulle metriche di Analytics.
Di cosa abbiamo parlato
- Come impostare il test A/B utilizzando i valori di Remote Config strumentati
- Come utilizzare le proprietà utente di Google Analytics come parte delle condizioni per l'ammissione agli esperimenti di A/B Testing
Prossimi passi
Una volta terminato l'esperimento, puoi selezionarne uno dall'elenco degli esperimenti nel tuo progetto per decidere cosa vuoi farne. Vuoi sceglierne uno come "vincitore" o condurre più esperimenti?