1. Einleitung
In diesem Codelab erfahren Sie, wie Sie mithilfe von A/B-Tests ein Remote Config-Experiment für das Beispielspiel MechaHamster: Level Up with Firebase Edition erstellen, das Sie in Instrumentieren Sie Ihr Spiel mit Firebase Remote Config geändert haben.
Mit A/B-Tests mit Remote Config können Sie Änderungen an der Benutzeroberfläche, Funktionen oder Engagement-Kampagnen Ihrer App an einer Zielgruppe testen, bevor Sie sie einer breiteren Zielgruppe zugänglich machen. Sie können Experimentergebnisse auch verwenden, um:
- Ermitteln Sie, welche Parameterwertvarianten wichtige Kennzahlen wie Umsatz und Kundenbindung verbessern.
- Entdecken Sie, welche Untergruppen von Benutzern welche Varianten bevorzugen.
- Sammeln und speichern Sie Versuchsdaten, um zusätzliche Analysen zu den Auswirkungen der Einstellung verschiedener Parameterwerte durchzuführen.
Das ist die Essenz des A/B-Testings: Es ermöglicht Ihnen, für Remote Config instrumentierten Code zu verwenden und Experimente zu starten, die die Werte steuern, die Kunden erhalten, basierend auf Remote Config-Bedingungen (einschließlich Google Analytics-Benutzereigenschaften), prozentualen Rollouts, Analytics-Konvertierungsereignissen usw. und eine Kombination davon.
Zunächst implementieren Sie eine Bedingung, die festlegt, wer in das Experiment einbezogen wird, indem Sie Benutzereigenschaften basierend auf Benutzeraktionen festlegen. Anschließend erstellen Sie ein A/B-Testexperiment, das mithilfe von Google Analytics-Benutzereigenschaften ermittelt, welche Kunden in das Experiment einbezogen werden. Und schließlich nutzen Sie diese Daten, um mehr über Ihre Zielgruppe zu erfahren.
Was Sie lernen werden
- So richten Sie A/B-Tests mithilfe instrumentierter Remote-Konfigurationswerte ein
- So verwenden Sie Google Analytics-Benutzereigenschaften als Teil der Bedingungen für die Zulassung zu A/B-Tests
Voraussetzungen
- Instrumentierung Ihres Spiels mit Firebase Remote Config abgeschlossen
Was du brauchen wirst
- Unity 2019.1.0f1 oder höher mit iOS- und/oder Android-Build-Unterstützung
2. Aktivieren des Debug-Menüs
Im Projekt ist ein Debug-Menü versteckt, und die Schaltfläche zum Zugriff auf dieses Menü ist im Spiel vorhanden, aber derzeit nicht aktiviert. Sie müssen die Schaltfläche aktivieren, um über das MainMenu-Fertigobjekt darauf zuzugreifen.
- Wählen Sie im Unity-Editor die Registerkarte „Projekt“ aus, erweitern Sie dann unter „Assets“ Hamster > Prefabs > Menüs und klicken Sie auf „MainMenu“ .
- Suchen Sie in der Fertighaushierarchie das deaktivierte Unterobjekt mit dem Namen DebugMenuButton und klicken Sie darauf, um es auf der Registerkarte „Inspektor“ zu öffnen.
- Aktivieren Sie auf der Registerkarte „Inspektor“ das Kontrollkästchen in der oberen linken Ecke neben dem Textfeld mit DebugMenuButton , um es zu aktivieren.
- Speichern Sie das Fertigteil.
Wenn Sie das Spiel entweder im Editor oder auf Ihrem Gerät ausführen, sollte das Menü jetzt zugänglich sein.
3. Aktivieren Sie das Untermenü Remote Config
- Erweitern Sie auf der Registerkarte „Projekt“ im Unity-Editor „ Assets “ > „Hamster “ > „Prefabs“ > „Menüs “ und doppelklicken Sie auf das DebugMenu- Objekt, um es auf der Registerkarte „Hierarchie“ des Editors zu öffnen.
- Erweitern Sie auf der Registerkarte „Hierarchie“ die Hierarchie und klicken Sie auf das Unterobjekt unter DebugMenu > Panel mit der Bezeichnung Remote Config Actions .
- Aktivieren Sie auf der Registerkarte „Unity Inspector“ Remote-Konfigurationsaktionen , indem Sie das Kontrollkästchen links neben dem Textfeld mit dem Namen des Objekts aktivieren.
Dies verfügt über zwei untergeordnete GameObject-Objekte namens „Set Bored Of Subtitle“ und „Set Enjoys Subtitle“, die beide so konfiguriert sind, dass sie vorhandene, aber nicht implementierte Methoden in DebugMenu.cs
aufrufen.
4. Setzen Sie die Untertitelüberschreibung auf die In-App-Standardeinstellung zurück
Im vorherigen Codelab haben Sie den Standardwert eines Parameters als JSON überschrieben und Bedingungen verwendet, um verschiedene Varianten bereitzustellen. Im Rahmen dieses Codelabs löschen Sie die von Ihnen erstellte Bedingung, führen die In-App-Standardeinstellung wieder ein und überschreiben sie nur mit dem Ergebnis des A/B-Tests.
So aktivieren Sie die In-App-Standardeinstellung wieder:
- Öffnen Sie die Seite „Remote-Konfiguration“ in der Firebase-Konsole und klicken Sie auf das Stiftsymbol neben dem Parameter
subtitle_override
, um den Seitenbereich „Parameter bearbeiten“ zu öffnen. - Klicken Sie auf das X -Symbol neben der Bedingung, um sie zu löschen.
- Aktivieren Sie neben dem verbleibenden Standardwert den Schalter „In-App-Standard verwenden“ .
- Klicken Sie auf „Speichern“ , um Ihre Änderungen zu speichern, und klicken Sie dann auf „Änderungen veröffentlichen“ , um Ihre Änderungen zu veröffentlichen.
5. Legen Sie Benutzereigenschaften in Debug-Funktionen fest
Sie schreiben nun Funktionskörper für einige vorkonfigurierte, aber nicht implementierte Google Analytics-Funktionen in DebugMenu.cs
(zu finden unter Assets > Hamster > Skripte > Zustände).
Diese Funktionen legen Benutzereigenschaften fest , mit denen Sie Segmente Ihrer Benutzerbasis beschreiben und die Meinung des Benutzers zum Untertitel des Spiels aufzeichnen können.
Implementieren Sie SetUserBoredOfSubtitle
und SetUserEnjoysSubtitle
, indem Sie die vorhandenen Versionen davon in DebugMenu.cs
suchen und sie wie folgt überschreiben:
void SetUserBoredOfSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}
Wenn Ihre App korrekt mit Google Analytics konfiguriert ist, können Sie eine dieser Funktionen aufrufen, um die Eigenschaft für die Bedingungen von Remote Config verfügbar zu machen. Um SetUserBoredOfSubtitle
von einem mobilen Gerät aus aufzurufen, starten Sie das Spiel und klicken Sie im Hauptmenü auf die Schaltfläche „Debug-Menü “ und dann auf „Set Bored of Subtitle“ .
6. Erstellen Sie eine benutzerdefinierte Dimension
Als Nächstes richten Sie verschiedene Untertitelvarianten für subtitle_override
ein, um zu sehen, welcher Untertitel am besten funktioniert. In Ihrem A/B-Test werden Sie diese Varianten jedoch nur Benutzern bereitstellen, deren Gefühle zum aktuellen Untertitel (wie in subtitle_sentiment
aufgezeichnet) das Wort „gelangweilt“ beinhalten.
Sie verwenden eine benutzerdefinierte Dimension, um benutzerdefinierte Parameter für Analytics-Ereignisse zu erstellen und zu verfolgen. Weitere Informationen finden Sie unter Benutzerdefinierte Dimensionen und Metriken .
So erstellen Sie eine neue benutzerdefinierte Dimension:
- Öffnen Sie die Firebase-Konsole , erweitern Sie das Analytics- Menü und wählen Sie Benutzerdefinierte Definitionen aus.
- Klicken Sie auf der Seite „Benutzerdefinierte Definitionen“ auf „Benutzerdefinierte Dimensionen erstellen“ .
- Legen Sie im Fenster „Neue benutzerdefinierte Dimension“ den Dimensionsnamen auf „Untertitelstimmung“ fest und wählen Sie im Dropdown-Menü „ Bereich “ die Option „Benutzer“ aus.
- Wählen Sie für das Feld „Benutzereigenschaft
subtitle_sentiment.
7. Richten Sie das A/B-Testexperiment ein
Erstellen Sie als Nächstes ein A/B-Testexperiment, um verschiedene Werte für subtitle_override
festzulegen, die miteinander verglichen werden, um die Benutzerbindung für zwei bis drei Tage zu optimieren.
- Wählen Sie zunächst „Bearbeiten“ für den Parameter
subtitle_override
auf der Seite „Remote-Konfiguration“ der Firebase-Konsole aus:
- Klicken Sie im angezeigten Dialogfeld „Parameter bearbeiten“ auf „Neu hinzufügen“ .
- Wählen Sie in der angezeigten Liste Experiment aus.
- Geben Sie einen Namen und eine Beschreibung für Ihr Experiment ein.
- Wählen Sie als Nächstes die Targeting-Bedingungen aus. Wählen Sie zunächst Ihre App aus dem Dropdown-Menü aus.
- Klicken Sie anschließend auf „Und“ , um eine neue Bedingung hinzuzufügen. Wählen Sie dann „Benutzereigenschaft“ und dann
subtitle_sentiment
aus. Wenn es nicht angezeigt wird, geben Sie es manuell ein. - Da Sie einen Untertitel nur für diejenigen festlegen möchten, deren aktuelle Untertitelstimmung „gelangweilt“ enthält, wählen Sie „ enthält “ und geben Sie „
bored
ein. - Wählen Sie optional aus, welcher Prozentsatz der Zielgruppe, der die oben genannten Kriterien erfüllt, dem Test ausgesetzt werden soll. Wählen Sie 100 % , um Zufälligkeiten zu vermeiden, die Sie nicht einfach kontrollieren können.
- Wählen Sie als Nächstes ein Ziel aus, das der Test maximieren möchte. Pick- Aufbewahrung (2-3 Tage) .
- Als nächstes richten Sie die Parameter des Experiments ein und erstellen verschiedene Untertitelvarianten. Bei diesen Varianten handelt es sich um die unterschiedlichen Werte, die A/B-Tests Benutzern bieten, deren
subtitle_sentiment
„gelangweilt“ enthält, und A/B-Tests ermitteln, welche Variante für die Maximierung der Bindung am besten geeignet ist. - Geben Sie den folgenden Parameterwert für Variante A ein:
{"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
- Geben Sie den folgenden Parameterwert für Variante B ein:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- Stellen Sie die Variantenverhältnisse mit ganzen Zahlen wie folgt ein:
- Grundlinie : 1
- Variante A : 100
- Variante B : 100
- Speichern und senden Sie es, indem Sie auf „Experiment starten“ klicken und dann im Bestätigungs-Popup auf „Starten“ klicken.
8. Führen Sie die Methode „Benutzereigenschaft festlegen“ aus und aktualisieren Sie sie
Sie haben nun verschiedene Eigenschaften für den Benutzer festgelegt, die dann zur Steuerung der Logik oder Präsentation Ihres Spiels verwendet werden können.
Wenn Sie die SetUserProperty
-Methode zuvor noch nicht ausgeführt oder auf enjoys
gesetzt haben, sollten Sie beim Öffnen des Spiels immer noch den Standarduntertitel sehen.
Wenn Sie es auf bored
eingestellt haben (vor dem erneuten Abrufen), sollten Sie einen der neuen Werte in einem Verhältnis von etwa 50/50 sehen.
Sobald ein Gerät an einem A/B-Test-Experiment teilnimmt, ändern sich die Werte, die es aus diesem Experiment erhält, nicht und bleiben für jede Installation bestehen . Um einen der anderen experimentellen Werte zu erhalten, müssen Sie daher eine neue Installation erstellen, indem Sie entweder das Spiel auf demselben Gerät/Simulator neu installieren oder das Spiel auf einem neuen Gerät/Simulator installieren.
In einem echten A/B-Test, der für Ihre gesamte Nutzerbasis durchgeführt wird, sollten Sie der Basislinie eine ähnliche Gewichtung wie den anderen Varianten geben. In diesem Fall weisen Sie jedoch sehr verzerrte Wahrscheinlichkeiten zu, um zu bestätigen, dass das Experiment funktioniert. Wenn Sie (im Fall von 1/201) immer noch den Standardwert erhalten, versuchen Sie, das Spiel auf Ihrem Gerät/Simulator neu zu installieren.
Ein weiterer Effekt davon besteht darin, dass das Zurücksetzen der Benutzereigenschaft auf „ enjoys
den Wert nicht auf den Grundwert zurücksetzt. Sie können dies jedoch auch dadurch erreichen, dass Sie auf enjoys
wechseln und eine Neuinstallation durchführen.
9. Herzlichen Glückwunsch!
Sie haben Remote Config A/B-Testing verwendet, um mit verschiedenen Remote Config-Werten zu experimentieren und zu bestimmen, wie sich jeder auf Analytics-Metriken auswirkt.
Was wir abgedeckt haben
- So richten Sie A/B-Tests mithilfe instrumentierter Remote-Konfigurationswerte ein
- So verwenden Sie Google Analytics-Benutzereigenschaften als Teil der Bedingungen für die Zulassung zu A/B-Test-Experimenten
Nächste Schritte
Sobald das Experiment beendet ist, können Sie eines aus der Liste der Experimente in Ihrem Projekt auswählen, um zu entscheiden, was Sie damit machen möchten. Möchten Sie eines zum „Gewinner“ küren oder weitere Experimente durchführen?