يوضّح هذا الدليل كيفية تقديم معلومات الاستهداف إلى "SDK لإعلانات Google على الأجهزة الجوّالة".
للحصول على مثال عملي، نزِّل تطبيق Android API Demo.تنزيل العرض التوضيحي لواجهة برمجة التطبيقات
المتطلبات الأساسية
قبل المتابعة، عليك إعداد Google Mobile Ads SDK.
RequestConfiguration
تجمع RequestConfiguration معلومات الاستهداف التي يتم تطبيقها على مستوى العالم على كل طلب عرض إعلان. للاطّلاع على علامات الاستهداف المتاحة، يُرجى الرجوع إلى مستندات RequestConfiguration.Builder.
لتعديل إعدادات الطلب، احصل على أداة إنشاء من الإعدادات الحالية، وأجرِ أي تعديلات محددة، ثم اضبطها على النحو التالي:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration()
MobileAds.setRequestConfiguration(requestConfiguration)جافا
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration();
MobileAds.setRequestConfiguration(requestConfiguration);لضمان تطبيق جميع طلبات الإعلانات لتغييرات إعدادات الطلب، اضبط إعدادات الطلب قبل بدء Google Mobile Ads SDK.
ضبط المعالجة الموجّهة للفئة العمرية
لمساعدتك في إدارة امتثالك للوائح الخصوصية السارية ذات الصلة بالأطفال والمراهقين، توفّر Google Mobile Ads SDK إعدادات المعالجة حسب العمر. وتتيح لك هذه الإعدادات تحديد ما إذا كان على Google Mobile Ads SDK تطبيق إجراءات حماية معيّنة لعرض الإعلانات للأطفال أو المراهقين أو فئة عمرية غير محدّدة.
يمكنك ضبط المعالجة الموجّهة للفئة العمرية باستخدام طريقة setAgeRestrictedTreatment() من خلال واجهة برمجة التطبيقات RequestConfiguration.Builder.
يوضّح المثال التالي أنّه يجب التعامل مع طلبات عرض الإعلانات على أنّها موجّهة إلى الأطفال:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)جافا
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);للإشارة إلى المعالجة الموجّهة إلى المراهقين أو المعالجة غير المحدّدة حسب العمر، استبدِل الإعداد CHILD بما يلي:
TEENUNSPECIFIED
عند استخدام هذا الإعداد، يتضمّن Google Mobile Ads SDK المَعلمة tfat في طلبات الإعلانات. يُرجى الرجوع إلى مستشارك القانوني لتحديد المعالجة الموجّهة للفئات العمرية المناسبة لمستخدمي موقعك الإلكتروني استنادًا إلى التزاماتك القانونية والتنظيمية. لمزيد من المعلومات، اطّلِع على المقالة
وضع علامة على طلب عرض إعلان من أجل المعالجة حسب العمر.
الترحيل إلى إعدادات معالجة الطلبات حسب العمر من TFCD وTFUA
يحلّ إعداد المعالجة الموجّهة للفئة العمرية محلّ الإعدادَين المتوقّفَين .setTagForChildDirectedTreatment() (TFCD) و.setTagForUnderAgeOfConsent() (TFUA).
يعرض الجدول التالي إعدادات TFCD وTFUA وما يعادلها من إعدادات المعالجة حسب العمر:
TFCD
TFCD |
معالجة الطلبات حسب العمر |
|---|---|
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
لم يتم تخصيص أي قيمة .setTagForChildDirectedTreatment() |
AgeRestrictedTreatment.UNSPECIFIED |
| بدون مكافئ | AgeRestrictedTreatment.TEEN |
TFUA
TFUA |
معالجة الطلبات حسب العمر |
|---|---|
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
لم يتم تخصيص أي قيمة .setTagForUnderAgeOfConsent() |
AgeRestrictedTreatment.UNSPECIFIED |
| بدون مكافئ | AgeRestrictedTreatment.TEEN |
فهم تفاعلات المعالجة حسب العمر مع علامتَي TFCD وTFUA
في حال ضبط إعدادات معالجة الطلبات حسب العمر وإعدادات TFCD أو TFUA، تطبّق Google الإعدادات الأكثر تحفّظًا.
إعدادات المحتوى الموجّه إلى الأطفال
لأغراض قانون حماية خصوصية الأطفال على الإنترنت (COPPA)، يتوفّر إعداد يُعرف باسم "وضع علامة للتعامل مع الموقع باعتباره موجّهًا للأطفال". من خلال ضبط هذه العلامة، أنت تقرّ بأنّ هذا الإشعار دقيق وأنّك مخوّل بالتصرف نيابةً عن مالك التطبيق. وأنت تدرك أنّ إساءة استخدام هذا الإعداد قد تؤدي إلى إنهاء حسابك على Google.
بصفتك مطوّر تطبيقات، يمكنك الإشارة إلى ما إذا كنت تريد أن تتعامل Google مع محتواك على أنّه موجّه إلى الأطفال عند إرسال طلب عرض إعلان. إذا أشرت إلى أنّك تريد أن تتعامل Google مع محتواك باعتباره موجّهًا إلى الأطفال، سنتّخذ الخطوات اللازمة لإيقاف الإعلانات المستندة إلى الاهتمامات وإعلانات تجديد النشاط التسويقي في طلب عرض الإعلان هذا.
يمكنك تطبيق الإعداد "موجّه إلى الأطفال" من خلال
setTagForChildDirectedTreatment():
استخدِم الدالة
setTagForChildDirectedTreatmentمعTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEللإشارة إلى أنّك تريد التعامل مع المحتوى الخاص بك باعتباره موجّهًا إلى الأطفال بموجب قانون حماية خصوصية الأطفال على الإنترنت (COPPA)، ما يمنع إرسال معرّف Android الإعلاني (AAID).استخدِم الدالة
setTagForChildDirectedTreatmentمعTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEللإشارة إلى أنّك لا تريد أن يتم التعامل مع محتواك على أنّه موجّه إلى الأطفال بموجب قانون COPPA.استخدِم
setTagForChildDirectedTreatmentمعTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDإذا كنت لا تريد الإشارة إلى كيفية التعامل مع المحتوى الخاص بك بموجب قانون حماية خصوصية الأطفال على الإنترنت في طلبات الإعلانات.
يوضّح المثال التالي أنّك تريد أن يتم التعامل مع المحتوى الخاص بك على أنّه موجّه إلى الأطفال لأغراض قانون COPPA:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)جافا
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setTagForChildDirectedTreatment(
RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);المستخدمون دون سن الرشد
يمكنك وضع علامة على طلبات إعلاناتك لكي يتم التعامل معها بصفتها موجّهة للمستخدمين تحت سن الرشد في المنطقة الاقتصادية الأوروبية. تم تصميم هذه الميزة للمساعدة في تسهيل الامتثال للائحة العامة لحماية البيانات (GDPR). يُرجى العلم بأنك قد تتحمّل التزامات قانونية أخرى بموجب اللائحة العامة لحماية البيانات. يُرجى مراجعة إرشادات الاتحاد الأوروبي والرجوع إلى مستشارك القانوني. يُرجى العِلم أنّ أدوات Google مصمّمة لتسهيل الامتثال ولا تعفي أي ناشر معيّن من التزاماته بموجب القانون. مزيد من المعلومات عن كيفية تأثير اللائحة العامة لحماية البيانات في الناشرين
عند استخدام هذه الميزة، يتم تضمين مَعلمة "وضع علامة على طلب الإعلان للمستخدمين دون سن الرشد في أوروبا" (TFUA) في طلب الإعلان. وتؤدي هذه المَعلمة إلى إيقاف الإعلانات المخصّصة، بما في ذلك تجديد النشاط التسويقي، لجميع طلبات الإعلانات، كما تعمل على إيقاف الطلبات إلى مورّدي الإعلانات من جهات خارجية، مثل وحدات البكسل لقياس الإعلانات وخوادم الإعلانات من جهات خارجية.
كما هو الحال مع الإعدادات الموجّهة إلى الأطفال، تتوفّر طريقة في
RequestConfiguration.Builder لضبط المَعلمة TFUA:
setTagForUnderAgeOfConsent()،
مع الخيارات التالية.
استخدِم الدالة
setTagForUnderAgeOfConsent()معTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEللإشارة إلى أنّك تريد أن يتم التعامل مع طلب عرض الإعلان على أنّه موجّه إلى مستخدمين دون سن الرشد في المنطقة الاقتصادية الأوروبية. ويمنع ذلك أيضًا إرسال المعرّف الإعلاني على Android (AAID).استخدِم الدالة
setTagForUnderAgeOfConsent()معTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEللإشارة إلى أنّك لا تريد أن يتم التعامل مع طلب عرض الإعلان على أنّه موجّه إلى مستخدمين في المنطقة الاقتصادية الأوروبية دون سن الرشد.استخدِم الدالة
setTagForUnderAgeOfConsent()معTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDللإشارة إلى أنّك لم تحدّد ما إذا كان يجب التعامل مع طلب عرض الإعلان على أنّه موجّه إلى مستخدمين دون سن الرشد في المنطقة الاقتصادية الأوروبية.
يوضّح المثال التالي أنّك تريد تضمين TFUA في طلبات الإعلانات:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)جافا
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);يجب عدم ضبط العلامتَين اللتين تتيحان الإعدادات الموجّهة إلى الأطفال
وsetTagForUnderAgeOfConsent() على القيمة نفسها true في الوقت نفسه، وإلا ستكون الأولوية للإعدادات الموجّهة إلى الأطفال.
فلترة محتوى الإعلان
للامتثال لسياسة الإعلانات غير الملائمة في Google Play، التي تشمل العروض المرتبطة بالإعلان، يجب أن تكون جميع الإعلانات والعروض المرتبطة بها المعروضة داخل تطبيقك ملائمة لتقييم المحتوى في تطبيقك، حتى إذا كان المحتوى بمفرده ممتثلاً لسياسات Google Play.
يمكن أن تساعدك الأدوات مثل الحد الأقصى لتقييم محتوى الإعلان على التحكم بشكل أكبر في محتوى الإعلانات التي تظهر للمستخدمين. يمكنك ضبط تقييم أقصى للمحتوى الإعلاني، وذلك للمساعدة في الامتثال لسياسات النظام الأساسي.
يمكن للتطبيقات ضبط تقييم أقصى للمحتوى الإعلاني لطلبات عرض الإعلانات باستخدام طريقة
setMaxAdContentRating. إنّ إعلانات AdMob التي يتم عرضها عند ضبط هذا الإعداد يكون تقييم محتواها مساويًا لهذا المستوى أو أقل منه. تستند القيم المحتملة لهذه السمة الإضافية للشبكة إلى تصنيفات المحتوى الرقمي، ويجب أن تكون إحدى السلاسل التالية:
MAX_AD_CONTENT_RATING_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_AD_CONTENT_RATING_MA
يضبط الرمز التالي عنصر RequestConfiguration لتحديد أنّ المحتوى الإعلاني المعروض يجب أن يتوافق مع تصنيف المحتوى الرقمي الذي لا يزيد عن G:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)جافا
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);مزيد من المعلومات عن ضبط الحد الأقصى لتقييم المحتوى لكل طلب إعلان
معالجة الخصوصية للناشرين (إصدار تجريبي)
واجهة برمجة التطبيقات
Publisher Privacy Treatment
(PPT) هي أداة اختيارية تتيح للتطبيقات تحديد ما إذا كان سيتم إيقاف تخصيص الإعلانات لجميع طلبات الإعلانات باستخدام الطريقة
setPublisherPrivacyPersonalizationState(). عند استخدام هذه الميزة، يتم تضمين مَعلمة "معاملة الخصوصية للناشر" (PPT) في جميع طلبات الإعلانات المستقبلية لبقية الجلسة.
يتم تلقائيًا عرض إعلانات مخصّصة لطلبات الإعلانات المُرسَلة إلى Google. يوقف الرمز التالي ميزة تخصيص الإعلانات لجميع طلبات الإعلانات:
Kotlin
val requestConfiguration =
MobileAds.getRequestConfiguration()
.toBuilder()
.setPublisherPrivacyPersonalizationState(
RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED
)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)جافا
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
.setPublisherPrivacyPersonalizationState(
RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);طلب عرض الإعلان
يجمع العنصر
AdManagerAdRequest معلومات الاستهداف التي سيتم إرسالها مع طلب عرض إعلان.
إضافة تفاصيل إضافية خاصة بالشبكة
البيانات الإضافية الخاصة بالشبكة هي تفاصيل إضافية يتم إرسالها مع طلب عرض إعلان وتكون خاصة بمصدر إعلان واحد.
يضبط مقتطف الرمز التالي مفتاح مَعلمة إضافية بقيمة collapsible مع قيمة bottom في Google:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
adView.loadAd(adRequest)جافا
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest =
new AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();
adView.loadAd(adRequest);الاستهداف المخصّص
يمكنك تمرير أزواج المفتاح/القيمة المخصّصة لاستهداف حملات (بنود إعلانية) في "مدير إعلانات Google". يمرّر المثال التالي زوج مفتاح/قيمة مخصّصًا في طلب عرض إعلان:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder().addCustomTargeting("age", "25").build()جافا
// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest =
new AdManagerAdRequest.Builder().addCustomTargeting("age", "25").build();يمكنك تمرير قيم متعدّدة لمفتاح على شكل قائمة من السلاسل، مثلاً لاستهداف الأفراد في منتصف العشرينات من العمر بدلاً من استهداف الأشخاص البالغين 25 عامًا فقط.
Kotlin
.addCustomTargeting("age", listOf("24", "25", "26"))جافا
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))استثناءات الفئات
يمكنك إضافة مستوى استبعاد فئة على مستوى موضع الإعلان إلى طلب باستخدام طريقة
addCategoryExclusion():
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest =
AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()جافا
// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest =
new AdManagerAdRequest.Builder()
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();اطّلِع على مثال على استبعادات الفئات في "مدير إعلانات Google" للاطّلاع على كيفية تنفيذ استبعادات الفئات في تطبيق Android API Demo.
المعرّفات المقدَّمة من الناشر
يمكنك ضبط معرّف مقدَّم من الناشر (PPID) لاستخدامه في تحديد عدد مرات الظهور وتصنيف الجمهور إلى شرائح واستهدافه وعرض الإعلانات بالتناوب وغيرها من عناصر التحكّم في عرض الإعلانات المستندة إلى الجمهور على جميع الأجهزة.
في ما يلي مثال على ضبط المعرّف المقدَّم من الناشر (PPID):
Kotlin
val adRequest = AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build()جافا
AdManagerAdRequest adRequest =
new AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build();اطّلِع على مثال على المعرّف المقدَّم من الناشر (PPID) في "مدير الإعلانات" للاطّلاع على طريقة تنفيذ المعرّفات المقدَّمة من الناشر (PPID) في تطبيق Android API Demo.
الإشارات المقدَّمة من الناشر
يمكنك إرسال بيانات الجمهور والبيانات السياقية كـ إشارات مقدَّمة من الناشر (PPS) في طلبات الإعلانات. باستخدام الإشارات المقدَّمة من الناشر، يمكنك استخدام بيانات المستخدمين لتحسين تحقيق الربح الآلي من خلال إبلاغ مقدّمي عروض الأسعار بخصائص جمهورك في جميع أنواع المعاملات، وذلك باستخدام التصنيفات المعيارية بدون الحاجة إلى مشاركة معرّفات المستخدمين. يمكن أن تتضمّن خصائص جمهورك بيانات مستندة إلى السلوك والاهتمامات (تصنيف IAB للجمهور 1.1) وبيانات سياقية (تصنيف IAB للمحتوى 2.2).
Kotlin
val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6, 284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4, 5, 6))
val request =
AdManagerAdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()جافا
Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", new ArrayList<>(Arrays.asList(6, 284)));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", new ArrayList<>(Arrays.asList(4, 5, 6)));
AdManagerAdRequest request =
new AdManagerAdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter.class, extras).build();عنوان URL للمحتوى
لتوفير عنوان URL للمحتوى من أجل الإعلانات التي تستهدف المحتوى والحفاظ على أمان العلامة التجارية، أضِف ما يلي:
Kotlin
val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()جافا
AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();أمان العلامة التجارية (إصدار تجريبي)
يمكن للتطبيقات التي تعرض محتوًى ديناميكيًا مخصّصًا لشرائح جمهور مختلفة تقديم قائمة قصيرة بعناوين URL:
Kotlin
val urls =
mutableListOf(
"https://www.mycontenturl1.com",
"https://www.mycontenturl2.com",
"https://www.mycontenturl3.com",
"https://www.mycontenturl4.com",
)
val requestWithContent = AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build()جافا
List<String> urls =
Arrays.asList(
"https://www.mycontenturl1.com",
"https://www.mycontenturl2.com",
"https://www.mycontenturl3.com",
"https://www.mycontenturl4.com");
AdManagerAdRequest requestWithContent =
new AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build();يختلف .setNeighboringContentUrls() عن .setContentUrl() في أنّه يُستخدم فقط
لضمان أمان العلامة التجارية.