AdMob+Firebase 102 Unity: ปรับแต่งลักษณะการทำงานของแอปโดยไม่ต้องอัปเดตแอป

1. บทนำ

สมมติว่าคุณต้องปรับค่าของพารามิเตอร์บางอย่างในแอปหลังจากเผยแพร่แอปใน Play Store โดยปกติแล้ว คุณควรเผยแพร่แอปเวอร์ชันใหม่ และผู้ใช้ควรจะอัปเดตแอปในโทรศัพท์ด้วย

โดยทั่วไป การอัปเดตแอปจะใช้ได้หากคุณต้องการทำการเปลี่ยนแปลงในแอปอย่างถาวร แต่จะเกิดอะไรขึ้นหากคุณต้องปรับค่าพารามิเตอร์บางอย่างในแอปบ่อยๆ หรือหากต้องการทำการทดลองเพื่อค้นหาการกำหนดค่าแอปที่เหมาะสมที่สุด

ในกรณีเช่นนี้ การอัปเดตแอปอาจทำงานได้ไม่ดี เนื่องจากต้องใช้เวลาสักครู่จนกว่าการอัปเดตจะเผยแพร่ไปยังผู้ใช้ทั้งหมด นอกจากนี้ การทำการทดสอบในแอปหลายเวอร์ชันยังเป็นเรื่องที่ท้าทายอีกด้วย

นอกจากนี้ คุณจะพิจารณาได้อย่างไรว่าเส้นทางของผู้ใช้ในแอปทํางานได้ตามที่ต้องการ คุณอาจต้องพึ่งพาความคิดเห็นของผู้ใช้ใน Play Console อย่างไรก็ตาม ข้อมูลดังกล่าวอาจไม่แม่นยำพอที่จะใช้ในการตัดสินใจที่ชัดเจน

สิ่งที่คุณจะได้เรียนรู้

  • วิธีสร้าง Funnel ใน Google Analytics สำหรับ Firebase
  • วิธีใช้การกำหนดค่าระยะไกลของ Firebase
  • วิธีทําการทดสอบ A/B ของ Firebase

สิ่งที่คุณต้องมี

  • Unity 2018.4.4f1 ขึ้นไป
  • Xcode 10 ขึ้นไป (เพื่อสร้างเป้าหมายสำหรับ iOS)
  • บัญชี Google
  • อุปกรณ์ทดสอบที่ใช้ Android 5.0 ขึ้นไปพร้อมสาย USB เพื่อเชื่อมต่ออุปกรณ์ หรือโปรแกรมจำลอง Android ที่เรียกใช้ AVD(อุปกรณ์เสมือน Android) พร้อมอิมเมจระบบที่รองรับ Play Store/Google APIs
  • อุปกรณ์ iOS หรือโปรแกรมจำลองที่ใช้ iOS 8.0 ขึ้นไป

คุณจะให้คะแนนระดับประสบการณ์การใช้งาน AdMob เท่าใด

ผู้ฝึกหัด ขั้นกลาง ผู้ชำนาญ

คุณจะให้คะแนนระดับประสบการณ์การใช้งาน Firebase เท่าใด

ผู้ฝึกหัด ขั้นกลาง ผู้ชำนาญ

2. ตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์

ดาวน์โหลดโค้ด

คลิกปุ่มต่อไปนี้เพื่อดาวน์โหลดโค้ดทั้งหมดสำหรับ Codelab นี้

แตกไฟล์ ZIP ที่ดาวน์โหลด การดำเนินการนี้จะแตกไฟล์โฟลเดอร์รูทชื่อ admob-firebase-codelabs-unity-master

...หรือโคลนที่เก็บ GitHub จากบรรทัดคำสั่ง

$ git clone https://github.com/googlecodelabs/admob-firebase-codelabs-unity

ที่เก็บจะมีโฟลเดอร์ 4 โฟลเดอร์ดังนี้

  • android_studio_folder.png101-base - โค้ดเริ่มต้นที่คุณจะสร้างใน Codelab นี้
  • android_studio_folder.png101-complete_and_102-base - โค้ดที่เสร็จสมบูรณ์สำหรับ Codelab นี้และโค้ดเริ่มต้นสำหรับ Codelab 102
  • android_studio_folder.png102-complete - โค้ดที่เสร็จสมบูรณ์สำหรับ Codelab 102

เตรียมไฟล์ที่จำเป็น

Awesome Drawing Quiz ใช้โค้ดโอเพนซอร์สหลายรายการซึ่งจำเป็นต่อการคอมไพล์และเรียกใช้โปรเจ็กต์

เปิดเทอร์มินัล แล้วย้ายไปที่ไดเรกทอรีรากของที่เก็บ จากนั้นเรียกใช้ ./gradlew :prepareThirdPartyFiles (gradlew.bat :prepareThirdPartyFiles ใน Windows) จากเทอร์มินัลเพื่อคัดลอกไฟล์ที่จำเป็นลงในโปรเจ็กต์

นำเข้าแอปเริ่มต้น

เปิด Unity แล้วเลือก "เปิด" ในหน้าจอต้อนรับ จากนั้นเลือกไดเรกทอรี 101-complete_and_102-base จากโค้ดที่คุณดาวน์โหลด

ตอนนี้คุณควรเปิดโปรเจ็กต์ใน Unity ได้แล้ว

เพิ่มปลั๊กอิน Unity สำหรับโฆษณา Google ในอุปกรณ์เคลื่อนที่

หากต้องการแสดงโฆษณา AdMob ในแอป Unity คุณต้องเพิ่มปลั๊กอิน Unity สำหรับโฆษณาในอุปกรณ์เคลื่อนที่ของ Google ลงในโปรเจ็กต์

  1. ดาวน์โหลดแพ็กเกจปลั๊กอิน Unity สำหรับ Google Mobile Ads 3.18.1 (โปรดทราบว่า Codelab นี้อาจใช้ร่วมกับปลั๊กอินเวอร์ชันอื่นไม่ได้)
  2. ในโปรเจ็กต์ Unity ของ Awesome Drawing Quiz ในโปรเจ็กต์ ให้ไปที่ชิ้นงาน > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
  3. นําเข้า GoogleMobileAds.unitypackage ไปยังโปรเจ็กต์ที่คุณดาวน์โหลด

คุณต้องตั้งค่ารหัสแอป AdMob ด้วย ในโปรแกรมแก้ไข Unity ให้เลือกชิ้นงาน > โฆษณา Google ในอุปกรณ์เคลื่อนที่ > การตั้งค่าจากเมนู

44fc84fe88235c1f.png

เปิดใช้ AdMob โดยคลิกช่องทําเครื่องหมายเปิดใช้ในส่วน Google AdMob จากนั้นป้อนรหัสแอป AdMob ดังนี้

  • Android : ca-app-pub-3940256099942544~3048611032
  • iOS: ca-app-pub-3940256099942544~2753522596

a6ad7402d4daf330.png

เพิ่มไฟล์กำหนดค่า Firebase ลงในโปรเจ็กต์ Unity

  1. จากหน้าจอภาพรวมของโปรเจ็กต์ Awesome Drawing Quiz ให้คลิกไอคอนการตั้งค่า 9bacb5ada7cbaaf6.png
  2. ในแท็บทั่วไป ให้เลือกแอป Android และ iOS แต่ละแอปเพื่อดาวน์โหลดไฟล์ google-service.json (สำหรับ Android) และ GoogleService-Info.plist (สำหรับ iOS)
  3. ย้ายไฟล์การกำหนดค่าทั้ง 2 ไฟล์ไปยังโฟลเดอร์ android_studio_folder.pngAssets ในโปรเจ็กต์ Unity

704aa8e97df63c4e.png

เพิ่ม SDK ของ Firebase Analytics

  1. ดาวน์โหลด Firebase Unity SDK 5.5.0 แล้วแยกไฟล์ ZIP ไว้ที่ใดก็ได้ที่คุณสะดวก (ข้ามขั้นตอนนี้หากดาวน์โหลด SDK แล้ว)
  2. เปิดโปรเจ็กต์ Unity ของ Awesome Drawing Quiz แล้วไปที่ชิ้นงาน > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
  3. นำเข้า Firebase Analytics SDK (dotnet4/FirebaseAnalytics.unitypackage) จาก SDK ที่แยกไฟล์แล้ว
  4. คลิกนำเข้าในหน้าต่างนำเข้าแพ็กเกจ Unity

3. เปิดโปรเจ็กต์ Firebase จากคอนโซล

ก่อนที่จะไปยังขั้นตอนถัดไป ให้เปิดโปรเจ็กต์จากคอนโซล Firebase ที่คุณสร้างไว้ในขั้นตอน "ตั้งค่าโปรเจ็กต์ Firebase" ของ Codelab AdMob+Firebase 101

e0a028059c9e00cb.png

4. สร้าง Funnel ของเหตุการณ์ในแอป

คุณอาจมีเหตุการณ์ในแอปบางรายการที่เพิ่มไว้เพื่อติดตามกิจกรรมของผู้ใช้ภายในแอป เมื่ออ่านรายงานของเหตุการณ์ในแอปแต่ละรายการ คุณจะได้รับรายละเอียดที่เชื่อมโยงกับเหตุการณ์ เช่น จำนวนรวม จำนวนเฉลี่ยต่อผู้ใช้ ข้อมูลประชากร เป็นต้น

แต่จะเกิดอะไรขึ้นหากคุณต้องการดูอัตราการทำเหตุการณ์ชุดหนึ่งให้เสร็จสมบูรณ์แทนที่จะมุ่งเน้นที่เหตุการณ์ใดเหตุการณ์หนึ่ง ใน Google Analytics สําหรับ Firebase คุณสามารถใช้กระบวนการเพื่อแสดงภาพและเพิ่มประสิทธิภาพอัตราความสําเร็จของชุดเหตุการณ์ในแอป

สร้าง Funnel

วิธีสร้างช่องทางมีดังนี้

  1. ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Awesome Drawing Quiz ที่คุณสร้างไว้ก่อนหน้านี้
  2. คลิกFunnel
  3. คลิกช่องทางใหม่
  4. ป้อนชื่อและคำอธิบายช่องทาง
  5. เลือก 2 เหตุการณ์แรกที่คุณต้องการใช้เป็นขั้นตอนในช่องทาง
  6. คลิกเพิ่มเหตุการณ์อื่นสำหรับขั้นตอนเพิ่มเติมแต่ละขั้น และเลือกเหตุการณ์
  7. คลิกสร้าง

ทำตามขั้นตอนข้างต้นเพื่อสร้าง Funnel ต่อไปนี้

#1 ชื่อ Funnel: อัตราความสำเร็จของระดับ เหตุการณ์: level_start, level_successd3bc78ef61a261d7.png

#2 ชื่อ Funnel: อัตราการดูโฆษณาที่มีการให้รางวัลจนจบ เหตุการณ์: ad_reward_prompt, ad_reward_impression, ad_reward45c9542dfa663014.png

#3 ชื่อ Funnel: อัตราการเล่นเกมจนจบ เหตุการณ์: game_start, game_completedab25e8501746d5f.png

ดูการวิเคราะห์ Funnel

เมื่อสร้าง Funnel แล้ว คุณจะเข้าถึง Funnel ได้ในเมนู Funnel ในคอนโซล Firebase การคลิกชื่อ Funnel ในรายการจะช่วยให้คุณเห็นการวิเคราะห์โดยละเอียดของ Funnel แต่ละรายการ

620c0e84587c8ad4.png

เช่น คลิกอัตราความสำเร็จของระดับ โดยจะแสดงรายละเอียด Funnel ดังนี้

c889f9b6ece15847.png

จากภาพหน้าจอด้านบน คุณจะเห็นเปอร์เซ็นต์ของผู้ใช้ที่ผ่านด่าน (เรียกเหตุการณ์ level_success) หลังจากเริ่มด่าน (เรียกเหตุการณ์ level_start) ในที่นี้ คุณจะเห็นว่าผู้ใช้ 46.2% ผ่านด่าน

เมื่อคลิกจํานวนเหตุการณ์แล้ว ระบบจะแสดงเมตริกตามจํานวนเหตุการณ์ดังนี้

d044fb7b07e6e0d9.png

จากเมตริกในภาพหน้าจอด้านบน มีการพยายาม 116 ครั้ง (ทริกเกอร์เหตุการณ์ level_start) และผ่านด่าน 57 ครั้ง (ทริกเกอร์เหตุการณ์ level_success) ในช่วงระยะเวลาดังกล่าว

เนื่องจากอัตราการทำจนเสร็จตามเหตุการณ์(49.1%) สูงกว่าอัตราตามผู้ใช้(46.2%) เล็กน้อย คุณจึงกล่าวได้ว่ามีผู้ใช้บางรายที่ทำได้ดีกว่าผู้ใช้รายอื่นๆ

5. ผสานรวมการกำหนดค่าระยะไกลเข้ากับแอป

เนื่องจากคุณอาจได้รับข้อมูลเชิงลึกบางอย่างเกี่ยวกับแอปโดยอิงตามเหตุการณ์ในแอปและ Funnel คุณจึงอาจต้องการเพิ่มประสิทธิภาพแอป ซึ่งโดยปกติแล้วจะรวมถึงการปรับค่าพารามิเตอร์ในแอปอย่างละเอียด หากต้องการแก้ไขค่าของพารามิเตอร์เหล่านั้น คุณจะต้องอัปเดตแอปเพื่อให้ระบบใช้การเปลี่ยนแปลงกับผู้ใช้ได้

การใช้การกำหนดค่าระยะไกลใน Firebase ช่วยให้คุณปรับค่าเหล่านั้นได้โดยไม่ต้องอัปเดตแอป ซึ่งหมายความว่าคุณสามารถเปลี่ยนลักษณะการทำงานของแอปได้โดยไม่ต้องรบกวนผู้ใช้ด้วยการบังคับให้ดาวน์โหลดการอัปเดต

ใน Codelab นี้ คุณจะได้เรียนรู้วิธีปรับจำนวนรางวัล (จำนวนตัวอักษรที่จะเปิดเผยหลังจากดูโฆษณาวิดีโอที่มีการให้รางวัล) โดยไม่ต้องอัปเดตแอปด้วยการใช้การกำหนดค่าระยะไกล

เพิ่ม SDK การกำหนดค่าระยะไกลของ Firebase

  1. ดาวน์โหลด Firebase Unity SDK 5.5.0 แล้วแยกไฟล์ ZIP ไว้ที่ใดก็ได้ที่คุณสะดวก
  2. เปิดโปรเจ็กต์ Unity ของ Awesome Drawing Quiz แล้วไปที่ชิ้นงาน > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
  3. นำเข้า SDK การกำหนดค่าระยะไกล (dotnet4/FirebaseRemoteConfig.unitypackage) จาก SDK ที่แยกไฟล์แล้ว
  4. คลิกนำเข้าในหน้าต่างนำเข้าแพ็กเกจ Unity

นำเข้า Firebase.RemoteConfig

แก้ไข Main.cs เพื่อให้คุณใช้ประเภทจาก Firebase.RemoteConfig ได้โดยไม่ต้องใช้ชื่อที่สมบูรณ์

Scenes/Main.cs

...

using AwesomeDrawingQuiz.Game;

// TODO: Import Firebase.RemoteConfig (102)
using Firebase.RemoteConfig;

namespace AwesomeDrawingQuiz.Scene {
    ...
}

เริ่มต้นและดึงค่าการกำหนดค่าระยะไกล

แก้ไขเมธอด InitAndFetchRemoteConfig() ใน Main.cs เพื่อเริ่มต้นอินสแตนซ์การกำหนดค่าระยะไกลดังนี้ โปรดทราบว่า GameSettings.KEY_REWARD_AMOUNT จะมีชื่อพารามิเตอร์ในการกำหนดค่าระยะไกล (คุณจะประกาศฟิลด์นี้ใน Codelab นี้ในเร็วๆ นี้)

Scenes/Main.cs

private Task InitAndFetchRemoteConfig() {
    // TODO: Initialize and Fetch values from the Remote Config (102)
    Dictionary<string, object> defaults = new Dictionary<string, object>();
    defaults.Add(GameSettings.KEY_REWARD_AMOUNT, 1);
    FirebaseRemoteConfig.SetDefaults(defaults);

    if (Debug.isDebugBuild) {
        ConfigSettings config = new ConfigSettings();
        config.IsDeveloperMode = true;
        FirebaseRemoteConfig.Settings = config;
        return FirebaseRemoteConfig.FetchAsync(System.TimeSpan.Zero);
    } else {
        return FirebaseRemoteConfig.FetchAsync();
    }
}

คุณจะเห็นว่ามีการกำหนดค่าอินสแตนซ์ FirebaseRemoteConfig เพื่อดึงค่าล่าสุดจากเซิร์ฟเวอร์ในโหมดแก้ไขข้อบกพร่องเพื่อช่วยในกระบวนการพัฒนา (IsDeveloperMode = true และ FetchAsync(System.TimeSpan.Zero))

เปิดใช้งานค่าการกำหนดค่าระยะไกลที่ดึงข้อมูลมา

เมื่อดึงค่าการกำหนดค่าระยะไกลได้สำเร็จแล้ว คุณควรเปิดใช้งานค่าเหล่านั้นเพื่อให้พร้อมใช้งานในแอป แก้ไขเมธอด ActivateRemoteConfigValues() ดังนี้

Scenes/Main.cs

private void ActivateRemoteConfigValues() {
    // TODO: Activate fetched Remote Config values (102)
    FirebaseRemoteConfig.ActivateFetched();
}

แก้ไขเมธอด Start()

หากต้องการให้แอปดึงข้อมูลและเปิดใช้งานค่าการกำหนดค่าระยะไกลเมื่อเปิดแอป ให้แก้ไขเมธอด Start() ในไฟล์ Main.cs ดังนี้

Scenes/Main.cs

void Start () {
    ...
    Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
        ...
    }).ContinueWith(task => { 
        // TODO: Call InitAndFetchRemoteConfig() (102)
        InitAndFetchRemoteConfig();
    }).ContinueWith(task => {
        // TODO: Call ActivateRemoteConfigValues() (102)
        ActivateRemoteConfigValues();

        // Enable 'Start a game' button
        UnityMainThreadDispatcher.Instance()
            .Enqueue(() => buttonStartGame.interactable = true);
    });
    #else
    QuizAnalytics.SetScreenName(QuizAnalytics.SCREEN_MAIN);

    // TODO: Call InitAndFetchRemoteConfig() (102)
    InitAndFetchRemoteConfig().ContinueWith(task => {
        // TODO: Call ActivateRemoteConfigValues() (102)
        ActivateRemoteConfigValues();
    });
    #endif
}

ดึงจำนวนรางวัลจากการกำหนดค่าระยะไกล

แก้ไขคลาส GameSettings เพื่อดึงจำนวนรางวัลจากการกำหนดค่าระยะไกล

Game/GameSettings.cs

// TODO: Import Firebase.RemoteConfig (102)
using Firebase.RemoteConfig;

namespace AwesomeDrawingQuiz.Game {
    public class GameSettings {

        ...
        
        // TODO: Apply reward amount from the Remote Config (102)
        public const string KEY_REWARD_AMOUNT = "reward_amount";

        public static GameSettings Instance {
            get {
                return instance;
            }
        }

        ...

        public int RewardAmount {
            get {
                // TODO: Apply reward amount from the Remote Config (102)
                return (int) FirebaseRemoteConfig.GetValue(KEY_REWARD_AMOUNT).LongValue;
            }
            private set { }
        }
    }
}

สร้างพารามิเตอร์การกำหนดค่าระยะไกลจากคอนโซล

จากนั้นคุณจะสร้างพารามิเตอร์การกำหนดค่าระยะไกลใหม่สำหรับจำนวนรางวัลเพื่อให้ปรับค่าได้ทันที

หากต้องการสร้างพารามิเตอร์ใหม่ ให้ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Awesome Drawing Quiz ที่คุณสร้างไว้ก่อนหน้านี้ คลิกปุ่ม Remote Config -> ADD YOUR FIRST PARAMETER

7f52617141c53726.png

ตั้งชื่อพารามิเตอร์เป็น reward_amount และตั้งค่าเริ่มต้นเป็น 1 จากนั้นคลิกปุ่มเพิ่มพารามิเตอร์

cbc771fd1685b29c.png

คลิกปุ่มเผยแพร่การเปลี่ยนแปลงเพื่อให้ผู้ใช้เห็นการเปลี่ยนแปลง

d6a6aa4a60e06ee9.png

6. เปลี่ยนลักษณะการทำงานของแอปด้วยการกำหนดค่าระยะไกล

ตอนนี้คุณสามารถกำหนดค่าจำนวนรางวัลใน Awesome Drawing Quiz ได้ใน Firebase Console โดยไม่ต้องอัปเดตรหัสแอป

ในส่วนนี้ คุณจะเปลี่ยนจำนวนรางวัลจาก 1 เป็น 2 เพื่อให้แอปแสดงตัวอักษรอีก 2 ตัวเป็นคำใบ้หลังจากดูโฆษณาที่มีการให้รางวัล

อัปเดตค่าเริ่มต้นของพารามิเตอร์ reward_amount

ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ Awesome Drawing Quiz ที่คุณสร้างไว้ก่อนหน้านี้ คลิก Remote Config แล้วคลิก reward_amount จากรายการ จากนั้นเปลี่ยนค่าเริ่มต้นเป็น 2 แล้วคลิกปุ่มอัปเดต

9a9bd8a26a39bfe3.png

คลิกปุ่มเผยแพร่การเปลี่ยนแปลงเพื่อให้การเปลี่ยนแปลงมีผลกับผู้ใช้

d6a6aa4a60e06ee9.png

ยืนยันการเปลี่ยนแปลงลักษณะการทำงานของแอป

หากต้องการยืนยันการเปลี่ยนแปลงลักษณะการทำงานของแอป ให้เรียกใช้โปรเจ็กต์อีกครั้ง เมื่อดูโฆษณาที่มีการให้รางวัลจนจบ คุณจะเห็นว่าตอนนี้แอปแสดงตัวอักษร 2 ตัวเป็นรางวัลตามที่เรากำหนดค่าไว้ในคอนโซล Remote Config

ก่อนดูโฆษณาที่มีการให้รางวัล

เฉลยตัวอักษรเพิ่มอีก 2 ตัวเป็นรางวัล

7. สร้างการทดสอบเพื่อเพิ่มประสิทธิภาพจำนวนรางวัล

ตอนนี้คุณเปลี่ยนจำนวนรางวัลได้โดยไม่ต้องเผยแพร่การอัปเดตแอป อย่างไรก็ตาม คุณจะพิจารณาได้อย่างไรว่าการเปลี่ยนแปลงจำนวนหนึ่งๆ นั้นดีต่อแอป

การทดสอบ A/B ของ Firebase ช่วยให้คุณทำการทดสอบเพื่อเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้โดยรวมของแอปได้โดยไม่ต้องอัปเดตแอปหรือสร้างเครื่องมือแยกต่างหากเพื่อเรียกใช้และติดตามประสิทธิภาพของการทดสอบแต่ละรายการ

ออกแบบการทดสอบ

ก่อนสร้างการทดสอบใหม่ คุณควรกำหนดวัตถุประสงค์หรือเป้าหมายของการทดสอบให้ชัดเจน โปรดตรวจสอบรายการต่อไปนี้ก่อนสร้างการทดสอบใหม่

  • อะไร: คุณต้องการเพิ่มประสิทธิภาพอะไร (เช่น ความยากของเกม เวลา/การมองเห็นโฆษณา ฯลฯ)
  • เหตุผล: เป้าหมายทางธุรกิจของคุณในการทําการทดลองคืออะไร (เช่น เพื่อเพิ่มรายได้จากโฆษณาให้ได้สูงสุด เพื่อเพิ่มการคงผู้ใช้ไว้ ฯลฯ)
  • ใคร: ใครบ้างที่ต้องเข้าร่วมการทดสอบ (เช่น ผู้ใช้ทั้งหมด กลุ่มเป้าหมายผู้ใช้ที่เฉพาะเจาะจง เป็นต้น)

ใน Codelab นี้ คุณจะได้สร้างการทดสอบเพื่อเพิ่มประสิทธิภาพมูลค่าของจำนวนรางวัลเพื่อเพิ่มการมีส่วนร่วมของผู้ใช้รายวันของ Awesome Drawing Quiz ให้ได้สูงสุด

สร้างการทดสอบ

เปิดโปรเจ็กต์ Awesome Drawing Quiz จากคอนโซล Firebase เลือกเมนูการทดสอบ A/B แล้วคลิกปุ่มสร้างการทดสอบ

เลือก Remote Config เพื่อสร้างการทดสอบ Remote Config

f38a85328ab54e7e.png

ตั้งชื่อการทดสอบเป็น "จำนวนรางวัล" ดังที่แสดงในภาพหน้าจอต่อไปนี้

15d552adb61c0b08.png

กำหนดค่าตัวเลือกการกำหนดเป้าหมาย ใน Codelab นี้ คุณจะกำหนดเป้าหมายผู้ใช้ Awesome Drawing Quiz ทั้งหมด 100%

61b316741a63050f.png

เนื่องจากวัตถุประสงค์หลักของการทดลองคือการค้นหาค่าที่เหมาะสมซึ่งจะเพิ่มการมีส่วนร่วมของผู้ใช้รายวันให้ได้มากที่สุด ให้เลือกการมีส่วนร่วมของผู้ใช้รายวันเป็นเมตริกหลักที่จะติดตาม

694641b57d90ff65.png

สุดท้าย ให้ตั้งค่ากลุ่มควบคุมและกลุ่มทดสอบเพื่อดูว่ากลุ่มใดมีประสิทธิภาพดีกว่า เลือก reward_amount จากกลุ่มควบคุม และปล่อยให้ค่าไม่เปลี่ยนแปลง สำหรับกลุ่มตัวแปร ให้ตั้งชื่อเป็น "รางวัลน้อยกว่า" จากนั้นเปลี่ยนค่าของ reward_amount เป็น 1

10ed7f5b06858519.png

การกำหนดค่านี้จะทำให้ผู้ที่อยู่ในกลุ่ม "รางวัลน้อย" ได้รับจดหมาย 1 ฉบับเป็นรางวัล ส่วนผู้ที่อยู่ในกลุ่มควบคุมจะได้รับจดหมาย 2 ฉบับเป็นรางวัล ด้วยเหตุนี้ คุณจึงจะเห็นว่าจำนวนรางวัลส่งผลต่อผู้ใช้อย่างไร

เมื่อคลิกปุ่มตรวจสอบ คุณจะเห็นภาพรวมของการทดสอบดังนี้

ae6477ce79f6265d.png

เรียกใช้การทดสอบ

คลิกปุ่มเริ่มการทดสอบเพื่อเรียกใช้การทดสอบ โปรดทราบว่าคุณจะเปลี่ยนการกำหนดค่าการทดสอบไม่ได้เมื่อการทดสอบเริ่มขึ้น

7131bf9b4fa74fa5.png

8. จัดการการทดสอบ

ดูความคืบหน้าของการทดสอบ

คุณสามารถตรวจสอบความคืบหน้าของการทดสอบได้จากเมนู A/B Testing ในคอนโซล Firebase ซึ่งจะมีลักษณะคล้ายกับภาพหน้าจอต่อไปนี้ โปรดทราบว่าคุณยังดูจํานวนผู้ใช้ที่เข้าร่วมการทดสอบในช่วง 30 นาทีที่ผ่านมาได้ในการ์ด

8a7009bdd8871d95.png

เมื่อคลิกการทดสอบจากรายการแล้ว คุณจะเห็นรายละเอียดการทดสอบ จนกว่าการทดสอบจะประกาศตัวแปรที่ให้ผลลัพธ์ดีที่สุดได้ คุณจะเห็นข้อความ"ยังเร็วเกินไปที่จะประกาศตัวแปรที่ให้ผลลัพธ์ดีที่สุด"

a4e7ca3e3f4711cd.png

เมื่อการทดสอบทํางานมาระยะหนึ่งแล้ว ระบบจะเริ่มแสดงข้อมูลที่รวบรวมระหว่างการทดสอบจนถึงตอนนี้ในส่วนภาพรวมการปรับปรุง คุณสามารถเปรียบเทียบประสิทธิภาพของแต่ละตัวแปรเพื่อดูว่าตัวแปรใดมีประสิทธิภาพดีกว่า ภาพหน้าจอด้านล่างแสดงตัวอย่างส่วนภาพรวมการปรับปรุง

e2d00fc27c053fd3.png

จากตารางด้านล่างส่วนภาพรวมการปรับปรุง คุณสามารถตรวจสอบรายละเอียดของเมตริกเป้าหมายของการทดสอบ รวมถึงเมตริกเพิ่มเติมที่ติดตามในการทดสอบได้ ภาพหน้าจอด้านล่างแสดงตัวอย่างส่วนรายละเอียดเมตริก

c3859d642f85cc52.png

เปิดตัวฟีเจอร์ติดตามสำหรับผู้ใช้ทุกคน

หลังจากทำการทดสอบจนได้ตัวแปรที่ได้ผลดีที่สุดแล้ว คุณสามารถเริ่มการทดสอบกับผู้ใช้ทั้ง 100% ได้ เมื่อการทดสอบ A/B พบตัวแปรที่ได้ผลดีที่สุดอย่างชัดเจนแล้ว ระบบจะแนะนําให้คุณเปิดตัวตัวแปรที่ได้ผลดีที่สุดต่อผู้ใช้ทั้งหมด

86cb6a6c07516634.png

แต่แม้การทดสอบจะไม่สามารถระบุผู้นำที่ชัดเจนได้ คุณก็ยังเลือกแสดงตัวแปรให้ผู้ใช้ทั้งหมดเห็นได้

ในหน้าจอรายละเอียดการทดสอบ ให้คลิกเมนูบริบท ( 73afe611adf58774.png) แล้วคลิกเปิดตัวตัวแปร

374e1c72be1d0656.png

เลือกตัวแปรที่จะเปิดตัวต่อผู้ใช้ทั้งหมด แล้วคลิกปุ่มตรวจสอบในการกำหนดค่าระยะไกลเพื่อตรวจสอบการเปลี่ยนแปลงก่อนที่จะทำการเปลี่ยนแปลงในการกำหนดค่าระยะไกล

e176f6e6a72c754.png

หลังจากยืนยันว่าฉบับร่างไม่มีปัญหาแล้ว ให้คลิกปุ่มเผยแพร่การเปลี่ยนแปลงเพื่อให้การเปลี่ยนแปลงมีผลกับผู้ใช้ทั้งหมด

d65d545620ce93f6.png

9. เสร็จเรียบร้อย

คุณได้ทำ Codelab AdMob+Firebase 102 Unity เสร็จแล้ว คุณดูโค้ดที่เสร็จสมบูรณ์สำหรับ Codelab นี้ได้ในโฟลเดอร์ android_studio_folder.png102-complete