Tạo thử nghiệm Cấu hình từ xa Firebase thông qua tính năng Thử nghiệm A/B

Khi sử dụng Cấu hình từ xa Firebase để triển khai chế độ cài đặt cho một ứng dụng có cơ sở người dùng đang hoạt động, bạn phải đảm bảo rằng mình đã thực hiện đúng. Bạn có thể sử dụng thử nghiệm Thử nghiệm A/B để xác định tốt nhất những điều sau:

  • Cách tốt nhất để triển khai một tính năng nhằm tối ưu hoá trải nghiệm người dùng. Thông thường, các nhà phát triển ứng dụng không biết rằng người dùng không thích một tính năng mới hoặc trải nghiệm người dùng cập nhật cho đến khi điểm xếp hạng của ứng dụng trong cửa hàng ứng dụng giảm xuống. Thử nghiệm A/B có thể giúp đo lường xem người dùng có thích các biến thể tính năng mới hay không, hoặc liệu họ có thích ứng dụng như đã tồn tại hay không. Ngoài ra, việc đưa hầu hết người dùng vào một nhóm cơ sở sẽ đảm bảo rằng hầu hết người dùng có thể tiếp tục dùng ứng dụng của bạn mà không phải thấy bất kỳ thay đổi nào về hành vi hoặc giao diện của ứng dụng cho đến khi thử nghiệm kết thúc.
  • Cách tốt nhất để tối ưu hoá trải nghiệm người dùng cho mục tiêu kinh doanh. Đôi khi, bạn đang triển khai các thay đổi đối với sản phẩm để tối đa hoá một chỉ số như doanh thu hoặc tỷ lệ giữ chân. Với thử nghiệm A/B, bạn đặt mục tiêu kinh doanh của mình và Firebase sẽ phân tích thống kê để xác định xem một biến thể có đang hoạt động hiệu quả hơn so với đường cơ sở cho mục tiêu bạn đã chọn hay không.

Để tiến hành thử nghiệm A/B cho các biến thể của tính năng dựa trên giá trị cơ sở, hãy làm như sau:

  1. Tạo thử nghiệm.
  2. Xác thực thử nghiệm của bạn trên thiết bị thử nghiệm.
  3. Quản lý thử nghiệm của bạn.

Tạo thử nghiệm

Thử nghiệm Cấu hình từ xa cho phép bạn đánh giá nhiều biến thể của một hoặc nhiều thông số Cấu hình từ xa.

  1. Đăng nhập vào bảng điều khiển của Firebase và xác minh rằng Google Analytics đã được bật trong dự án của bạn để thử nghiệm có quyền truy cập vào dữ liệu Analytics.

    Nếu không bật Google Analytics khi tạo dự án, bạn có thể bật Google Analytics trên thẻ Tích hợp. Bạn có thể truy cập vào thẻ này bằng cách sử dụng > Cài đặt dự án trong bảng điều khiển của Firebase.

  2. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.

  3. Nhấp vào Tạo thử nghiệm, sau đó chọn Cấu hình từ xa khi được nhắc đối với dịch vụ bạn muốn thử nghiệm.

  4. Nhập Tên và phần Nội dung mô tả (không bắt buộc) cho thử nghiệm rồi nhấp vào Tiếp theo.

  5. Điền vào các trường Nhắm mục tiêu, trước tiên chọn ứng dụng sử dụng thử nghiệm của bạn. Bạn cũng có thể nhắm mục tiêu một nhóm nhỏ người dùng tham gia vào thử nghiệm của mình bằng cách nhấp vào , sau đó chọn các lựa chọn trong danh sách sau:

    • Phiên bản: Một hoặc nhiều phiên bản ứng dụng
    • Số bản dựng: Mã phiên bản của ứng dụng
    • Ngôn ngữ: Một hoặc nhiều ngôn ngữ và ngôn ngữ dùng để chọn những người dùng có thể được đưa vào thử nghiệm
    • Quốc gia/khu vực: Một hoặc nhiều quốc gia hoặc khu vực để chọn người dùng sẽ được đưa vào thử nghiệm
    • Đối tượng người dùng: Đối tượng Analytics được dùng để nhắm mục tiêu người dùng có thể được đưa vào thử nghiệm
    • Thuộc tính người dùng: Một hoặc nhiều thuộc tính người dùng Analytics để chọn những người dùng có thể được đưa vào thử nghiệm
    • Mở lần đầu: Nhắm đến người dùng dựa trên lần đầu tiên họ mở ứng dụng của bạn

      Bạn có thể sử dụng tính năng nhắm mục tiêu người dùng theo thời điểm mở lần đầu sau khi chọn một ứng dụng Android hoặc iOS. Tính năng này được hỗ trợ bởi các phiên bản SDK Cấu hình từ xa sau đây: SDK nền tảng Apple phiên bản 9.0.0 trở lên và SDK Android phiên bản 21.1.1 trở lên (Firebase BoM phiên bản 30.3.0 trở lên).

      Bạn cũng phải bật Analytics trên máy khách trong sự kiện mở đầu tiên.

  6. Đặt Tỷ lệ phần trăm người dùng mục tiêu: Nhập tỷ lệ phần trăm cơ sở người dùng của ứng dụng khớp với các tiêu chí đã đặt trong phần Nhắm mục tiêu đến người dùng mà bạn muốn phân chia đồng đều giữa giá trị cơ sở và một hoặc nhiều biến thể trong thử nghiệm của mình. Tỷ lệ này có thể là bất kỳ tỷ lệ phần trăm nào từ 0,01% đến 100%. Người dùng được chỉ định ngẫu nhiên cho mỗi thử nghiệm, bao gồm cả các thử nghiệm trùng lặp.

  7. Bạn có thể đặt một sự kiện kích hoạt để đảm bảo rằng chỉ dữ liệu từ những người dùng đã kích hoạt một số sự kiện Analytics lần đầu tiên mới được tính trong thử nghiệm (không bắt buộc). Xin lưu ý rằng tất cả người dùng khớp với các thông số nhắm mục tiêu của bạn sẽ nhận được giá trị thử nghiệm Cấu hình từ xa, nhưng chỉ những người dùng kích hoạt sự kiện kích hoạt mới được đưa vào kết quả thử nghiệm.

    Để đảm bảo thử nghiệm hợp lệ, hãy đảm bảo sự kiện bạn chọn xảy ra sau khi ứng dụng của bạn kích hoạt các giá trị cấu hình đã tìm nạp. Ngoài ra, bạn không thể sử dụng các sự kiện sau vì các sự kiện đó luôn xảy ra trước khi kích hoạt các giá trị đã tìm nạp:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. Đối với Mục tiêu của thử nghiệm, hãy chọn chỉ số chính cần theo dõi và thêm mọi chỉ số khác mà bạn muốn theo dõi trong danh sách. Các chỉ số này bao gồm các mục tiêu tích hợp sẵn (giao dịch mua hàng, doanh thu, tỷ lệ giữ chân, người dùng không gặp sự cố, v.v.), Sự kiện chuyển đổi Analytics và các sự kiện khác trong Analytics. Sau khi hoàn tất, hãy nhấp vào Tiếp theo.

  9. Trong phần Biến thể, hãy chọn đường cơ sở và ít nhất một biến thể cho thử nghiệm. Sử dụng danh sách Chọn hoặc tạo mới để thêm một hoặc nhiều tham số muốn thử nghiệm. Bạn có thể tạo một thông số chưa từng được sử dụng trong bảng điều khiển của Firebase, nhưng phải có trong ứng dụng của bạn thì thông số đó mới có hiệu lực. Bạn có thể lặp lại bước này để thêm nhiều thông số vào thử nghiệm.

  10. (không bắt buộc) Để thêm nhiều biến thể vào thử nghiệm, hãy nhấp vào Thêm một biến thể khác.

  11. Thay đổi một hoặc nhiều thông số cho những biến thể cụ thể. Mọi thông số không thay đổi đều giống nhau đối với người dùng không được đưa vào thử nghiệm.

  12. Mở rộng Trọng số biến thể để xem hoặc thay đổi trọng số biến thể cho thử nghiệm. Theo mặc định, mỗi biến thể sẽ có trọng số như nhau. Xin lưu ý rằng trọng số không đồng đều có thể làm tăng thời gian thu thập dữ liệu và bạn không thể thay đổi trọng số sau khi thử nghiệm bắt đầu.

  13. Nhấp vào Xem lại để lưu thử nghiệm của bạn.

Bạn được phép tiến hành tối đa 300 thử nghiệm cho mỗi dự án, có thể bao gồm tối đa 24 thử nghiệm đang chạy, phần còn lại là thử nghiệm nháp hoặc đã hoàn tất.

Xác thực thử nghiệm trên thiết bị thử nghiệm

Đối với mỗi lượt cài đặt Firebase, bạn có thể truy xuất mã thông báo xác thực cài đặt được liên kết với lượt cài đặt đó. Bạn có thể sử dụng mã thông báo này để kiểm thử các biến thể thử nghiệm cụ thể trên thiết bị thử nghiệm đã cài đặt ứng dụng của bạn. Để xác thực thử nghiệm của bạn trên một thiết bị thử nghiệm, hãy làm như sau:

  1. Lấy mã thông báo xác thực cài đặt như sau:

    Swift

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }
    

    Objective-C

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];
    

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin+KTX

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
    
  2. Trên thanh điều hướng của bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  3. Nhấp vào Bản nháp (và/hoặc Chạy cho các thử nghiệm Cấu hình từ xa), di chuột qua thử nghiệm của bạn, nhấp vào trình đơn theo bối cảnh (), sau đó nhấp vào Quản lý thiết bị thử nghiệm.
  4. Nhập mã thông báo xác thực cài đặt cho một thiết bị thử nghiệm và chọn biến thể thử nghiệm để gửi đến thiết bị thử nghiệm đó.
  5. Chạy ứng dụng và xác nhận rằng biến thể đã chọn đang được nhận trên thiết bị thử nghiệm.

Để tìm hiểu thêm về lượt cài đặt Firebase, hãy xem bài viết Quản lý lượt cài đặt Firebase.

Quản lý thử nghiệm của bạn

Cho dù bạn tạo một thử nghiệm bằng Cấu hình từ xa, trình soạn Thông báo hay Tính năng Gửi thông báo trong ứng dụng của Firebase, thì sau đó, bạn đều có thể xác thực và bắt đầu thử nghiệm, theo dõi thử nghiệm trong khi thử nghiệm đang chạy và tăng số lượng người dùng có trong thử nghiệm đang chạy.

Khi thử nghiệm hoàn tất, bạn có thể ghi lại các chế độ cài đặt mà biến thể giành chiến thắng sử dụng, sau đó triển khai các chế độ cài đặt đó cho tất cả người dùng. Hoặc bạn có thể chạy một thử nghiệm khác.

Bắt đầu thử nghiệm

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  2. Nhấp vào Bản nháp, rồi nhấp vào tiêu đề của thử nghiệm.
  3. Để xác thực rằng ứng dụng của bạn có những người dùng sẽ được đưa vào thử nghiệm, hãy mở rộng thông tin chi tiết bản nháp và tìm một số lớn hơn 0% trong mục Nhắm mục tiêu và phân phối (ví dụ: 1% số người dùng phù hợp với tiêu chí).
  4. Để thay đổi thử nghiệm, hãy nhấp vào Chỉnh sửa.
  5. Để bắt đầu thử nghiệm, hãy nhấp vào Bắt đầu thử nghiệm. Mỗi lần, bạn có thể chạy tối đa 24 thử nghiệm cho mỗi dự án.

Theo dõi một thử nghiệm

Khi thử nghiệm đã chạy được một thời gian, bạn có thể kiểm tra tiến trình của thử nghiệm đó và xem kết quả sẽ như thế nào đối với những người dùng đã tham gia vào thử nghiệm cho đến nay.

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  2. Nhấp vào Chạy, sau đó nhấp vào hoặc tìm kiếm tiêu đề của thử nghiệm. Trên trang này, bạn có thể xem nhiều số liệu thống kê được ghi nhận và mô hình hoá về thử nghiệm đang chạy, bao gồm:

    • % chênh lệch so với đường cơ sở: Đo lường mức độ cải thiện của một chỉ số đối với một biến thể nhất định so với đường cơ sở. Được tính bằng cách so sánh phạm vi giá trị của biến thể với phạm vi giá trị của đường cơ sở.
    • Xác suất vượt qua đường cơ sở: Xác suất ước tính mà một biến thể nhất định vượt qua đường cơ sở cho chỉ số đã chọn.
    • observed_metric trên mỗi người dùng: Dựa trên kết quả thử nghiệm, đây là phạm vi dự đoán mà giá trị chỉ số sẽ rơi vào theo thời gian.
    • Tổng observed_metric: Giá trị tích luỹ quan sát được cho giá trị cơ sở hoặc biến thể. Giá trị này được dùng để đo lường hiệu suất của từng biến thể thử nghiệm và được dùng để tính toán Mức độ cải thiện, Phạm vi giá trị, Xác suất vượt qua đường cơ sởXác suất là biến thể tốt nhất. Tuỳ thuộc vào chỉ số đang được đo lường, cột này có thể được gắn nhãn "Thời lượng trên mỗi người dùng", "Doanh thu trên mỗi người dùng", "Tỷ lệ giữ chân" hoặc "Tỷ lệ chuyển đổi".
  3. Sau khi thử nghiệm của bạn chạy được một thời gian (ít nhất 7 ngày đối với FCM và Gửi thông báo trong ứng dụng hoặc 14 ngày đối với Cấu hình từ xa), dữ liệu trên trang này sẽ cho biết biến thể nào (nếu có) là "biến thể dẫn đầu". Một số phép đo có kèm theo biểu đồ thanh trình bày dữ liệu ở định dạng trực quan.

Triển khai thử nghiệm cho tất cả người dùng

Sau khi một thử nghiệm đã chạy đủ lâu để có biến thể "biến thể dẫn đầu" hoặc biến thể hiệu quả nhất, cho chỉ số mục tiêu, bạn có thể phát hành thử nghiệm cho 100% người dùng. Nhờ đó, bạn có thể chọn một biến thể để phát hành cho tất cả người dùng từ giờ trở đi. Ngay cả khi thử nghiệm chưa tạo ra biến thể chiến thắng rõ ràng, bạn vẫn có thể chọn phát hành một biến thể cho tất cả người dùng.

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  2. Nhấp vào Đã hoàn tất hoặc Đang chạy, nhấp vào một thử nghiệm mà bạn muốn phát hành cho tất cả người dùng, nhấp vào trình đơn theo bối cảnh () Triển khai biến thể.
  3. Triển khai thử nghiệm cho tất cả người dùng bằng một trong những cách sau:

    • Đối với thử nghiệm sử dụng trình soạn thông báo, hãy dùng hộp thoại Ra mắt thông báo để gửi thông báo cho những người dùng được nhắm đến còn lại không tham gia thử nghiệm.
    • Đối với thử nghiệm Cấu hình từ xa, hãy chọn một biến thể để xác định các giá trị thông số Cấu hình từ xa cần cập nhật. Tiêu chí nhắm mục tiêu được xác định khi tạo thử nghiệm sẽ được thêm vào dưới dạng một điều kiện mới trong mẫu của bạn, để đảm bảo việc triển khai chỉ ảnh hưởng đến những người dùng mà thử nghiệm nhắm mục tiêu. Sau khi nhấp vào Xem lại trong Cấu hình từ xa để xem lại các thay đổi, hãy nhấp vào Xuất bản các thay đổi để hoàn tất quá trình phát hành.
    • Đối với thử nghiệm Gửi thông báo trong ứng dụng, hãy sử dụng hộp thoại để xác định biến thể nào cần được triển khai dưới dạng một chiến dịch Gửi thông báo trong ứng dụng độc lập. Sau khi chọn, bạn sẽ được chuyển hướng đến màn hình soạn FIAM để thực hiện mọi thay đổi (nếu cần) trước khi xuất bản.

Mở rộng thử nghiệm

Nếu nhận thấy một thử nghiệm không có đủ người dùng cho Thử nghiệm A/B để tuyên bố biến thể dẫn đầu, bạn có thể tăng mức phân phối thử nghiệm để tiếp cận phần trăm lớn hơn trong cơ sở người dùng của ứng dụng.

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  2. Chọn thử nghiệm đang chạy mà bạn muốn chỉnh sửa.
  3. Trong phần Tổng quan về thử nghiệm, hãy nhấp vào trình đơn theo bối cảnh (), sau đó nhấp vào Edit đang chạy thử nghiệm.
  4. Hộp thoại Nhắm mục tiêu hiển thị một tuỳ chọn để tăng tỷ lệ phần trăm người dùng có trong thử nghiệm đang chạy. Chọn một số lớn hơn tỷ lệ phần trăm hiện tại rồi nhấp vào Xuất bản. Thử nghiệm sẽ được đẩy lên tỷ lệ phần trăm người dùng mà bạn đã chỉ định.

Sao chép hoặc dừng một thử nghiệm

  1. Trong mục Engage của trình đơn điều hướng bảng điều khiển của Firebase, hãy nhấp vào Thử nghiệm A/B.
  2. Nhấp vào Đã hoàn tất hoặc Đang chạy, giữ con trỏ trên thử nghiệm của bạn, nhấp vào trình đơn theo bối cảnh (), sau đó nhấp vào Sao chép thử nghiệm hoặc Dừng thử nghiệm.

Nhắm mục tiêu theo người dùng

Bạn có thể nhắm mục tiêu người dùng để đưa vào thử nghiệm của mình bằng cách sử dụng các tiêu chí nhắm mục tiêu người dùng sau.

Tiêu chí nhắm mục tiêu (Các) nhà cung cấp dịch vụ (Các) Giá trị Lưu ý:
Phiên bản chứa,
không chứa,
khớp chính xác,
chứa biểu thức chính quy
Nhập giá trị cho một hoặc nhiều phiên bản ứng dụng mà bạn muốn đưa vào thử nghiệm.

Khi sử dụng bất kỳ toán tử contains nào, không chứa hoặc khớp chính xác, bạn có thể cung cấp một danh sách các giá trị được phân tách bằng dấu phẩy.

Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các neo ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ một chuỗi mục tiêu.

(Các) đối tượng người dùng bao gồm tất cả,
bao gồm ít nhất một trong số,
không bao gồm tất cả,
không bao gồm ít nhất một trong
Chọn một hoặc nhiều đối tượng trong Analytics để nhắm đến những người dùng có thể được đưa vào thử nghiệm của bạn. Một số thử nghiệm nhắm mục tiêu đến các đối tượng Google Analytics có thể cần vài ngày để tích luỹ dữ liệu vì các thử nghiệm đó phải tuân theo độ trễ xử lý dữ liệu của Analytics. Bạn rất có thể gặp phải độ trễ này với những người dùng mới (thường đăng ký vào các đối tượng đủ điều kiện sau 24-48 giờ kể từ khi tạo) hoặc với đối tượng được tạo gần đây.

Đối với Cấu hình từ xa, điều này có nghĩa là ngay cả khi về mặt kỹ thuật, người dùng đủ điều kiện để trở thành một đối tượng, nếu Analytics chưa thêm người dùng đó vào đối tượng đó khi thực thi `fetchAndKích hoạt()`, thì người dùng sẽ không được đưa vào thử nghiệm.

Thuộc tính người dùng Đối với văn bản:
chứa,
không chứa,
khớp chính xác,
chứa biểu thức chính quy

Đối với số:
<, ≤, =, ≥, >
Thuộc tính người dùng Analytics được dùng để chọn những người dùng có thể được đưa vào một thử nghiệm, với nhiều lựa chọn để chọn giá trị thuộc tính người dùng.

Trên ứng dụng, bạn chỉ có thể đặt giá trị chuỗi cho thuộc tính người dùng. Đối với các điều kiện sử dụng toán tử số, dịch vụ Cấu hình từ xa sẽ chuyển đổi giá trị của thuộc tính người dùng tương ứng thành số nguyên/số thực có độ chính xác đơn.
Khi sử dụng toán tử chứa biểu thức chính quy, bạn có thể tạo biểu thức chính quy ở định dạng RE2. Biểu thức chính quy có thể khớp với toàn bộ hoặc một phần của chuỗi phiên bản mục tiêu. Bạn cũng có thể sử dụng các neo ^$ để khớp với phần đầu, phần cuối hoặc toàn bộ một chuỗi mục tiêu.
Quốc gia/Khu vực Không áp dụng Một hoặc nhiều quốc gia/khu vực dùng để chọn những người dùng có thể được đưa vào thử nghiệm.  
Ngôn ngữ Không áp dụng Một hoặc nhiều ngôn ngữ và khu vực dùng để chọn những người dùng có thể được đưa vào thử nghiệm.  
Mở lần đầu Trước
Sau

Nhắm đến người dùng dựa trên lần đầu tiên họ mở ứng dụng của bạn:

  • Chọn Người dùng mới để nhắm đến những người dùng mở ứng dụng của bạn lần đầu tiên sau một ngày và giờ cụ thể trong tương lai.
  • Chọn Phạm vi thời gian để nhắm đến những người dùng mở ứng dụng của bạn lần đầu trong khoảng thời gian trước hoặc sau ngày và giờ bạn chỉ định. Kết hợp các điều kiện TrướcSau để nhắm mục tiêu người dùng trong một khoảng thời gian cụ thể.

Bạn có thể sử dụng tính năng nhắm mục tiêu theo người dùng theo lần mở đầu tiên sau khi chọn một ứng dụng Android hoặc iOS. Tính năng này hiện được hỗ trợ trên các phiên bản SDK Cấu hình từ xa sau: SDK nền tảng Apple phiên bản 9.0.0 trở lên và SDK Android phiên bản 21.1.1 trở lên (Firebase BoM phiên bản 30.3.0 trở lên).

Bạn cũng phải bật Analytics trên máy khách trong sự kiện mở đầu tiên.

Các chỉ số của Thử nghiệm A/B

Khi tạo thử nghiệm, bạn sẽ chọn chỉ số chính hoặc mục tiêu, dùng để xác định biến thể chiến thắng. Bạn cũng nên theo dõi các chỉ số khác để giúp hiểu rõ hơn về hiệu suất của từng biến thể thử nghiệm và theo dõi các xu hướng quan trọng có thể khác nhau đối với mỗi biến thể, chẳng hạn như tỷ lệ giữ chân người dùng, độ ổn định của ứng dụng và doanh thu từ giao dịch mua hàng trong ứng dụng. Bạn có thể theo dõi tối đa 5 chỉ số không phải là mục tiêu trong thử nghiệm của mình.

Ví dụ: giả sử bạn đang sử dụng Cấu hình từ xa để khởi chạy hai luồng trò chơi khác nhau trong ứng dụng của mình và muốn tối ưu hoá cho lượt mua hàng trong ứng dụng cũng như doanh thu từ quảng cáo, nhưng bạn cũng muốn theo dõi độ ổn định và tỷ lệ giữ chân người dùng của từng biến thể. Trong trường hợp này, bạn có thể cân nhắc chọn Tổng doanh thu ước tính làm chỉ số mục tiêu vì chỉ số này bao gồm doanh thu từ giao dịch mua hàng trong ứng dụng và doanh thu từ quảng cáo. Sau đó, đối với phần Các chỉ số khác cần theo dõi, bạn có thể thêm những thông tin sau:

  • Để theo dõi tỷ lệ giữ chân người dùng hằng ngày và hằng tuần, hãy thêm Tỷ lệ giữ chân (2-3 ngày)Tỷ lệ giữ chân (4-7 ngày).
  • Để so sánh độ ổn định giữa hai luồng trò chơi, hãy thêm Người dùng không gặp sự cố.
  • Để xem các chế độ xem chi tiết hơn về từng loại doanh thu, hãy thêm Doanh thu từ giao dịch mua hàngDoanh thu từ quảng cáo ước tính.

Các bảng sau đây cung cấp thông tin chi tiết về cách tính các chỉ số mục tiêu và các chỉ số khác.

Chỉ số Mục tiêu

Chỉ số Mô tả
Số người dùng không gặp sự cố Tỷ lệ phần trăm người dùng không gặp phải lỗi trong ứng dụng của bạn mà SDK Firebase Crashlytics phát hiện trong quá trình thử nghiệm.
Doanh thu quảng cáo ước tính Thu nhập ước tính từ quảng cáo.
Tổng doanh thu ước tính Giá trị kết hợp cho giao dịch mua hàng và doanh thu ước tính từ quảng cáo.
Doanh thu từ giao dịch mua hàng Giá trị kết hợp cho tất cả sự kiện purchasein_app_purchase.
Tỷ lệ giữ chân người dùng (1 ngày) Số người dùng quay lại ứng dụng của bạn hằng ngày.
Tỷ lệ giữ chân người dùng (2-3 ngày) Số người dùng quay lại ứng dụng của bạn trong vòng 2 đến 3 ngày.
Tỷ lệ giữ chân người dùng (4-7 ngày) Số người dùng quay lại ứng dụng của bạn trong vòng 4-7 ngày.
Tỷ lệ giữ chân người dùng (8-14 ngày) Số người dùng quay lại ứng dụng của bạn trong vòng 8-14 ngày.
Tỷ lệ giữ chân người dùng (từ 15 ngày trở lên) Số người dùng quay lại ứng dụng của bạn sau 15 ngày trở lên sau lần sử dụng ứng dụng gần đây nhất.
first_open Một sự kiện Analytics kích hoạt khi người dùng mở ứng dụng lần đầu tiên sau khi cài đặt hoặc cài đặt lại ứng dụng đó. Được dùng trong một phễu chuyển đổi.

Chỉ số khác

Chỉ số Mô tả
notification_dismiss Một sự kiện Analytics kích hoạt khi một thông báo do trình soạn thông báo gửi bị loại bỏ (chỉ dành cho Android).
notification_receive Một sự kiện Analytics kích hoạt khi thiết bị nhận được một thông báo do trình soạn thông báo gửi trong lúc ứng dụng đang chạy ở chế độ nền (chỉ dành cho Android).
os_update Một sự kiện Analytics theo dõi thời điểm hệ điều hành của thiết bị được cập nhật lên phiên bản mới.Để tìm hiểu thêm, hãy xem bài viết Sự kiện được thu thập tự động.
screen_view Một sự kiện Analytics theo dõi các màn hình được xem trong ứng dụng của bạn. Để tìm hiểu thêm, hãy xem bài viết Theo dõi Số lượt xem màn hình.
session_start Một sự kiện Analytics tính số phiên hoạt động của người dùng trong ứng dụng của bạn. Để tìm hiểu thêm, hãy xem bài viết Sự kiện được thu thập tự động.

Xuất dữ liệu BigQuery

Ngoài việc xem dữ liệu thử nghiệm Thử nghiệm A/B trong bảng điều khiển của Firebase, bạn còn có thể kiểm tra và phân tích dữ liệu thử nghiệm trong BigQuery. Mặc dù Thử nghiệm A/B không có bảng BigQuery riêng biệt, nhưng các thành viên thử nghiệm và biến thể được lưu trữ trên mọi sự kiện Google Analytics trong bảng sự kiện Analytics.

Các thuộc tính người dùng chứa thông tin thử nghiệm có dạng userProperty.key like "firebase_exp_%" hoặc userProperty.key = "firebase_exp_01", trong đó 01 là mã thử nghiệm và userProperty.value.string_value chứa chỉ mục (dựa trên 0) của biến thể thử nghiệm.

Bạn có thể sử dụng các thuộc tính người dùng thử nghiệm này để trích xuất dữ liệu thử nghiệm. Điều này mang lại cho bạn khả năng phân chia kết quả thử nghiệm theo nhiều cách khác nhau và xác minh độc lập kết quả của Thử nghiệm A/B.

Để bắt đầu, hãy hoàn thành các bước sau theo mô tả trong hướng dẫn này:

  1. Bật tính năng BigQuery Export cho Google Analytics trong bảng điều khiển của Firebase
  2. Truy cập vào dữ liệu Thử nghiệm A/B bằng BigQuery
  3. Khám phá các truy vấn mẫu

Bật tính năng BigQuery Export cho Google Analytics trong bảng điều khiển của Firebase

Nếu đang dùng gói Spark, bạn có thể dùng hộp cát BigQuery để truy cập vào BigQuery mà không tốn phí, tuân theo các giới hạn của Hộp cát. Hãy xem bài viết Giá và hộp cát BigQuery để biết thêm thông tin.

Trước tiên, hãy đảm bảo rằng bạn đang xuất dữ liệu Analytics sang BigQuery:

  1. Mở thẻ Tích hợp, bạn có thể truy cập vào thẻ này bằng cách sử dụng > Cài đặt dự án trong bảng điều khiển của Firebase.
  2. Nếu bạn đang sử dụng BigQuery với các dịch vụ Firebase khác, hãy nhấp vào Quản lý. Nếu không, hãy nhấp vào Liên kết.
  3. Xem bài viết Giới thiệu về cách liên kết Firebase với BigQuery, rồi nhấp vào Tiếp theo.
  4. Trong phần Định cấu hình chế độ tích hợp, hãy bật nút bật/tắt Google Analytics.
  5. Chọn một khu vực rồi chọn chế độ xuất.

  6. Nhấp vào Liên kết với BigQuery.

Tuỳ thuộc vào cách bạn chọn xuất dữ liệu, có thể mất tới một ngày để các bảng xuất hiện. Để biết thêm thông tin về cách xuất dữ liệu dự án sang BigQuery, hãy xem bài viết Xuất dữ liệu dự án sang BigQuery.

Truy cập vào dữ liệu Thử nghiệm A/B trong BigQuery

Trước khi truy vấn dữ liệu cho một thử nghiệm cụ thể, bạn sẽ muốn có một số hoặc tất cả những thông tin sau để sử dụng trong truy vấn:

  • Mã thử nghiệm: Bạn có thể lấy mã này từ URL của trang Tổng quan về thử nghiệm. Ví dụ: nếu URL của bạn có dạng https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, thì mã thử nghiệm sẽ là 25.
  • Mã tài sản Google Analytics: Đây là mã tài sản Google Analytics gồm 9 chữ số. Bạn có thể tìm thấy mã này trong Google Analytics; mã này cũng xuất hiện trong BigQuery khi bạn mở rộng tên dự án để hiển thị tên bảng sự kiện Google Analytics (project_name.analytics_000000000.events).
  • Ngày thử nghiệm: Để soạn một truy vấn nhanh hơn và hiệu quả hơn, bạn nên giới hạn truy vấn của mình vào các phân vùng bảng sự kiện hằng ngày trên Google Analytics có chứa dữ liệu thử nghiệm – các bảng được xác định bằng hậu tố YYYYMMDD. Vì vậy, nếu thử nghiệm chạy từ ngày 2 tháng 2 năm 2024 đến ngày 2 tháng 5 năm 2024, bạn cần chỉ định một _TABLE_SUFFIX between '20240202' AND '20240502'. Để biết ví dụ, hãy xem phần Chọn giá trị của một thử nghiệm cụ thể.
  • Tên sự kiện: Thông thường, các tên này tương ứng với các chỉ số mục tiêu mà bạn đã định cấu hình trong thử nghiệm. Ví dụ: sự kiện in_app_purchase, sự kiện ad_impression hoặc user_retention.

Sau khi thu thập thông tin cần thiết để tạo truy vấn:

  1. Mở BigQuery trong bảng điều khiển Google Cloud.
  2. Chọn dự án của bạn, sau đó chọn Tạo truy vấn SQL.
  3. Thêm truy vấn của bạn. Để biết các truy vấn mẫu cần chạy, hãy xem phần Khám phá các truy vấn mẫu.
  4. Nhấp vào Run (Chạy).

Truy vấn dữ liệu thử nghiệm bằng cách sử dụng truy vấn được tạo tự động của bảng điều khiển Firebase

Nếu bạn đang sử dụng Gói linh hoạt, trang Tổng quan về thử nghiệm sẽ cung cấp một truy vấn mẫu trả về tên thử nghiệm, biến thể, tên sự kiện và số lượng sự kiện cho thử nghiệm mà bạn đang xem.

Để lấy và chạy truy vấn được tạo tự động:

  1. Trên bảng điều khiển của Firebase, hãy mở Thử nghiệm A/B rồi chọn thử nghiệm A/B mà bạn muốn truy vấn để mở Tổng quan về thử nghiệm.
  2. Từ trình đơn Tùy chọn, bên dưới mục Tích hợp BigQuery, hãy chọn Dữ liệu thử nghiệm truy vấn. Thao tác này sẽ mở dự án của bạn trong BigQuery trong bảng điều khiển Google Cloud Console và cung cấp một truy vấn cơ bản mà bạn có thể dùng để truy vấn dữ liệu thử nghiệm của mình.

Ví dụ sau đây cho thấy một truy vấn được tạo cho một thử nghiệm với 3 biến thể (bao gồm cả đường cơ sở) có tên là "Thử nghiệm chào mừng mùa đông". Phương thức này trả về tên thử nghiệm đang hoạt động, tên biến thể, số sự kiện duy nhất và số lượng sự kiện cho mỗi sự kiện. Lưu ý rằng trình tạo truy vấn không chỉ định tên dự án trong tên bảng, vì trình tạo truy vấn sẽ mở trực tiếp trong dự án của bạn.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Để xem thêm ví dụ về truy vấn, hãy chuyển đến phần Khám phá các truy vấn mẫu.

Khám phá các cụm từ tìm kiếm mẫu

Các phần sau đây cung cấp ví dụ về các truy vấn mà bạn có thể sử dụng để trích xuất dữ liệu thử nghiệm Thử nghiệm A/B từ bảng sự kiện Google Analytics.

Trích xuất giá trị độ lệch chuẩn của giao dịch mua và thử nghiệm từ tất cả thử nghiệm

Bạn có thể sử dụng dữ liệu kết quả thử nghiệm để xác minh kết quả Thử nghiệm A/B trong Firebase một cách độc lập. Câu lệnh BigQuery SQL sau sẽ trích xuất các biến thể thử nghiệm, số lượng người dùng riêng biệt trong mỗi biến thể rồi tính tổng doanh thu từ các sự kiện in_app_purchaseecommerce_purchase, cũng như độ lệch chuẩn cho tất cả các thử nghiệm trong phạm vi thời gian được chỉ định là ngày bắt đầu và ngày kết thúc _TABLE_SUFFIX. Bạn có thể sử dụng dữ liệu thu được từ truy vấn này bằng trình tạo ý nghĩa thống kê cho các phép kiểm thử t một bên để xác minh rằng kết quả mà Firebase cung cấp khớp với bản phân tích của bạn.

Để biết thêm thông tin về cách Thử nghiệm A/B tính toán suy luận, hãy xem phần Diễn giải kết quả kiểm thử.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Chọn các giá trị của một thử nghiệm cụ thể

Truy vấn mẫu sau minh hoạ cách lấy dữ liệu cho một thử nghiệm cụ thể trong BigQuery. Truy vấn mẫu này trả về tên thử nghiệm, tên biến thể (bao gồm cả Đường cơ sở), tên sự kiện và số lượng sự kiện.

  SELECT
    'EXPERIMENT_NAME' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'VARIANT_1_NAME'
      WHEN '2' THEN 'VARIANT_2_NAME'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_ANALYTICS_PROPERTY.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
    AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
  GROUP BY
    experimentVariant, eventName