تتيح لك واجهة برمجة تطبيقات AdMob إنشاء مجموعات التوسّط وعرضها وتعديلها، بما في ذلك:
- تحديد استهداف مجموعة التوسّط بما في ذلك المناطق والتنسيق والمنصّة واستهداف معرّف المعلنين
- إضافة بنود جديدة في مجموعة التوسّط إلى مجموعة توسّط حالية
- الاطّلاع على مجموعات التوسّط التي تشكّل جزءًا من تجربة A/B للتوسّط، ومعرفة بنود مجموعة التوسّط التي تنتمي إلى كل صيغة، أي A أو B
أمثلة
بعد إنشاء بيانات اعتماد OAuth 2.0، تكون مستعدًا لبدء استخدام AdMob API. لطلب الدخول باستخدام بروتوكول OAuth 2.0، يحتاج التطبيق أيضًا إلى معلومات عن النطاق.
في ما يلي معلومات عن نطاق OAuth 2.0:
| النطاق | المعنى |
|---|---|
https://www.googleapis.com/auth/admob.monetization |
الاطّلاع على إعدادات تحقيق الربح المادي في AdMob وإنشاؤها وتعديلها |
https://www.googleapis.com/auth/admob.readonly |
الاطّلاع على جميع بيانات AdMob وقد يشمل ذلك معلومات الحساب وإعدادات المستودع الإعلاني والتوسّط والتقارير والبيانات الأخرى. ولا يتضمّن ذلك البيانات الحسّاسة، مثل الدفعات أو تفاصيل الحملة. |
إنشاء
لإنشاء مجموعة توسّط، يجب تحديد معلومات استهداف مجموعة التوسّط، بما في ذلك الوحدات الإعلانية ذات الصلة. ينشئ المثال التالي مجموعة توسّط جديدة للإعلانات البينية على Android لوحدتَين إعلانيتَين. تتم إضافة سطر واحد لمجموعة التوسّط عند الإنشاء لمصدر إعلانات InMobi. لست بحاجة إلى تضمين شبكة AdMob، إذ ستتم إضافتها تلقائيًا عند الإنشاء.
في مقتطف الرمز أدناه، استبدِل pub-XXXXXXXXXXXXXXXX برقم تعريف الناشر.
بعد ذلك، استبدِل YYYYYYYYYY بآخر 10 أرقام من رقم تعريف الوحدة الإعلانية، مع الالتزام بالتنسيق التالي:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
بما أنّ هناك وحدتَين إعلانيتَين في هذا المثال، يشير YYYYY11111 إلى الوحدة الإعلانية الأولى، ويشير WWWWW11111 إلى عملية ربط الوحدة الإعلانية الأولى. يشير YYYYY22222 وWWWWW22222 إلى الوحدة الإعلانية الثانية وعملية ربط الوحدات الإعلانية.
curl (سطر الأوامر)
استبدِل WWWWWWWWWW برقم تعريف تعيين الوحدة الإعلانية. يمكن العثور على رقم تعريف ربط الوحدة الإعلانية باستخدام طريقة accounts.adUnits.adUnitMappings.list.
curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"displayName": "Test Mediation Group"
"targeting": {
"platform": "ANDROID",
"format": "INTERSTITIAL"
"adUnitIds":["ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222"}
}
"mediationGroupLines": {
"-1": {
"displayName": "test line",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111",
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222"
}
}
}
قائمة
استبدِل pub-XXXXXXXXXXXXXXXX برقم تعريف الناشر لعرض مجموعات التوسّط.
curl (سطر الأوامر)
نموذج طلب:
curl --http1.0 -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
نموذج إجابة:
{ "mediationGroups": [ { "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ", "mediationGroupId": "ZZZZZZZZZZ", "displayName": "Test Mediation Group", "state": "ENABLED", "state": "NOT_RUNNING", "targeting": { "platform": "iOS", "format": "BANNER", "targetedRegionCodes": "[CA]", "adUnits": ["YYYYY11111", "YYYYY22222"] }, "mediationGroupLines": { "11111111111111111": { "id": "11111111111111111", "displayName": "AdMob Network", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "state": "ENABLED", "experimentVariant": "ORIGINAL" }, "22222222222222222": { "id": "22222222222222222", "displayName": "test line", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "150000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222" }, "state": "ENABLED", "experimentVariant": "ORIGINAL" } }, }] }
التصحيح
في ما يلي قائمة بأقنعة الحقول لتعديل مجموعة توسّط. تؤدي التعديلات على الحقول المتكرّرة، مثل العناصر في قائمة، إلى استبدال القيم الحالية بالكامل بقيم جديدة. يمكن تعديل قيم فردية في خريطة من خلال الفهرسة حسب المفتاح.
تتوفّر أقنعة الحقول التالية لتعديل مجموعات التوسّط:
targeting.adUnitIdsmediationGroupLines[mediationGroupLineId]mediationGroupLines[mediationGroupLineId].statemediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]
لتعديل مجموعة توسّط باستخدام سطر جديد في مجموعة التوسّط، استخدِم رقمًا سالبًا مميزًا في mediationGroupLineId. لتعديل بنود مجموعة التوسّط الحالية، يجب الرجوع إلى رقم تعريف بند مجموعة التوسّط في كل من update_mask والحِزمة كما هو موضّح أدناه.
"updateMask" {
paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}
"mediationGroup" {
"mediationGroupLines": {
"123": {
"id": "123"
"adUnitMappings": {
"456": "newAdUnitMappingId"
}
}
}
}
curl (سطر الأوامر)
يضيف المثال أدناه 3 أسطر توسّط جديدة إلى مجموعة توسّط حالية.
يتضمّن updateMask أسطر 3 مجموعات توسّط ذات قيم سلبية مختلفة كعنصر نائب:
updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]
يجب ترجمة الرموز الخاصة لأنّ جميع عناوين URL يجب أن تتوافق مع البنية المحدّدة في مواصفات معرّف الموارد المنتظم (URI)، وبالتالي يصبح updateMask كما يلي:
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
لتشغيل المثال التالي، استبدِل pub-XXXXXXXXXXXXXXXX برقم تعريف الناشر وZZZZZZZZZZ برقم تعريف مجموعة التوسّط. يمكن العثور على معرّف مجموعة التوسّط في واجهة مستخدم AdMob أو باستخدام طريقة accounts.mediationGroups:list.
استبدِل YYYYYYYYYY بآخر 10 أرقام من رقم تعريف الوحدة الإعلانية، باتّباع التنسيق التالي:
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
استبدِل WWWWWWWWWW برقم تعريف تعيين الوحدة الإعلانية. يمكن العثور على رقم تعريف ربط الوحدة الإعلانية باستخدام طريقة accounts.adUnits.adUnitMappings.list.
curl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ?
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"mediationGroupLines": {
"-1": {
"displayName": "test line 2",
"adSourceId": "7681903010231960458",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-2": {
"displayName": "test line 3",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "120000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-3": {
"displayName": "test line 4",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "130000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
}
}
}
EOF