1. Einführung
In diesem Codelab erfahren Sie, wie Sie mit A/B-Tests einen Remote Config-Test für das Beispielspiel MechaHamster: Level Up with Firebase edition erstellen, das Sie im Artikel Ihr Spiel mit Firebase Remote Config analysieren modifiziert haben.
Mit A/B-Tests mit Remote Config können Sie Änderungen an der Benutzeroberfläche, den Funktionen oder den Interaktionen Ihrer App an einer Zielgruppe testen, bevor Sie sie für eine größere Zielgruppe einführen. Sie können die Testergebnisse auch für Folgendes verwenden:
- Ermitteln Sie, mit welchen Parameterwertvarianten wichtige Messwerte wie Umsatz und Kundenbindung verbessert werden.
- Finden Sie heraus, welche Varianten von welchen Untergruppen von Nutzern bevorzugt werden.
- Experimentdaten erfassen und speichern, um zusätzliche Analysen zu den Auswirkungen der Festlegung verschiedener Parameterwerte durchzuführen
Das ist der Kern von A/B-Tests: Sie können Code, der für Remote Config instrumentiert ist, verwenden und Tests starten, mit denen die Werte gesteuert werden, die an die Kunden gesendet werden. Dabei werden Remote Config-Bedingungen (einschließlich Google Analytics-Nutzereigenschaften), prozentuale Roll-outs, Analytics-Conversion-Ereignisse und eine Kombination dieser verwendet.
Zuerst implementieren Sie eine Bedingung, die festlegt, wer am Test teilnehmen soll. Dazu legen Sie Nutzereigenschaften basierend auf Nutzeraktionen fest. Anschließend erstellen Sie einen A/B-Test, bei dem anhand von Google Analytics-Nutzereigenschaften festgelegt wird, welche Kunden in den Test eingeschlossen werden. Und schließlich nutzen Sie diese Daten, um mehr über Ihre Zielgruppe zu erfahren.
Lerninhalte
- A/B Testing mit instrumentierten Remote Config-Werten einrichten
- Google Analytics-Nutzereigenschaften als Teil der Bedingungen für die Zulassung zu A/B-Tests verwenden
Vorbereitung
Voraussetzungen
- Unity 2019.1.0f1 oder höher mit iOS- und/oder Android-Build-Unterstützung
2. Menü zur Fehlerbehebung aktivieren
Im Projekt ist ein ausgeblendetes Debug-Menü vorhanden. Die Schaltfläche zum Aufrufen dieses Menüs ist im Spiel vorhanden, aber derzeit nicht aktiviert. Sie müssen die Schaltfläche aktivieren, um über die Hauptmenü-Einstellungen darauf zuzugreifen.
- Wählen Sie im Unity-Editor den Tab Project aus und maximieren Sie unter Assets die Option Hamster. Prefabs > Menüs und klicken Sie auf Hauptmenü.
- Klicken Sie in der Prefab-Hierarchie auf das deaktivierte Unterobjekt DebugMenuButton, um es auf dem Tab Inspector zu öffnen.
- Klicken Sie auf dem Tab Inspector links oben neben dem Textfeld mit DebugMenuButton auf das Kästchen, um die Funktion zu aktivieren.
- Speichern Sie das Prefab.
Wenn Sie das Spiel entweder im Editor oder auf Ihrem Gerät ausführen, sollte jetzt das Menü verfügbar sein.
3. Untermenü „Remote Config“ aktivieren
- Maximieren Sie im Unity-Editor auf dem Tab Project (Projekt) die Elemente Assets > Hamster > Prefabs > Menus und doppelklicken Sie auf das Objekt DebugMenu, um es im Editor auf dem Tab Hierarchy (Hierarchie) zu öffnen.
- Maximieren Sie auf dem Tab Hierarchie die Hierarchie und klicken Sie auf das Unterobjekt unter DebugMenu > Bereich mit der Bezeichnung Remote Config Actions (Remote Config-Aktionen).
- Aktivieren Sie auf dem Tab Inspector die Option Remote Config Actions (Remote-Konfigurationsaktionen), indem Sie das Kästchen links neben dem Textfeld mit dem Namen des Objekts anklicken.
Es hat zwei untergeordnete GameObjects mit den Namen „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. Untertitelüberschreibung auf In-App-Standardeinstellung zurücksetzen
Im vorherigen Codelab haben Sie den Standardwert eines Parameters als JSON überschrieben und Bedingungen verwendet, um verschiedene Varianten zu präsentieren. Im Rahmen dieses Codelabs löschen Sie die von Ihnen erstellte Bedingung und führen wieder den In-App-Standard ein. Dieser wird dann nur mit dem Ergebnis von A/B Testing überschrieben.
So aktivieren Sie den In-App-Standardwert wieder:
- Öffnen Sie die Seite „Remote Config“ in der Firebase Console und klicken Sie auf das Stiftsymbol neben dem Parameter
subtitle_override
, um die Seitenleiste Parameter bearbeiten zu öffnen. - Klicken Sie auf das Symbol X neben der Bedingung, um sie zu löschen.
- Aktivieren Sie neben dem verbleibenden Standardwert die Ein/Aus-Schaltfläche In-App-Standardwert verwenden.
- Klicken Sie auf Speichern, um die Änderungen zu speichern, und dann auf Änderungen veröffentlichen.
5. Nutzereigenschaften in Fehlerbehebungsfunktionen festlegen
Schreiben Sie jetzt Funktionskörper für einige vorkonfigurierte, aber noch nicht implementierte Google Analytics-Funktionen in DebugMenu.cs
(zu finden unter „Assets“ > „Hamster“ > „Scripts“ > „States“).
Mit diesen Funktionen werden Nutzereigenschaften festgelegt, mit denen sich Segmente Ihrer Nutzer beschreiben lassen und mit denen erfasst wird, was der Nutzer über den Untertitel des Spiels hält.
Implementiere SetUserBoredOfSubtitle
und SetUserEnjoysSubtitle
, indem du die vorhandenen Versionen in DebugMenu.cs
suchst und sie so überschreibst:
void SetUserBoredOfSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}
Wenn Ihre App richtig mit Google Analytics konfiguriert wurde, können Sie eine dieser Funktionen aufrufen, um die Property für Remote Config-Bedingungen verfügbar zu machen. Wenn du SetUserBoredOfSubtitle
von einem Mobilgerät aus aufrufen möchtest, starte das Spiel und drücke im Hauptmenü auf die Schaltfläche Debug-Menü und dann auf Set Bored of Subtitle.
6. Benutzerdefinierte Dimension erstellen
Als Nächstes richten Sie verschiedene Untertitelvarianten für die subtitle_override
ein, um herauszufinden, welche Untertitel am besten funktionieren. In Ihrem A/B-Test werden diese Varianten jedoch nur Nutzern präsentiert, deren Meinung zum aktuellen Untertitel (wie in subtitle_sentiment
erfasst) das Wort „langweilig“ enthält.
Mit einer benutzerdefinierten Dimension können Sie benutzerdefinierte Parameter für Analytics-Ereignisse erstellen und erfassen. Weitere Informationen finden Sie unter Benutzerdefinierte Dimensionen und Messwerte.
So erstellen Sie eine neue benutzerdefinierte Dimension:
- Öffnen Sie die Firebase Console, maximieren Sie das Menü Analytics 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 Namen der Dimension auf „Stimmung der Untertitel“ fest. und wählen Sie im Drop-down-Menü Umfang die Option Nutzer aus.
- Wählen Sie für das Feld Nutzereigenschaft die Option
subtitle_sentiment.
aus.
7. A/B-Test einrichten
Erstellen Sie als Nächstes einen A/B-Test, um verschiedene Werte für subtitle_override
festzulegen, die miteinander verglichen werden sollen, um die Nutzerbindung nach zwei bis drei Tagen zu optimieren.
- Wählen Sie zuerst auf der Remote Config-Seite der Firebase Console für den Parameter
subtitle_override
die Option Bearbeiten aus:
- Klicken Sie im angezeigten Dialogfeld Parameter bearbeiten auf Neu hinzufügen.
- Wählen Sie in der Liste Test aus.
- Geben Sie einen Namen und eine Beschreibung für den Test ein.
- Wählen Sie als Nächstes die Targeting-Bedingungen aus. Wählen Sie zuerst Ihre App aus dem Drop-down-Menü aus.
- Klicken Sie dann auf Und, um eine neue Bedingung hinzuzufügen. Wählen Sie dann Nutzereigenschaft und dann
subtitle_sentiment
aus. Wenn er nicht angezeigt wird, geben Sie ihn manuell ein. - Da Sie nur einen Untertitel für Nutzer festlegen möchten, deren aktueller Untertitel-Sentiment-Wert „langweilig“ enthält, wählen Sie enthält aus und geben Sie
bored
ein. - Optional können Sie festlegen, welcher Prozentsatz der Zielgruppe, die den oben genannten Kriterien entspricht, am Test teilnehmen soll. Wählen Sie 100 % aus, um Zufälligkeiten zu vermeiden, die sich nicht leicht kontrollieren lassen.
- Wählen Sie als Nächstes ein Ziel aus, das im Test maximiert werden soll. Wählen Sie Bindung (2–3 Tage) aus.
- Richten Sie als Nächstes die Testparameter ein und erstellen Sie verschiedene Untertitelvarianten . Diese Varianten sind die verschiedenen Werte, die Nutzern präsentiert werden, deren
subtitle_sentiment
„gelangweilt“ enthält. Anhand der A/B-Tests wird ermittelt, mit welcher Variante die Bindung am besten maximiert werden kann. - Geben Sie für Variante A den folgenden Parameterwert 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 für Variante B den folgenden Parameterwert ein:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- Legen Sie die Variantenverhältnisse mit ganzen Zahlen so fest:
- Baseline: 1
- Variante A: 100
- Variante B: 100
Diese Varianten geben an, dass A/B Testing denjenigen, die sich die Untertitel langweilen, als Standard verwendet wird. 200/201 Mal wird einer von zwei neuen Werten eingeblendet und der Titelbildschirm überschrieben.
- Speichern und senden Sie den Test, indem Sie auf Test starten und dann im Bestätigungs-Pop-up auf Starten klicken.
8. Methode „Set User Property“ ausführen und aktualisieren
Sie haben jetzt verschiedene Eigenschaften des Nutzers festgelegt, die dann zur Steuerung der Logik oder Präsentation Ihres Spiels verwendet werden können.
Wenn du die Methode SetUserProperty
noch nicht ausgeführt oder auf enjoys
festgelegt hast, sollte beim Öffnen des Spiels weiterhin der Standard-Untertitel angezeigt werden.
Wenn Sie den Wert vor dem erneuten Abrufen auf bored
festgelegt haben, sollte einer der neuen Werte in einem Verhältnis von etwa 50:50 angezeigt werden.
Sobald ein Gerät an einem A/B-Test teilnimmt, ändern sich die Werte, die es aus diesem Test erhält, nicht und sind pro Installation dauerhaft. Um einen der anderen experimentellen Werte zu erhalten, müssen Sie daher eine Neuinstallation erstellen, indem Sie das Spiel entweder auf demselben Gerät bzw. demselben Simulator neu installieren oder das Spiel auf einem neuen Gerät oder Simulator installieren.
Bei einem echten A/B-Test, der für alle Nutzer durchgeführt wird, sollten Sie der Baseline eine ähnliche Gewichtung geben wie die anderen Varianten. Aber in diesem Fall weisen Sie sehr verzerrte Wahrscheinlichkeiten zu, um zu bestätigen, dass der Test funktioniert. Wenn im Fall 1/201 immer noch der Standardwert angezeigt wird, kannst du versuchen, das Spiel auf deinem Gerät bzw. deinem Simulator neu zu installieren.
Ein weiterer Effekt ist, dass der Wert durch das Zurückkehren der Nutzereigenschaft zu enjoys
nicht zurück auf die Baseline geändert wird. Sie können dies jedoch tun, indem Sie zu enjoys
wechseln und die App neu installieren.
9. Glückwunsch!
Sie haben Remote Config A/B Testing verwendet, um mit verschiedenen Remote Config-Werten zu experimentieren und zu ermitteln, wie sich die einzelnen Werte auf Analytics-Messwerte auswirken.
Behandelte Themen
- A/B-Tests mit instrumentierten Remote Config-Werten einrichten
- Google Analytics-Nutzereigenschaften als Teil der Teilnahmevoraussetzungen für A/B-Tests verwenden
Nächste Schritte
Nach Abschluss des Tests können Sie einen Test aus der Liste der Tests in Ihrem Projekt auswählen und entscheiden, was Sie damit tun möchten. Möchtest du eine Person als "Gewinner" festlegen? oder weitere Tests durchführen?