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.
- 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 .
- 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 .
- 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ó.
- 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
- 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.
- 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 .
- 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.
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:
- 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ố . - Nhấp vào biểu tượng X bên cạnh điều kiện để xóa nó.
- 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 .
- 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.
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 SetUserBoredOfSubtitle
và SetUserEnjoysSubtitle
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:
- Mở bảng điều khiển Firebase , mở rộng menu Analytics và chọn Định nghĩa tùy chỉnh.
- Từ trang Định nghĩa tùy chỉnh, hãy nhấp vào Tạo thứ nguyên tùy chỉnh .
- 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 .
- Đố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.
- Đầ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:
- Từ trong hộp thoại Chỉnh sửa tham số xuất hiện, nhấp vào Thêm mới .
- Từ danh sách xuất hiện, chọn Thử nghiệm .
- Nhập tên và mô tả cho thử nghiệm của bạn.
- 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.
- 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. - 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
. - 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.
- 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) .
- 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. - 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}}
- 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}}
- Đặ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
- 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.
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?