1. บทนำ
ใน Codelab นี้ คุณจะได้เรียนรู้วิธีสร้างการทดสอบการกำหนดค่าระยะไกลโดยใช้การทดสอบ A/B สำหรับเกมตัวอย่าง MechaHamster: Level Up with Firebase edition ซึ่งคุณได้แก้ไขใน เครื่องมือเกมของคุณด้วย Firebase Remote Config
การทดสอบ A/B ด้วยการกำหนดค่าระยะไกลช่วยให้คุณทดสอบการเปลี่ยนแปลง UI คุณลักษณะ หรือแคมเปญการมีส่วนร่วมของแอปกับกลุ่มเป้าหมายก่อนที่จะเผยแพร่ไปยังกลุ่มเป้าหมายที่กว้างขึ้น คุณยังสามารถใช้ผลการทดสอบเพื่อ:
- พิจารณาว่าตัวแปรของค่าพารามิเตอร์ใดช่วยปรับปรุงเมตริกหลัก เช่น รายได้และการรักษาผู้ใช้
- ค้นหากลุ่มย่อยของผู้ใช้ที่ต้องการตัวแปรแบบใด
- รวบรวมและจัดเก็บข้อมูลการทดสอบเพื่อทำการวิเคราะห์เพิ่มเติมเกี่ยวกับผลกระทบของการตั้งค่าพารามิเตอร์ต่างๆ
นี่คือสาระสำคัญของการทดสอบ A/B: ช่วยให้คุณสามารถนำโค้ดที่ใช้เครื่องมือสำหรับการกำหนดค่าระยะไกลและเรียกใช้การทดสอบที่ควบคุมค่าที่ลูกค้าได้รับ ตามเงื่อนไขการกำหนดค่าระยะไกล (รวมถึงคุณสมบัติผู้ใช้ Google Analytics) เปอร์เซ็นต์การเปิดตัว เหตุการณ์ Conversion ของ Analytics และบางส่วนรวมกันเหล่านี้
ขั้นแรก คุณจะต้องใช้เงื่อนไขที่จะรวมผู้ที่จะรวมอยู่ในการทดสอบด้วยการตั้งค่าคุณสมบัติผู้ใช้ตามการกระทำของผู้ใช้ จากนั้น คุณจะสร้างการทดสอบ A/B Testing ที่ใช้คุณสมบัติผู้ใช้ Google Analytics เพื่อกำหนดลูกค้าที่จะรวมอยู่ในการทดสอบ และสุดท้าย คุณจะใช้ข้อมูลนั้นเพื่อทำความเข้าใจเกี่ยวกับผู้ชมของคุณมากขึ้น
สิ่งที่คุณจะได้เรียนรู้
- วิธีการตั้งค่าการทดสอบ A/B โดยใช้ค่าการกำหนดค่าระยะไกลที่มีเครื่องมือวัด
- วิธีใช้พร็อพเพอร์ตี้ผู้ใช้ Google Analytics เป็นส่วนหนึ่งของเงื่อนไขในการเข้าสู่การทดสอบ A/B
ข้อกำหนดเบื้องต้น
สิ่งที่คุณต้องการ
- Unity 2019.1.0f1 หรือสูงกว่าพร้อมรองรับ iOS และ/หรือ Android build
2. เปิดใช้งานเมนูแก้ไขข้อบกพร่อง
มีเมนูแก้ไขข้อบกพร่องซ่อนอยู่ในโปรเจ็กต์ และมีปุ่มสำหรับเข้าถึงเมนูนี้มีอยู่ในเกม แต่ไม่ได้เปิดใช้งานในขณะนี้ คุณต้องเปิดใช้งานปุ่มเพื่อเข้าถึงจากเมนูสำเร็จรูปเมนูหลัก
- ในตัวแก้ไข Unity ให้เลือกแท็บ Project จากนั้นภายใต้ Assets ขยาย Hamster > Prefabs > Menus และคลิก MainMenu
- ในลำดับชั้นรูปแบบสำเร็จรูป ให้ค้นหาออบเจ็กต์ย่อยที่ปิดใช้งานชื่อ DebugMenuButton แล้วคลิกเพื่อเปิดในแท็บตัว ตรวจสอบ
- ภายในแท็บ ตัวตรวจสอบ ให้เลือกช่องที่มุมซ้ายบนถัดจากช่องข้อความที่มี DebugMenuButton เพื่อเปิดใช้งาน
- บันทึกรูปแบบสำเร็จรูป
หากคุณรันเกมในตัวแก้ไขหรือบนอุปกรณ์ของคุณ ตอนนี้เมนูก็ควรจะสามารถเข้าถึงได้แล้ว
3. เปิดใช้งานเมนูย่อย Remote Config
- จากแท็บ Project ใน Unity Editor ให้ขยาย Assets > Hamster > Prefabs > Menus และดับเบิลคลิกออบเจ็กต์ DebugMenu เพื่อเปิดในแท็บ Hierarchy ของเอดิเตอร์
- ในแท็บ ลำดับชั้น ให้ขยายลำดับชั้นและคลิกออบเจ็กต์ย่อยภายใต้ DebugMenu > Panel ซึ่งมีป้ายกำกับว่า Remote Config Actions
- ในแท็บ Unity Inspector ให้เปิดใช้งาน Remote Config Actions โดยทำเครื่องหมายที่ช่องด้านซ้ายของช่องข้อความที่มีชื่อของออบเจ็กต์
ซึ่งมีลูก GameObject สองตัวชื่อ Set Bored Of Subtitle และ Set Enjoys Subtitle ซึ่งทั้งคู่ได้รับการกำหนดค่าให้เรียกใช้เมธอดที่มีอยู่แต่ไม่ได้ใช้งานใน DebugMenu.cs
4. รีเซ็ตการแทนที่คำบรรยายเป็นค่าเริ่มต้นในแอป
ใน Codelab ก่อนหน้านี้ คุณได้ลบล้างค่าเริ่มต้นของพารามิเตอร์เป็น JSON และใช้เงื่อนไขเพื่อแสดงตัวแปรต่างๆ ใน Codelab นี้ คุณจะลบเงื่อนไขที่คุณสร้างขึ้นและนำค่าเริ่มต้นในแอปกลับมาใช้ใหม่ และคุณจะลบล้างเงื่อนไขนั้นด้วยผลลัพธ์ของการทดสอบ A/B เท่านั้น
หากต้องการเปิดใช้งานค่าเริ่มต้นในแอปอีกครั้ง:
- เปิด หน้าการกำหนดค่าระยะไกลในคอนโซล Firebase และคลิกไอคอนดินสอถัดจากพารามิเตอร์
subtitle_override
เพื่อเปิดแผงด้านข้าง แก้ไขพารามิเตอร์ - คลิกไอคอน X ถัดจากเงื่อนไขเพื่อลบ
- ถัดจากค่าเริ่มต้นที่เหลือ ให้เปิดใช้งานปุ่ม สลับ ใช้ค่าเริ่มต้นในแอป
- คลิก บันทึก เพื่อบันทึกการเปลี่ยนแปลงของคุณ จากนั้นคลิก เผยแพร่การเปลี่ยนแปลง เพื่อเผยแพร่การเปลี่ยนแปลงของคุณ
5. ตั้งค่าคุณสมบัติผู้ใช้ในฟังก์ชัน Debug
ตอนนี้ คุณจะเขียนเนื้อหาของฟังก์ชันสำหรับฟังก์ชัน Google Analytics ที่กำหนดค่าไว้ล่วงหน้าแต่ไม่ได้ใช้งานใน DebugMenu.cs
(ซึ่งสามารถพบได้ใน Assets > 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 คุณสามารถเรียกใช้ฟังก์ชันใดฟังก์ชันหนึ่งเหล่านี้เพื่อทำให้พร็อพเพอร์ตี้พร้อมใช้งานตามเงื่อนไขของการกำหนดค่าระยะไกล หากต้องการเรียก 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% เพื่อหลีกเลี่ยงการสุ่มที่คุณไม่สามารถควบคุมได้อย่างง่ายดาย
- จากนั้นเลือกเป้าหมายที่การทดสอบจะพยายามทำให้สูงสุดให้ได้ เลือก Retention (2-3 วัน) .
- จากนั้น ตั้งค่าพารามิเตอร์ของการทดสอบและสร้างคำบรรยายรูปแบบต่างๆ รูปแบบเหล่านี้เป็นค่าที่แตกต่างกัน การทดสอบ A/B จะแสดงต่อผู้ใช้ที่
subtitle_sentiment
มีคำว่า 'เบื่อ' และการทดสอบ A/B จะพิจารณาว่ารูปแบบใดดีที่สุดในการเพิ่มการรักษาลูกค้าให้สูงสุด - ป้อนค่าพารามิเตอร์ต่อไปนี้สำหรับตัวแปร 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. เรียกใช้วิธี Set User Property และรีเฟรช
ตอนนี้คุณได้ตั้งค่าคุณสมบัติต่างๆ เกี่ยวกับผู้ใช้แล้ว ซึ่งสามารถใช้เพื่อกำหนดตรรกะหรือการนำเสนอเกมของคุณได้
หากคุณไม่เคยเรียกใช้เมธอด SetUserProperty
มาก่อนหรือตั้งค่าเป็น enjoys
คุณจะยังคงเห็นคำบรรยายเริ่มต้นเมื่อเปิดเกม
หากคุณตั้งค่าเป็น bored
(ก่อนที่จะดึงข้อมูลใหม่) คุณจะเห็นค่าใหม่ในอัตราส่วนประมาณ 50/50
เมื่ออุปกรณ์เข้าสู่การทดสอบ A/B Testing ค่าที่พวกเขาได้รับจากการทดสอบนั้นจะไม่เปลี่ยนแปลงและจะ คงอยู่ต่อการติดตั้ง ด้วยเหตุนี้ หากต้องการรับค่าทดลองค่าใดค่าหนึ่ง คุณต้องสร้างการติดตั้งใหม่โดยการติดตั้งเกมใหม่ลงในอุปกรณ์/เครื่องจำลองเดียวกัน หรือติดตั้งเกมลงในอุปกรณ์/เครื่องจำลองใหม่
ในการทดสอบ A/B จริงที่เปิดตัวทั่วฐานผู้ใช้ของคุณ คุณควรให้น้ำหนักพื้นฐานใกล้เคียงกับตัวแปรอื่นๆ แต่ในกรณีนี้ คุณกำหนดความน่าจะเป็นที่บิดเบือนมากเพื่อตรวจสอบว่าการทดสอบกำลังทำงานอยู่ หาก (ในกรณี 1/201) คุณยังคงได้รับค่าเริ่มต้น ให้ลองติดตั้งเกมใหม่บนอุปกรณ์/เครื่องจำลองของคุณ
ผลกระทบอีกประการหนึ่งก็คือการเปลี่ยนคุณสมบัติผู้ใช้กลับไปเป็น enjoys
จะ ไม่ เปลี่ยนค่ากลับเป็นค่าพื้นฐาน แต่คุณสามารถทำได้โดยสลับไปใช้ enjoys
และติดตั้งใหม่
9. ขอแสดงความยินดี!
คุณได้ใช้การทดสอบ A/B การกำหนดค่าระยะไกลเพื่อทดลองกับค่าการกำหนดค่าระยะไกลต่างๆ และพิจารณาว่าแต่ละค่าส่งผลต่อเมตริก Analytics อย่างไร
สิ่งที่เราได้กล่าวถึง
- วิธีการตั้งค่าการทดสอบ A/B โดยใช้ค่าการกำหนดค่าระยะไกลที่มีเครื่องมือวัด
- วิธีใช้พร็อพเพอร์ตี้ผู้ใช้ Google Analytics เป็นส่วนหนึ่งของเงื่อนไขในการเข้าร่วมการทดสอบ A/B Testing
ขั้นตอนถัดไป
เมื่อการทดสอบสิ้นสุดลง คุณสามารถเลือกหนึ่งรายการจาก รายการการทดสอบในโครงการของคุณ เพื่อตัดสินใจว่าคุณต้องการทำอะไรกับการทดสอบนั้น คุณต้องการเลือกหนึ่งรายการเป็น "ผู้ชนะ" หรือทำการทดลองเพิ่มเติมหรือไม่