Triển khai thử nghiệm A/B cho trò chơi Unity của bạn bằng Cấu hình từ xa Firebase

1. Giới thiệu

Trong lớp học lập trình này, bạn sẽ tìm hiểu cách tạo thử nghiệm Cấu hình từ xa bằng cách sử dụng Thử nghiệm A/B cho trò chơi mẫu, MechaHamster: Tăng cấp với phiên bản Firebase mà bạn đã sửa đổi trong Công cụ cho trò chơi của mình bằng Cấu hình từ xa Firebase .

Thử nghiệm A/B với Cấu hình từ xa cho phép bạn thử nghiệm các thay đổi đối với giao diện người dùng, tính năng hoặc chiến dịch tương tác của ứng dụng trên đối tượng được nhắm mục tiêu trước khi triển khai chúng cho nhiều đối tượng hơn. Bạn cũng có thể sử dụng kết quả thử nghiệm để:

  • Xác định biến thể giá trị thông số nào cải thiện các chỉ số chính như doanh thu và tỷ lệ giữ chân.
  • Khám phá những nhóm nhỏ người dùng thích biến thể nào.
  • Thu thập và lưu trữ dữ liệu thử nghiệm để thực hiện phân tích bổ sung về tác động của việc đặt các giá trị tham số khác nhau.

Đây là bản chất của Thử nghiệm A/B: nó cho phép bạn lấy công cụ mã cho Cấu hình từ xa và khởi chạy các thử nghiệm kiểm soát các giá trị mà khách hàng nhận được, dựa trên các điều kiện Cấu hình từ xa (bao gồm thuộc tính người dùng Google Analytics), triển khai phần trăm, sự kiện chuyển đổi Analytics, và một số sự kết hợp của những điều này.

Trước tiên, bạn sẽ triển khai một điều kiện để chọn những người sẽ được đưa vào thử nghiệm bằng cách đặt thuộc tính người dùng dựa trên hành động của người dùng. Sau đó, bạn sẽ tạo thử nghiệm Thử nghiệm A/B sử dụng thuộc tính người dùng Google Analytics để xác định khách hàng nào được đưa vào thử nghiệm. Và cuối cùng, bạn sẽ sử dụng dữ liệu đó để hiểu thêm về khán giả của mình.

Bạn sẽ học được gì

  • Cách thiết lập Thử nghiệm A/B bằng cách sử dụng các giá trị Cấu hình từ xa được đo lường
  • Cách sử dụng thuộc tính người dùng Google Analytics như một phần điều kiện để được nhận vào thử nghiệm A/B

Điều kiện tiên quyết

Những gì bạn cần

  • Unity 2019.1.0f1 trở lên có hỗ trợ xây dựng iOS và/hoặc Android

2. Kích hoạt Menu gỡ lỗi

Có một Menu gỡ lỗi ẩn trong dự án và nút truy cập menu này tồn tại trong trò chơi nhưng hiện không được bật. Bạn phải kích hoạt nút để truy cập nó từ prefab MainMenu.

  1. Trong trình chỉnh sửa Unity, chọn tab Project , sau đó trong Assets , mở rộng Hamster > Prefabs > Menus và nhấp vào MainMenu .

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

  1. Trong hệ thống phân cấp nhà lắp ghép, tìm đối tượng con bị vô hiệu hóa có tên DebugMenuButton và nhấp vào nó để mở nó trong tab Thanh tra .

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

  1. Trong tab Thanh tra , hãy chọn hộp ở góc trên bên trái bên cạnh trường văn bản chứa DebugMenuButton để bật nó.

The Inspector tab for DebugMenuButton\nwith checkbox

  1. Lưu nhà tiền chế.

Nếu bạn chạy trò chơi trong trình chỉnh sửa hoặc trên thiết bị của mình thì menu bây giờ sẽ có thể truy cập được.

3. Kích hoạt menu con Cấu hình từ xa

  1. Từ tab Dự án trong Unity Editor, hãy mở rộng Tài sản > Hamster > Prefabs > Menu và nhấp đúp vào đối tượng DebugMenu để mở nó trong tab Phân cấp của trình soạn thảo.

    DebugMenu item nested under Assets,\nHamster, Prefabs, Menus
  2. Trong tab Hệ thống phân cấp , mở rộng hệ thống phân cấp và nhấp vào đối tượng phụ bên dưới DebugMenu > Panel , được gắn nhãn Hành động cấu hình từ xa .

Remote Config Actions nested under\nCanvas, DebugMenu

  1. Trong tab Unity Inspector , hãy bật Hành động cấu hình từ xa bằng cách chọn hộp ở bên trái trường văn bản chứa tên đối tượng.

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

Cái này có hai GameObject con có tên là Set Bored Of Subtitle và Set Enjoys Subtitle, cả hai đều được định cấu hình để gọi các phương thức hiện có nhưng chưa được triển khai trong DebugMenu.cs .

4. Đặt lại ghi đè phụ đề về mặc định trong ứng dụng

Trong lớp học lập trình trước , bạn ghi đè giá trị mặc định của tham số dưới dạng JSON và sử dụng các điều kiện để phân phát các biến thể khác nhau. Là một phần của lớp học lập trình này, bạn sẽ xóa điều kiện mà bạn đã tạo và đặt lại điều kiện mặc định trong ứng dụng, đồng thời bạn sẽ chỉ ghi đè điều kiện đó bằng kết quả của Thử nghiệm A/B.

Để bật lại mặc định trong ứng dụng:

  1. Mở trang Cấu hình từ xa trong bảng điều khiển Firebase và nhấp vào biểu tượng bút chì bên cạnh tham số subtitle_override để mở bảng điều khiển bên Chỉnh sửa tham số .
  2. Nhấp vào biểu tượng X bên cạnh điều kiện để xóa nó.
  3. Bên cạnh giá trị mặc định còn lại, hãy bật nút chuyển đổi Sử dụng mặc định trong ứng dụng .

Deleting a condition from the Remote\nConfig parameter editor

  1. Nhấp vào Lưu để lưu thay đổi của bạn, sau đó nhấp vào Xuất bản thay đổi để xuất bản các thay đổi của bạn. Publish\nchanges option on the Remote Config page

5. Đặt thuộc tính người dùng trong chức năng gỡ lỗi

Bây giờ, bạn sẽ viết nội dung hàm cho một số hàm Google Analytics được định cấu hình trước nhưng chưa được triển khai trong DebugMenu.cs (có thể tìm thấy nội dung này trong Nội dung > Hamster > Tập lệnh > Trạng thái).

Các chức năng này đặt thuộc tính người dùng , là những cách để mô tả các phân đoạn cơ sở người dùng của bạn và được sử dụng để ghi lại cảm nhận của người dùng về phụ đề của trò chơi.

Triển khai SetUserBoredOfSubtitleSetUserEnjoysSubtitle bằng cách tìm các phiên bản hiện có của chúng trong DebugMenu.cs và ghi đè chúng như sau:

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

Nếu ứng dụng của bạn được định cấu hình chính xác với Google Analytics, bạn có thể gọi một trong các hàm này để cung cấp thuộc tính cho các điều kiện của Cấu hình từ xa. Để gọi SetUserBoredOfSubtitle từ thiết bị di động, hãy khởi động trò chơi và nhấn nút Debug Menu trong menu chính, sau đó nhấn Set Bored of Subtitle .

6. Tạo thứ nguyên tùy chỉnh

Tiếp theo, bạn sẽ thiết lập các biến thể phụ đề khác nhau cho subtitle_override để xem phụ đề nào hoạt động tốt nhất. Tuy nhiên, trong thử nghiệm A/B, bạn sẽ chỉ phân phát các biến thể này cho những người dùng có cảm xúc về phụ đề hiện tại (như được ghi trong subtitle_sentiment ) bao gồm từ "chán".

Bạn sẽ sử dụng thứ nguyên tùy chỉnh để tạo và theo dõi các thông số tùy chỉnh trên các sự kiện Analytics. Xem Thứ nguyên và chỉ số tùy chỉnh để biết thêm thông tin.

Để tạo thứ nguyên tùy chỉnh mới:

  1. Mở bảng điều khiển Firebase , mở rộng menu Analytics và chọn Định nghĩa tùy chỉnh.
  2. Từ trang Định nghĩa tùy chỉnh, hãy nhấp vào Tạo thứ nguyên tùy chỉnh .
  3. Trong cửa sổ Thứ nguyên tùy chỉnh mới , đặt tên Thứ nguyên thành "Cảm tính phụ đề" và từ trình đơn thả xuống Phạm vi , hãy chọn Người dùng .
  4. Đối với trường Thuộc tính người dùng , hãy chọn subtitle_sentiment.

7. Thiết lập thử nghiệm A/B testing

Tiếp theo, tạo thử nghiệm Thử nghiệm A/B để đặt các giá trị khác nhau cho subtitle_override để thử nghiệm với nhau nhằm tối ưu hóa khả năng giữ chân người dùng trong hai đến ba ngày.

  1. Đầu tiên, chọn Chỉnh sửa trên tham số subtitle_override trên trang Cấu hình từ xa của bảng điều khiển Firebase:

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

  1. Từ trong hộp thoại Chỉnh sửa tham số xuất hiện, nhấp vào Thêm mới .

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

  1. Từ danh sách xuất hiện, chọn Thử nghiệm .

Remote Config parameter page: Add new\nexperiment

  1. Nhập tên và mô tả cho thử nghiệm của bạn.

Experiment name and description\nsection

  1. Tiếp theo, chọn điều kiện nhắm mục tiêu. Đầu tiên, chọn Ứng dụng của bạn từ trình đơn thả xuống.

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

  1. Tiếp theo nhấn And để thêm điều kiện mới, sau đó chọn User Property và chọn subtitle_sentiment . Nếu nó không xuất hiện, hãy nhập thủ công.
  2. Vì bạn chỉ muốn đặt phụ đề cho những người có cảm xúc phụ đề hiện tại bao gồm "chán", hãy chọn chứa và nhập bored .
  3. Bạn có thể tùy ý chọn tỷ lệ phần trăm đối tượng phù hợp với các tiêu chí trên để tiếp xúc với thử nghiệm. Chọn 100% để tránh tình trạng ngẫu nhiên mà bạn không thể dễ dàng kiểm soát được.

A/B Testing Targeting section with\nsubtitle_sentiment selected

  1. Tiếp theo, chọn mục tiêu mà bài kiểm tra sẽ cố gắng tối đa hóa. Chọn thời gian lưu giữ (2-3 ngày) .

A/B Testing Goals section

  1. Tiếp theo, thiết lập các thông số của thử nghiệm và tạo các biến thể phụ đề khác nhau. Các biến thể này là các giá trị khác nhau mà Thử nghiệm A/B sẽ phân phát cho người dùng có subtitle_sentiment chứa 'chán' và Thử nghiệm A/B sẽ xác định biến thể nào là tốt nhất để tối đa hóa khả năng giữ chân.
  2. Nhập giá trị tham số sau cho Biến thể 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. Nhập giá trị tham số sau cho Biến thể 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. Đặt tỷ lệ biến thể với số nguyên như sau:
    • Đường cơ sở : 1
    • Biến thể A : 100
    • Biến thể B : 100
    Điều này sẽ dẫn đến tổng trọng số là 0,5% cho Đường cơ sở, 49,8% cho Biến thể A và 49,8% cho Biến thể B. Variant weights configuration\nsection Các biến thể này chỉ định rằng một trong 201 lần, Thử nghiệm A/B phục vụ mặc định cho những người chán phụ đề, nhưng 200/201 lần, nó sẽ phục vụ một trong hai giá trị mới và ghi đè màn hình tiêu đề.
  5. Lưu và gửi bằng cách nhấp vào Bắt đầu thử nghiệm , sau đó nhấp vào Bắt đầu trên cửa sổ bật lên xác nhận. Click Start to start the\nexperiment

8. Chạy phương thức Set User Property và làm mới

Bây giờ bạn đã đặt các thuộc tính khác nhau về người dùng, sau đó có thể được sử dụng để định hướng logic hoặc cách trình bày trò chơi của bạn.

Nếu trước đây bạn chưa chạy phương thức SetUserProperty hoặc đã đặt nó enjoys , bạn vẫn sẽ thấy phụ đề mặc định khi mở trò chơi.

Nếu bạn đã đặt nó thành bored (trước khi tìm nạp lại), bạn sẽ thấy một trong các giá trị mới theo tỷ lệ khoảng 50/50.

Sau khi thiết bị đã tham gia thử nghiệm Thử nghiệm A/B, các giá trị mà thiết bị nhận được từ thử nghiệm đó sẽ không thay đổi và ổn định cho mỗi lần cài đặt . Do đó, để nhận được một trong các giá trị thử nghiệm khác, bạn phải tạo bản cài đặt mới bằng cách cài đặt lại trò chơi vào cùng một thiết bị/trình mô phỏng hoặc cài đặt trò chơi vào một thiết bị/trình mô phỏng mới.

Trong thử nghiệm A/B thực tế được triển khai trên cơ sở người dùng của bạn, bạn nên đặt đường cơ sở có trọng số tương tự như các biến thể khác. Nhưng trong trường hợp này, bạn chỉ định những xác suất rất sai lệch để xác thực rằng thử nghiệm đang hoạt động. Nếu (trong trường hợp 1/201), bạn vẫn nhận được giá trị mặc định, hãy thử cài đặt lại trò chơi vào thiết bị/trình mô phỏng của bạn.

Một tác dụng khác của việc này là việc chuyển thuộc tính người dùng trở lại enjoys sẽ không thay đổi giá trị trở về đường cơ sở nhưng một lần nữa, bạn có thể thực hiện việc này bằng cách chuyển enjoys và cài đặt lại.

9. Xin chúc mừng!

Bạn đã sử dụng Thử nghiệm A/B cấu ​​hình từ xa để thử nghiệm các giá trị Cấu hình từ xa khác nhau và xác định xem mỗi giá trị đó ảnh hưởng như thế nào đến các chỉ số Analytics.

Những gì chúng tôi đã đề cập

  • Cách thiết lập Thử nghiệm A/B bằng cách sử dụng các giá trị Cấu hình từ xa được đo lường
  • Cách sử dụng Thuộc tính người dùng Google Analytics như một phần điều kiện để được tham gia thử nghiệm Thử nghiệm A/B

Bước tiếp theo

Sau khi thử nghiệm kết thúc, bạn có thể chọn một thử nghiệm từ danh sách thử nghiệm trong dự án của mình để quyết định xem bạn muốn làm gì với thử nghiệm đó. Bạn muốn chọn một người là "người chiến thắng" hay tiến hành nhiều thử nghiệm hơn?