বিভিন্ন কনফিগারেশন পরীক্ষা করে আপনার বিজ্ঞাপনের পারফর্ম্যান্স সর্বাধিক করার জন্য AdMob API মধ্যস্থতা A/B পরীক্ষা তৈরি করতে পারে। A/B টেস্ট আপনাকে দুটি মধ্যস্থতা গ্রুপের ভেরিয়েশন মূল্যায়ন করতে দেয় যাতে ফলাফল পাশাপাশি তুলনা করে পছন্দের কনফিগারেশন বেছে নেওয়া যায়।
আপনি যেসব পরীক্ষা সেট-আপ করতে পারেন তার উদাহরণ এখানে দেওয়া হল:
- মধ্যস্থতাকারী গ্রুপে বিজ্ঞাপন সোর্স যোগ করা বা সরিয়ে দেওয়া যাতে সেটির প্রভাব দেখা যায়
- বিজ্ঞাপন সোর্সের ম্যানুয়াল eCPM ভ্যালু পরিবর্তন করে অন্য ওয়াটারফল অর্ডার ব্যবহার করা
- ওয়াটারফল বিজ্ঞাপন সোর্সে অপ্টিমাইজেশন চালু বা বন্ধ করা
- কোনও বিজ্ঞাপন সোর্স কতবার কল করা হবে তা পরিবর্তন করা
উদাহরণ
আগে থেকে থাকা মধ্যস্থতা গ্রুপ দিয়ে শুরু করুন এবং A বা B-এর মধ্যে কোন ভেরিয়েন্টটি আরও ভালো পারফর্ম করে তা দেখতে সেটির একটি ভেরিয়েশন তৈরি করুন। আপনার দেওয়া শতাংশের (১%, ১০% বা ৫০%) উপর ভিত্তি করে, টেস্টটি আপনার আগে থেকে থাকা মধ্যস্থতা গ্রুপ সেট-আপ ও ভেরিয়েন্টের মধ্যে আপনার অ্যাপের ব্যবহারকারীদের ভাগ করে দেয়।
curl (কমান্ড লাইন)
curl ব্যবহার করে অনুরোধ করা
ক্লায়েন্ট সিক্রেট ফাইল লোড করুন এবং অনুমোদন ক্রেডেনশিয়াল তৈরি করুন।
প্রথমবার এই ধাপটি সম্পূর্ণ করার সময়, আপনাকে ব্রাউজারে একটি অনুমোদন প্রম্পট গ্রহণ করতে বলা হয়। সম্মতি জানানোর আগে, AdMob API অ্যাক্সেস করতে পারে এমন Google অ্যাকাউন্ট দিয়ে সাইন-ইন করেছেন কিনা তা নিশ্চিত করুন। বর্তমানে লগ-ইন করা অ্যাকাউন্টের হয়ে আপনার অ্যাপ ডেটা অ্যাক্সেস করার জন্য অনুমোদিত হবে।
যাচাইকরণ ও অনুমোদনের জন্য, আমরা oauth2l ব্যবহার করার সাজেশন দিই, এটি Google OAuth 2.0-এর সাথে কাজ করার জন্য একটি সহজ কমান্ড-লাইন টুল। oauth2l ইনস্টল করুন এবং নিচে দেওয়া কমান্ডটি রান করান, path_to_credentials_json-এর জায়গায় আপনার ক্লাউড অ্যাপ রেজিস্টার করার সময় ডাউনলোড করা
credentials.jsonফাইলের পাথ দিন। প্রথমবার রান করানোর সময়, কমান্ডটি আপনাকে OAuth 2.0 অনুমোদন ফ্লোয়ের মাধ্যমে নিয়ে যাবে। পরবর্তী রান অটোমেটিক টোকেন রিফ্রেশ করে।oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
মিডিয়েশন A/B এক্সপেরিমেন্ট তৈরি করুন।
pub-XXXXXXXXXXXXXXXX-এর জায়গায় আপনার প্রকাশক আইডি এবংZZZZZZZZZZ-এর জায়গায় আপনার মধ্যস্থতা গ্রুপ আইডি লিখুন। AdMob UI-তে অথবাaccounts.mediationGroups:listপদ্ধতি ব্যবহার করে মধ্যস্থতা গ্রুপের আইডি খুঁজে পাওয়া যাবে।আপনাকে
treatmentMediationLinesওtreatmentTrafficPercentageনির্দিষ্ট করতে হবে, তবেcontrolMediationLinesপেরেন্ট মধ্যস্থতা গ্রুপ থেকে উত্তরাধিকার সূত্রে পাওয়া যায় এবং এগুলি নির্দিষ্ট করার প্রয়োজন নেই।নিম্নলিখিত অনুরোধ একটি মধ্যস্থতা A/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 পরীক্ষা ID এবংYYYYYYYYYYআপনার বিজ্ঞাপন ইউনিট ID-এর শেষ ১০টি সংখ্যাকে বোঝায়, যা এই ফর্ম্যাট মেনে চলে: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" }মিডিয়েশন A/B পরীক্ষা চলছে কিনা তা যাচাই করুন।
সেই মধ্যস্থতা গ্রুপের জন্য মধ্যস্থতা A/B এক্সপেরিমেন্টের স্ট্যাটাস পেতে
accounts.mediationGroups:listকল করুন। আরও বিবরণের জন্য মধ্যস্থতা গ্রুপ নির্দেশিকা দেখুন।অ্যাক্টিভ মধ্যস্থতা A/B এক্সপেরিমেন্টের জন্য
mediationAbExperimentStateRUNNINGহিসেবে সেট করা হয় এবং মধ্যস্থতা গ্রুপে কোনও এক্সপেরিমেন্ট না চললে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)"
মধ্যস্থতা A/B এক্সপেরিমেন্ট বন্ধ করুন এবং একটি ভেরিয়েন্ট বেছে নিন।
pub-XXXXXXXXXXXXXXXX-এর জায়গায় আপনার প্রকাশক আইডি এবংZZZZZZZZZZ-এর জায়গায় আপনার মধ্যস্থতা গ্রুপ আইডি লিখুন। AdMob UI-তে অথবাaccounts.mediationGroups:listপদ্ধতি ব্যবহার করে মধ্যস্থতা গ্রুপের আইডি খুঁজে পাওয়া যাবে।পরীক্ষা সম্পূর্ণ করতে, অনুরোধে বিজয়ী ভেরিয়েন্ট উল্লেখ করুন:
VARIANT_CHOICE_A: ভ্যারিয়েন্ট 'ক' থেকে মধ্যস্থতা লাইন ব্যবহার করুন এবং পরীক্ষা সম্পূর্ণ করুন। এক্সপেরিমেন্ট তৈরি করার আগে ভ্যারিয়েন্ট 'ক'-এ আসল পরিবেশন লাইন আছে।VARIANT_CHOICE_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", }