Implementieren Sie A/B-Tests für Ihr Unity-Spiel mit Firebase Remote Config

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

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.

  1. Wählen Sie im Unity-Editor die Registerkarte „Projekt“ aus, erweitern Sie dann unter „Assets“ Hamster > Prefabs > Menüs und klicken Sie auf „MainMenu“ .

The Unity editor Project tab showing\nAssets. Hamster, Prefabs, Menus

  1. Suchen Sie in der Fertighaushierarchie das deaktivierte Unterobjekt mit dem Namen DebugMenuButton und klicken Sie darauf, um es auf der Registerkarte „Inspektor“ zu öffnen.

The Unity editor shows the Main Menu,\nwith DebugMenu disabled

  1. Aktivieren Sie auf der Registerkarte „Inspektor“ das Kontrollkästchen in der oberen linken Ecke neben dem Textfeld mit DebugMenuButton , um es zu aktivieren.

The Inspector tab for DebugMenuButton\nwith checkbox

  1. 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

  1. 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.

    DebugMenu item nested under Assets,\nHamster, Prefabs, Menus
  2. Erweitern Sie auf der Registerkarte „Hierarchie“ die Hierarchie und klicken Sie auf das Unterobjekt unter DebugMenu > Panel mit der Bezeichnung Remote Config Actions .

Remote Config Actions nested under\nCanvas, DebugMenu

  1. Aktivieren Sie auf der Registerkarte „Unity Inspector“ Remote-Konfigurationsaktionen , indem Sie das Kontrollkästchen links neben dem Textfeld mit dem Namen des Objekts aktivieren.

Unity editor with Remote Config\nActions enabled under DebugMenu, Panel

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:

  1. Ö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.
  2. Klicken Sie auf das X -Symbol neben der Bedingung, um sie zu löschen.
  3. Aktivieren Sie neben dem verbleibenden Standardwert den Schalter „In-App-Standard verwenden“ .

Deleting a condition from the Remote\nConfig parameter editor

  1. Klicken Sie auf „Speichern“ , um Ihre Änderungen zu speichern, und klicken Sie dann auf „Änderungen veröffentlichen“ , um Ihre Änderungen zu veröffentlichen. Publish\nchanges option on the Remote Config page

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:

  1. Öffnen Sie die Firebase-Konsole , erweitern Sie das Analytics- Menü und wählen Sie Benutzerdefinierte Definitionen aus.
  2. Klicken Sie auf der Seite „Benutzerdefinierte Definitionen“ auf „Benutzerdefinierte Dimensionen erstellen“ .
  3. Legen Sie im Fenster „Neue benutzerdefinierte Dimension“ den Dimensionsnamen auf „Untertitelstimmung“ fest und wählen Sie im Dropdown-Menü „ Bereich “ die Option „Benutzer“ aus.
  4. 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.

  1. Wählen Sie zunächst „Bearbeiten“ für den Parameter subtitle_override auf der Seite „Remote-Konfiguration“ der Firebase-Konsole aus:

The subtitle_override parameter on\nthe Remote Config page, showing the Edit option.

  1. Klicken Sie im angezeigten Dialogfeld „Parameter bearbeiten“ auf „Neu hinzufügen“ .

The Add new experiment option on the\nRemote Config Edit parameter page.

  1. Wählen Sie in der angezeigten Liste Experiment aus.

Remote Config parameter page: Add new\nexperiment

  1. Geben Sie einen Namen und eine Beschreibung für Ihr Experiment ein.

Experiment name and description\nsection

  1. Wählen Sie als Nächstes die Targeting-Bedingungen aus. Wählen Sie zunächst Ihre App aus dem Dropdown-Menü aus.

The Targeting step of an A/B Testing\nconfiguration, with an app selected

  1. 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.
  2. 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.
  3. 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.

A/B Testing Targeting section with\nsubtitle_sentiment selected

  1. Wählen Sie als Nächstes ein Ziel aus, das der Test maximieren möchte. Pick- Aufbewahrung (2-3 Tage) .

A/B Testing Goals section

  1. 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.
  2. 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}}
    
  3. 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}}
    
  4. Stellen Sie die Variantenverhältnisse mit ganzen Zahlen wie folgt ein:
    • Grundlinie : 1
    • Variante A : 100
    • Variante B : 100
    Dies führt zu Gesamtgewichtungen von 0,5 % für die Basislinie, 49,8 % für Variante A und 49,8 % für Variante B. Variant weights configuration\nsection Diese Varianten legen fest, dass A/B-Tests in einem von 201 Fällen die Standardeinstellung für diejenigen liefert, denen die Untertitel langweilig sind, aber in 200/201 Fällen wird einer von zwei neuen Werten bereitgestellt und der Titelbildschirm überschrieben.
  5. Speichern und senden Sie es, indem Sie auf „Experiment starten“ klicken und dann im Bestätigungs-Popup auf „Starten“ klicken. Click Start to start the\nexperiment

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?