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.
- בעורך Unity, בחר בלשונית Project , ולאחר מכן תחת Assets , הרחב אוגר > Prefabs > Menus ולחץ על Main Menu .
- בהיררכיה הטרומית, מצא את אובייקט המשנה המושבת בשם DebugMenuButton ולחץ עליו כדי לפתוח אותו בלשונית Inspector .
- בתוך הכרטיסייה Inspector , סמן את התיבה בפינה השמאלית העליונה שליד שדה הטקסט המכיל DebugMenuButton כדי לאפשר זאת.
- שמור את הטרומי.
אם אתה מריץ את המשחק בעורך או במכשיר שלך, התפריט אמור להיות נגיש כעת.
3. הפעל את תפריט המשנה Remote Config
- מהכרטיסייה Project ב- Unity Editor, הרחב את Assets > Hamster > Prefabs > Menus ולחץ פעמיים על האובייקט DebugMenu כדי לפתוח אותו בלשונית היררכיה של העורך.
- בכרטיסייה היררכיה , הרחב את ההיררכיה ולחץ על אובייקט המשנה תחת DebugMenu > לוח , שכותרתו פעולות תצורה מרוחקות .
- בכרטיסייה Unity Inspector , הפעל את Remote Config Actions על ידי סימון התיבה משמאל לשדה הטקסט המכיל את שם האובייקט.
יש לזה שני ילדים GameObject בשם Set Bored Of Subtitle ו- Set Enjoys Subtitle, ששניהם מוגדרים לקרוא לשיטות קיימות אך לא יושמו ב- DebugMenu.cs
.
4. אפס את ביטול הכתוביות לברירת המחדל בתוך האפליקציה
ב- codelab הקודם , ענית על ערך ברירת המחדל של פרמטר בתור JSON והשתמשת בתנאים כדי להגיש גרסאות שונות. כחלק ממעבדת קוד זה, תמחק את התנאי שיצרת ותציג מחדש את ברירת המחדל בתוך האפליקציה, ותעקוף אותה רק עם התוצאה של A/B Testing.
כדי להפעיל מחדש את ברירת המחדל בתוך האפליקציה:
- פתח את דף התצורה המרוחקת במסוף Firebase ולחץ על סמל העיפרון שליד הפרמטר
subtitle_override
כדי לפתוח את החלונית הצדדית ערוך פרמטר . - לחץ על סמל ה- X לצד התנאי כדי למחוק אותו.
- לצד ערך ברירת המחדל הנותר, הפעל את הלחצן השתמש בברירת המחדל באפליקציה .
- לחץ על שמור כדי לשמור את השינויים שלך, ולאחר מכן לחץ על פרסם שינויים כדי לפרסם את השינויים שלך.
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. ראה מאפיינים ומדדים מותאמים אישית למידע נוסף.
כדי ליצור ממד מותאם אישית חדש:
- פתח את מסוף Firebase , הרחב את תפריט Analytics ובחר בהגדרות מותאמות אישית.
- מהדף הגדרות מותאמות אישית, לחץ על צור מידות מותאמות אישית .
- בחלון מאפיין מותאם אישית חדש , הגדר את שם המאפיין ל"תחושת כתוביות" ובתפריט הנפתח היקף, בחר משתמש .
- עבור השדה מאפיין משתמש , בחר
subtitle_sentiment.
7. הגדר את ניסוי A/B Testing
לאחר מכן, צור ניסוי A/B Testing כדי להגדיר ערכים שונים עבור subtitle_override
שייבדקו זה מול זה על מנת לייעל את שימור המשתמש של יומיים עד שלושה.
- ראשית, בחר ערוך בפרמטר
subtitle_override
בדף התצורה המרוחקת של מסוף Firebase:
- מתוך תיבת הדו-שיח עריכת פרמטר שמופיעה, לחץ על הוסף חדש .
- מהרשימה שמופיעה, בחר ניסוי .
- הזן שם ותיאור עבור הניסוי שלך.
- לאחר מכן, בחר תנאי מיקוד. ראשית, בחר את האפליקציה שלך מהתפריט הנפתח.
- לאחר מכן, לחץ על ועל כדי להוסיף תנאי חדש, ולאחר מכן בחר נכס משתמש ובחר
subtitle_sentiment
. אם הוא לא מופיע, הזן אותו ידנית. - מכיוון שאתה רוצה להגדיר כתובית רק עבור אלה שתחושת הכתוביות הנוכחית שלהם כוללת "משעמם", בחר מכיל והקלד
bored
. - לחלופין, בחר איזה אחוז מהקהל שתואם את הקריטריונים לעיל להיחשף למבחן. בחר 100% כדי למנוע אקראיות שאינך יכול לשלוט בקלות.
- לאחר מכן, בחר יעד שהבדיקה ינסה למקסם עבורו. בחר שימור (2-3 ימים) .
- לאחר מכן, הגדר את הפרמטרים של הניסוי וצור גרסאות כתוביות שונות. וריאנטים אלו הם הערכים השונים ש-A/B Testing ישרת למשתמשים ש-
subtitle_sentiment
שלהם מכיל 'משעמם', ו-A/B Testing יקבע איזו וריאציה היא הטובה ביותר לשמירה מקסימלית. - הזן את ערך הפרמטר הבא עבור וריאנט A:
{"text":"A: A game about a mechanical hamster","fontSize":8,"textColor":{"r":0.0,"g":255.0,"b":0.0,"a":255.0}}
- הזן את ערך הפרמטר הבא עבור וריאנט B:
{"text":"B: A game about a mechanical hamster","fontSize":14,"textColor":{"r":255.0,"g":0.0,"b":0.0,"a":255.0}}
- הגדר את יחסי הווריאציות עם מספרים שלמים באופן הבא:
- קו בסיס : 1
- גרסה A : 100
- וריאציה B : 100
- שמור ושלח על ידי לחיצה על התחל ניסוי ולאחר מכן לחץ על התחל בחלון האישור הקופץ.
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
הצעדים הבאים
לאחר שהניסוי יסתיים, תוכל לבחור אחד מרשימת הניסויים בפרויקט שלך כדי להחליט מה אתה רוצה לעשות איתו. האם אתה רוצה לבחור אחד בתור "המנצח" או לערוך ניסויים נוספים?