הטמע מבחני A/B עבור משחק Unity שלך עם Firebase Remote Config

1. הקדמה

במעבדת הקוד הזה, תלמדו כיצד ליצור ניסוי Config מרחוק באמצעות A/B Testing עבור המשחק לדוגמה, MechaHamster: Level Up with Firebase edition , אותו שיניתם במכשיר המשחק שלכם עם Firebase Remote Config .

בדיקת A/B עם Config מרחוק מאפשרת לך לבדוק שינויים בממשק המשתמש, בתכונות או במסעות המעורבות של האפליקציה שלך בקהל ממוקד לפני שאתה מפיץ אותם לקהל רחב יותר. אתה יכול גם להשתמש בתוצאות הניסוי כדי:

  • קבע אילו גרסאות של ערך פרמטרים משפרים מדדי מפתח כמו הכנסה ושימור.
  • גלה אילו תת-קבוצות של משתמשים מעדיפות אילו גרסאות.
  • אסוף ואחסן נתוני ניסוי כדי לבצע ניתוח נוסף על ההשפעות של הגדרת ערכי פרמטרים שונים.

זו המהות של בדיקת A/B: היא מאפשרת לך לקחת קוד המיועד ל-Remote Config ולהפעיל ניסויים השולטים בערכים שלקוחות מקבלים, בהתבסס על תנאי Config Remote (כולל מאפייני משתמש של Google Analytics), אחוזי השקה, אירועי המרה של Analytics, ושילוב כלשהו של אלה.

ראשית, תטמיע תנאי שמגדיר את מי שיכללו בניסוי על ידי הגדרת מאפייני משתמש בהתבסס על פעולות המשתמש. לאחר מכן, תיצור ניסוי A/B Testing המשתמש במאפייני משתמש של Google Analytics כדי לקבוע אילו לקוחות נכללים בניסוי. ולבסוף, תשתמש בנתונים האלה כדי להבין יותר על הקהל שלך.

מה תלמד

  • כיצד להגדיר בדיקת A/B באמצעות ערכי Config מרחוק
  • כיצד להשתמש בנכסי משתמש של Google Analytics כחלק מתנאי הקבלה למבחני A/B

דרישות מוקדמות

מה אתה צריך

  • Unity 2019.1.0f1 ומעלה עם תמיכה ב-iOS ו/או אנדרואיד

2. הפעלת תפריט ניפוי באגים

יש תפריט Debug מוסתר בפרויקט, והלחצן לגישה לתפריט זה קיים במשחק אך אינו מופעל כעת. עליך להפעיל את הלחצן כדי לגשת אליו מה-Main Menu.

  1. בעורך Unity, בחר בלשונית Project , ולאחר מכן תחת Assets , הרחב אוגר > Prefabs > Menus ולחץ על Main Menu .

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

  1. בהיררכיה הטרומית, מצא את אובייקט המשנה המושבת בשם DebugMenuButton ולחץ עליו כדי לפתוח אותו בלשונית Inspector .

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

  1. בתוך הכרטיסייה Inspector , סמן את התיבה בפינה השמאלית העליונה שליד שדה הטקסט המכיל DebugMenuButton כדי לאפשר זאת.

The Inspector tab for DebugMenuButton\nwith checkbox

  1. שמור את הטרומי.

אם אתה מריץ את המשחק בעורך או במכשיר שלך, התפריט אמור להיות נגיש כעת.

3. הפעל את תפריט המשנה Remote Config

  1. מהכרטיסייה Project ב- Unity Editor, הרחב את Assets > Hamster > Prefabs > Menus ולחץ פעמיים על האובייקט DebugMenu כדי לפתוח אותו בלשונית היררכיה של העורך.

    DebugMenu item nested under Assets,\nHamster, Prefabs, Menus
  2. בכרטיסייה היררכיה , הרחב את ההיררכיה ולחץ על אובייקט המשנה תחת DebugMenu > לוח , שכותרתו פעולות תצורה מרוחקות .

Remote Config Actions nested under\nCanvas, DebugMenu

  1. בכרטיסייה Unity Inspector , הפעל את Remote Config Actions על ידי סימון התיבה משמאל לשדה הטקסט המכיל את שם האובייקט.

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

יש לזה שני ילדים GameObject בשם Set Bored Of Subtitle ו- Set Enjoys Subtitle, ששניהם מוגדרים לקרוא לשיטות קיימות אך לא יושמו ב- DebugMenu.cs .

4. אפס את ביטול הכתוביות לברירת המחדל בתוך האפליקציה

ב- codelab הקודם , ענית על ערך ברירת המחדל של פרמטר בתור JSON והשתמשת בתנאים כדי להגיש גרסאות שונות. כחלק ממעבדת קוד זה, תמחק את התנאי שיצרת ותציג מחדש את ברירת המחדל בתוך האפליקציה, ותעקוף אותה רק עם התוצאה של A/B Testing.

כדי להפעיל מחדש את ברירת המחדל בתוך האפליקציה:

  1. פתח את דף התצורה המרוחקת במסוף Firebase ולחץ על סמל העיפרון שליד הפרמטר subtitle_override כדי לפתוח את החלונית הצדדית ערוך פרמטר .
  2. לחץ על סמל ה- X לצד התנאי כדי למחוק אותו.
  3. לצד ערך ברירת המחדל הנותר, הפעל את הלחצן השתמש בברירת המחדל באפליקציה .

Deleting a condition from the Remote\nConfig parameter editor

  1. לחץ על שמור כדי לשמור את השינויים שלך, ולאחר מכן לחץ על פרסם שינויים כדי לפרסם את השינויים שלך. Publish\nchanges option on the Remote Config page

5. הגדר מאפייני משתמש בפונקציות Debug

כעת תכתוב גופי פונקציות עבור כמה פונקציות שהוגדרו מראש אך לא מיושמות של Google Analytics ב- DebugMenu.cs (אשר ניתן למצוא ב-Asets > Hamster > Scripts > States).

פונקציות אלו קובעות מאפייני משתמש , שהן דרכים לתאר מקטעים של בסיס המשתמשים שלך ומשמשות כדי לתעד איך המשתמש מרגיש לגבי הכתוביות של המשחק.

יישם את SetUserBoredOfSubtitle ו- SetUserEnjoysSubtitle על ידי מציאת הגרסאות הקיימות שלהן ב- DebugMenu.cs והחלפתן באופן הבא:

void SetUserBoredOfSubtitle()
{
  Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "bored");
}
void SetUserEnjoysSubtitle()
{
  Firebase.Analytics.FirebaseAnalytics.SetUserProperty("subtitle_sentiment", "enjoys");
}

אם האפליקציה שלך מוגדרת כהלכה עם Google Analytics, תוכל לקרוא לאחת מהפונקציות הללו כדי להפוך את הנכס לזמין לתנאים של Remote Config. כדי להתקשר SetUserBoredOfSubtitle ממכשיר נייד, התחל את המשחק ולחץ על הלחצן Debug Menu בתפריט הראשי, ואז הקש על Set Bored of Subtitle .

6. צור ממד מותאם אישית

לאחר מכן, תגדיר גרסאות שונות של כתוביות עבור subtitle_override כדי לראות איזו כתובית עובדת הכי טוב. אבל, במבחן ה-A/B שלך, תגיש את הגרסאות הללו רק למשתמשים שהרגשות שלהם לגבי הכתובית הנוכחית (כפי שמתועדים ב- subtitle_sentiment ) כוללים את המילה "משעמם".

תשתמש במאפיין מותאם אישית כדי ליצור ולעקוב אחר פרמטרים מותאמים אישית באירועי Analytics. ראה מאפיינים ומדדים מותאמים אישית למידע נוסף.

כדי ליצור ממד מותאם אישית חדש:

  1. פתח את מסוף Firebase , הרחב את תפריט Analytics ובחר בהגדרות מותאמות אישית.
  2. מהדף הגדרות מותאמות אישית, לחץ על צור מידות מותאמות אישית .
  3. בחלון מאפיין מותאם אישית חדש , הגדר את שם המאפיין ל"תחושת כתוביות" ובתפריט הנפתח היקף, בחר משתמש .
  4. עבור השדה מאפיין משתמש , בחר subtitle_sentiment.

7. הגדר את ניסוי A/B Testing

לאחר מכן, צור ניסוי A/B Testing כדי להגדיר ערכים שונים עבור subtitle_override שייבדקו זה מול זה על מנת לייעל את שימור המשתמש של יומיים עד שלושה.

  1. ראשית, בחר ערוך בפרמטר subtitle_override בדף התצורה המרוחקת של מסוף Firebase:

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

  1. מתוך תיבת הדו-שיח עריכת פרמטר שמופיעה, לחץ על הוסף חדש .

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

  1. מהרשימה שמופיעה, בחר ניסוי .

Remote Config parameter page: Add new\nexperiment

  1. הזן שם ותיאור עבור הניסוי שלך.

Experiment name and description\nsection

  1. לאחר מכן, בחר תנאי מיקוד. ראשית, בחר את האפליקציה שלך מהתפריט הנפתח.

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

  1. לאחר מכן, לחץ על ועל כדי להוסיף תנאי חדש, ולאחר מכן בחר נכס משתמש ובחר subtitle_sentiment . אם הוא לא מופיע, הזן אותו ידנית.
  2. מכיוון שאתה רוצה להגדיר כתובית רק עבור אלה שתחושת הכתוביות הנוכחית שלהם כוללת "משעמם", בחר מכיל והקלד bored .
  3. לחלופין, בחר איזה אחוז מהקהל שתואם את הקריטריונים לעיל להיחשף למבחן. בחר 100% כדי למנוע אקראיות שאינך יכול לשלוט בקלות.

A/B Testing Targeting section with\nsubtitle_sentiment selected

  1. לאחר מכן, בחר יעד שהבדיקה ינסה למקסם עבורו. בחר שימור (2-3 ימים) .

A/B Testing Goals section

  1. לאחר מכן, הגדר את הפרמטרים של הניסוי וצור גרסאות כתוביות שונות. וריאנטים אלו הם הערכים השונים ש-A/B Testing ישרת למשתמשים ש- subtitle_sentiment שלהם מכיל 'משעמם', ו-A/B Testing יקבע איזו וריאציה היא הטובה ביותר לשמירה מקסימלית.
  2. הזן את ערך הפרמטר הבא עבור וריאנט A:
    {"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
    
  3. הזן את ערך הפרמטר הבא עבור וריאנט B:
    {"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
    
  4. הגדר את יחסי הווריאציות עם מספרים שלמים באופן הבא:
    • קו בסיס : 1
    • גרסה A : 100
    • וריאציה B : 100
    זה יביא למשקלים של 0.5% עבור הבסיס, 49.8% עבור וריאנט א' ו-49.8% עבור וריאנט ב'. Variant weights configuration\nsection גרסאות אלו מציינות שאחת מתוך 201 פעמים, A/B Testing משרתת את ברירת המחדל למי שמשעמם מהכתוביות, אבל 200/201 פעמים, היא תשרת אחד משני ערכים חדשים ותעקוף את מסך הכותרת.
  5. שמור ושלח על ידי לחיצה על התחל ניסוי ולאחר מכן לחץ על התחל בחלון האישור הקופץ. Click Start to start the\nexperiment

8. הפעל את שיטת הגדר מאפיין משתמש ורענן

כעת הגדרת מאפיינים שונים על המשתמש, אשר לאחר מכן ניתן להשתמש בהם כדי לכוון את ההיגיון או המצגת של המשחק שלך.

אם לא הרצתם בעבר את שיטת SetUserProperty או הגדרתם אותה ל- enjoys , אתה עדיין אמור לראות את כתובית ברירת המחדל בעת פתיחת המשחק.

אם הגדרתם אותו bored (לפני שליפה מחדש), אתם אמורים לראות את אחד הערכים החדשים ביחס של 50/50 בערך.

לאחר שהמכשיר נכנס לניסוי A/B Testing, הערכים שהם מקבלים מאותו ניסוי לא ישתנו והם מתמשכים בכל התקנה . כתוצאה מכך, כדי לקבל אחד מערכי הניסוי האחרים, עליך ליצור התקנה חדשה או על ידי התקנה מחדש של המשחק לאותו מכשיר/סימולטור או התקנת המשחק במכשיר/סימולטור חדש.

במבחן A/B אמיתי שהושק ברחבי בסיס המשתמשים שלך, עליך לתת לקו הבסיס משקל דומה לגרסאות האחרות. אבל במקרה זה, אתה מקצה הסתברויות מוטות מאוד כדי לאמת שהניסוי עובד. אם (במקרה 1/201), אתה עדיין מקבל את ערך ברירת המחדל, נסה להתקין מחדש את המשחק במכשיר/סימולטור שלך.

השפעה נוספת של זה היא שהחלפת מאפיין המשתמש בחזרה ל- enjoys לא ישנה את הערך בחזרה לקו הבסיס אבל שוב, אתה יכול לעשות זאת על ידי מעבר ל- enjoys והתקנה מחדש.

9. מזל טוב!

השתמשת ב-Remote Config A/B Testing כדי להתנסות עם ערכי תצורה מרחוק שונים ולקבוע כיצד כל אחד מהם משפיע על מדדי Analytics.

מה שכיסינו

  • כיצד להגדיר בדיקת A/B באמצעות ערכי Config מרחוק
  • כיצד להשתמש במאפייני המשתמש של Google Analytics כחלק מתנאי הקבלה לניסויי A/B Testing

הצעדים הבאים

לאחר שהניסוי יסתיים, תוכל לבחור אחד מרשימת הניסויים בפרויקט שלך כדי להחליט מה אתה רוצה לעשות איתו. האם אתה רוצה לבחור אחד בתור "המנצח" או לערוך ניסויים נוספים?