آزمایش A/B میانجیگری

AdMob API می‌تواند آزمایش‌های میانجی A/B برای به حداکثر رساندن عملکرد تبلیغات شما با آزمایش پیکربندی‌های مختلف ایجاد کند. یک تست A/B به شما امکان می دهد دو تغییر از یک گروه میانجی را ارزیابی کنید تا نتایج را در کنار یکدیگر مقایسه کنید و پیکربندی ترجیحی را انتخاب کنید.

در اینجا نمونه‌هایی از آزمایش‌هایی هستند که می‌توانید تنظیم کنید:

  • افزودن یا حذف منابع تبلیغاتی برای مشاهده تأثیر آنها بر گروه میانجی شما
  • استفاده از ترتیب آبشار متفاوت با تغییر مقدار eCPM دستی منابع تبلیغاتی
  • فعال یا غیرفعال کردن بهینه سازی در منابع تبلیغاتی آبشار
  • تغییر تعداد دفعات فراخوانی منبع آگهی

نمونه ها

با یک گروه میانجی موجود شروع کنید و یک تنوع از آن ایجاد کنید تا ببینید کدام نوع، A یا B، عملکرد بهتری دارد. این آزمایش، کاربران برنامه شما را بر اساس درصدی (1٪، 10٪ یا 50٪) که ارائه می‌کنید، بین راه‌اندازی گروه میانجی موجود و تنوع تقسیم می‌کند.

حلقه (خط فرمان)

درخواست با استفاده از curl

  1. فایل اسرار مشتری را بارگیری کنید و اعتبارنامه مجوز ایجاد کنید.

    اولین باری که این مرحله را انجام می‌دهید، از شما خواسته می‌شود که درخواست مجوز را در مرورگر خود بپذیرید. قبل از پذیرش، مطمئن شوید که با یک حساب Google وارد سیستم شده اید که به AdMob API دسترسی دارد. برنامه شما مجاز به دسترسی به داده ها از طرف حسابی که در حال حاضر وارد شده است خواهد بود.

    برای احراز هویت و مجوز، توصیه می کنیم از oauth2l ، یک ابزار خط فرمان ساده برای کار با Google OAuth 2.0 استفاده کنید. oauth2l را نصب کنید و دستور زیر را اجرا کنید و مسیری به فایل credentials.json که هنگام ثبت برنامه ابری خود دانلود می کنید جایگزین path_to_credentials_json کنید. برای اولین اجرا، دستور شما را در جریان مجوز OAuth 2.0 راهنمایی می کند. اجراهای بعدی توکن را به طور خودکار بازخوانی می کنند.

    oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
    
  2. یک آزمایش میانجی A/B ایجاد کنید.

    pub-XXXXXXXXXXXXXXXX با شناسه ناشر خود و ZZZZZZZZZZ با شناسه گروه میانجی خود جایگزین کنید. شناسه گروه میانجی را می‌توان در رابط کاربری AdMob یا با استفاده از روش accounts.mediationGroups:list پیدا کرد.

    باید treatmentMediationLines و treatmentTrafficPercentage را مشخص کنید، با این حال، controlMediationLines از گروه میانجی والد به ارث رسیده است و نیازی به تعیین آنها نیست.

    درخواست زیر یک آزمایش میانجی A/B ایجاد می‌کند که در آن نوع درمان، که به عنوان نوع B نیز شناخته می‌شود، حاوی یک خط میانجی واحد برای شبکه AdMob با استفاده از حالت 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

    پاسخ نمونه را در زیر ببینید که در آن SSSSSSSSSSSSSSSSSSSSSS شناسه آزمایش A/B میانجی ایجاد شده را نشان می دهد و YYYYYYYYYY نشان دهنده 10 رقم آخر شناسه واحد تبلیغات شما است که مطابق با قالب: 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. بررسی کنید که آزمایش میانجی A/B در حال اجرا است.

    با accounts.mediationGroups:list تماس بگیرید تا وضعیت آزمایش A/B میانجی گری آن گروه میانجی را دریافت کنید. برای جزئیات بیشتر به راهنمای گروه های میانجی مراجعه کنید.

    mediationAbExperimentState برای آزمایش‌های میانجی فعال A/B روی RUNNING تنظیم شده است و اگر آزمایشی در گروه میانجی در حال اجرا نباشد NOT_RUNNING شده است.

    نمونه درخواست:

     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. آزمایش میانجی A/B را متوقف کنید و یک نوع را انتخاب کنید.

    pub-XXXXXXXXXXXXXXXX با شناسه ناشر خود و ZZZZZZZZZZ با شناسه گروه میانجی خود جایگزین کنید. شناسه گروه میانجی را می‌توان در رابط کاربری AdMob یا با استفاده از روش accounts.mediationGroups:list پیدا کرد.

    برای تکمیل آزمایش، نوع برنده را در درخواست مشخص کنید:

    • VARIANT_CHOICE_A : از خطوط میانجی از نوع A استفاده کنید و آزمایش را کامل کنید. نوع A شامل خطوط اصلی خدمت قبل از ایجاد آزمایش است.
    • VARIANT_CHOICE_B : از خطوط میانجی از نوع B استفاده کنید و آزمایش را کامل کنید. نوع B شامل خطوط سرویس جدید اضافه شده است.

    نمونه درخواست:

     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"
    }
    

    نمونه پاسخ:

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