Thử nghiệm A/B cho tính năng dàn xếp

AdMob API có thể tạo thử nghiệm A/B dàn xếp để tối đa hoá hiệu suất quảng cáo bằng cách thử nghiệm nhiều cấu hình. Thử nghiệm A/B cho phép bạn đánh giá 2 biến thể của một nhóm dàn xếp để so sánh kết quả song song và chọn một cấu hình ưu tiên.

Sau đây là ví dụ về những thử nghiệm bạn có thể thiết lập:

  • Thêm hoặc xoá nguồn quảng cáo để xem tác động của các nguồn quảng cáo đó đến nhóm dàn xếp
  • Sử dụng thứ tự khác dạng thác nước bằng cách thay đổi giá trị eCPM thủ công của nguồn quảng cáo
  • Bật hoặc tắt tính năng tối ưu hoá trên nguồn quảng cáo dạng thác nước
  • Thay đổi số lần gọi một nguồn quảng cáo

Ví dụ

Bắt đầu bằng một nhóm dàn xếp hiện có và tạo một biến thể của nhóm đó để xem biến thể nào (A hay B) hoạt động hiệu quả hơn. Thử nghiệm sẽ phân chia người dùng ứng dụng của bạn giữa cấu hình của nhóm dàn xếp hiện có và nhóm dàn xếp biến thể, dựa trên tỷ lệ phần trăm (1%, 10% hoặc 50%) mà bạn cung cấp.

curl (dòng lệnh)

Yêu cầu bằng cách sử dụng curl

  1. Tải tệp khoá bí mật của ứng dụng và tạo thông tin đăng nhập uỷ quyền.

    Trong lần đầu tiên thực hiện bước này, bạn sẽ được yêu cầu chấp nhận một lời nhắc uỷ quyền trong trình duyệt. Trước khi chấp nhận, hãy đảm bảo rằng bạn đã đăng nhập bằng Tài khoản Google có quyền truy cập vào AdMob API. Ứng dụng của bạn sẽ được uỷ quyền truy cập vào dữ liệu thay cho bất kỳ tài khoản nào hiện đang đăng nhập.

    Để xác thực và uỷ quyền, bạn nên sử dụng oauth2l, một công cụ dòng lệnh đơn giản để làm việc với Google OAuth 2.0. Cài đặt oauth2l và chạy lệnh bên dưới, thay thế path_to_credentials_json bằng đường dẫn đến tệp credentials.json mà bạn tải xuống khi đăng ký ứng dụng đám mây. Trong lần chạy đầu tiên, lệnh này sẽ hướng dẫn bạn thực hiện quy trình uỷ quyền OAuth 2.0. Các lần chạy tiếp theo sẽ tự động làm mới mã thông báo.

    oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
    
  2. Tạo thử nghiệm A/B dàn xếp.

    Thay thế pub-XXXXXXXXXXXXXXXX bằng mã nhà xuất bản và ZZZZZZZZZZ bằng mã nhận dạng nhóm dàn xếp. Bạn có thể tìm thấy mã nhóm dàn xếp trong giao diện người dùng AdMob hoặc bằng cách sử dụng phương thức accounts.mediationGroups:list.

    Bạn cần chỉ định treatmentMediationLines và treatmentTrafficPercentage. Tuy nhiên, controlMediationLines được kế thừa từ nhóm dàn xếp mẹ và không cần được chỉ định.

    Yêu cầu sau đây sẽ tạo một thử nghiệm A/B dàn xếp, trong đó biến thể thử nghiệm (còn gọi là biến thể B) chứa một dòng dàn xếp duy nhất cho mạng AdMob bằng chế độ LIVE.

    curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
      "displayName":"Mediation A/B Experiment Test Name",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [{
        "mediationGroupLine": {
          "displayName": "Test mediation group line",
          "adSourceId": "5450213213286189855",
          "cpm_mode": "LIVE"
        }
      }]
    }
    EOF

    Hãy xem phản hồi mẫu bên dưới, trong đó SSSSSSSSSSSSSSSSSSSSSS đại diện cho mã thử nghiệm A/B dàn xếp đã tạo và YYYYYYYYYY đại diện cho 10 chữ số cuối của mã đơn vị quảng cáo, tuân thủ định dạng: ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY.

    {
      "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS",
      "displayName": "Mediation A/B Experiment Test Name",
      "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [
        {
          "mediationGroupLine": {
            "id": "11111111111111111",
            "displayName": "Test mediation group line",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "controlMediationLines": [
        {
          "mediationGroupLine": {
            "id": "22222222222222222",
            "displayName": "AdMob Network (control)",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "state": "RUNNING"
    }
  3. Xác minh rằng thử nghiệm A/B cho hoạt động dàn xếp đang chạy.

    Gọi accounts.mediationGroups:list để nhận trạng thái thử nghiệm A/B dàn xếp cho nhóm dàn xếp đó. Hãy xem hướng dẫn về nhóm dàn xếp để biết thêm thông tin chi tiết.

    mediationAbExperimentState được đặt thành RUNNING cho các thử nghiệm A/B dàn xếp đang hoạt động và NOT_RUNNING nếu không có thử nghiệm nào đang chạy trong nhóm dàn xếp.

    Yêu cầu mẫu:

     curl --http1.0 \
    -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
    
  4. Dừng thử nghiệm A/B dàn xếp và chọn một biến thể.

    Thay thế pub-XXXXXXXXXXXXXXXX bằng mã nhà xuất bản và ZZZZZZZZZZ bằng mã nhận dạng nhóm dàn xếp. Bạn có thể tìm thấy mã nhóm dàn xếp trong giao diện người dùng AdMob hoặc bằng cách sử dụng phương thức accounts.mediationGroups:list.

    Để hoàn tất thử nghiệm, hãy chỉ định biến thể hiệu quả nhất trong yêu cầu:

    • VARIANT_CHOICE_A: Sử dụng các dòng dàn xếp từ Biến thể A và hoàn tất thử nghiệm. Biến thể A chứa các dòng phân phát ban đầu trước khi bạn tạo thử nghiệm.
    • VARIANT_CHOICE_B: Sử dụng các dòng dàn xếp từ Biến thể B và hoàn tất thử nghiệm. Biến thể B chứa các dòng phân phát mới được thêm.

    Yêu cầu mẫu:

     curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
    "variantChoice": "VARIANT_CHOICE_A"
    }
    

    Phản hồi mẫu:

    {
    "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
    "state": "EXPIRED",
    }