الاستهداف

يوضّح هذا الدليل كيفية تقديم معلومات الاستهداف إلى حزمة تطوير البرامج (SDK) الخاصة بـ "إعلانات Google على الأجهزة الجوّالة".

المتطلبات الأساسية

RequestConfiguration

تجمع RequestConfiguration معلومات الاستهداف التي يتم تطبيقها على مستوى العالم على كل طلب إعلان. للاطّلاع على علامات الاستهداف المتاحة، يُرجى الرجوع إلى مستندات RequestConfiguration.Builder.

أنشئ عنصر RequestConfiguration باستخدام علامات الاستهداف التي تحتاج إليها من خلال أداة الإنشاء الخاصة به، ثم اضبط الإعدادات عن طريق استدعاء MobileAds.setRequestConfiguration().

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

لتطبيق علامات الاستهداف من طلب الإعلان الأول، قدِّم إعدادات الطلب أثناء عملية تهيئة حزمة SDK:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  // Set your targeting tags.
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

CoroutineScope(Dispatchers.IO).launch {
  // Initialize GMA Next-Gen SDK on a background thread.
  MobileAds.initialize(
    this@MainActivity,
    InitializationConfig
      // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
      .Builder("SAMPLE_APP_ID")
      .setRequestConfiguration(requestConfiguration)
      .build()
  ) {
    // Adapter initialization is complete.
  }
  // Other methods on MobileAds can now be called.
}

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
    .Builder()
    // Set your targeting tags.
    .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();

new Thread(
    () -> {
      // Initialize GMA Next-Gen SDK on a background thread.
      MobileAds.initialize(
          this,
          // Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
          new InitializationConfig
              .Builder("SAMPLE_APP_ID")
              .setRequestConfiguration(requestConfiguration)
              .build(),
          initializationStatus -> {
            // Adapter initialization is complete.
          });
      // Other methods on MobileAds can now be called.
    })
    .start();

إعدادات المحتوى الموجّه للأطفال

لأغراض قانون حماية خصوصية الأطفال على الإنترنت (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 = RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.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 = RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

يجب عدم ضبط العلامات التي تفعّل الإعداد الموجّه للأطفال وsetTagForUnderAgeOfConsent() معًا في الوقت نفسه على true. وفي حال ضبطهما معًا، يتم منح الأولوية للإعدادات الموجّهة للأطفال.

فلترة محتوى الإعلانات

للامتثال لسياسة الإعلانات غير الملائمة في Google Play، التي تشمل العروض المرتبطة بالإعلان، يجب أن تكون جميع الإعلانات والعروض المرتبطة بها المعروضة داخل تطبيقك ملائمة لتقييم المحتوى في تطبيقك، حتى إذا كان المحتوى بمفرده ممتثلاً لسياسات Google Play.

يمكن أن تساعدك أدوات مثل التقييم الأقصى للمحتوى الإعلاني في التحكم بشكل أكبر في محتوى الإعلانات التي تظهر للمستخدمين. يمكنك ضبط حد أقصى لتقييم المحتوى، وذلك للمساعدة على الامتثال لسياسات النظام الأساسي.

يمكن للتطبيقات ضبط تقييم أقصى للمحتوى الإعلاني لطلبات عرض الإعلانات باستخدام طريقة setMaxAdContentRating. تكون الإعلانات التي تعرضها AdMob عند ضبط هذا الإعداد ذات تقييم محتوى عند هذا المستوى أو أقل منه. تستند القيم المحتملة لهذه البيانات الإضافية الخاصة بالشبكة إلى تصنيفات المحتوى الرقمي، ويجب أن تكون إحدى السلاسل التالية:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

يضبط الرمز التالي عنصر RequestConfiguration لتحديد أنّ المحتوى الإعلاني المعروض يجب أن يتوافق مع تصنيف المحتوى الرقمي G أو أقل:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setMaxAdContentRating(MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

مزيد من المعلومات عن ضبط الحد الأقصى لتقييم المحتوى لكل طلب إعلان

معالجة الخصوصية للناشرين (إصدار تجريبي)

واجهة برمجة التطبيقات Publisher Privacy Treatment (PPT) هي أداة اختيارية تتيح للتطبيقات تحديد ما إذا كان سيتم إيقاف تخصيص الإعلانات لجميع طلبات الإعلانات باستخدام الطريقة setPublisherPrivacyPersonalizationState(). عند استخدام هذه الميزة، يتم تضمين مَعلمة "معاملة الخصوصية للناشر" (PPT) في جميع طلبات الإعلانات المستقبلية لبقية الجلسة.

بشكلٍ تلقائي، تعرض طلبات الإعلان المُرسَلة إلى Google إعلانات مخصّصة. يؤدي الرمز التالي إلى إيقاف ميزة "تخصيص الإعلانات" لجميع طلبات الإعلانات:

Kotlin

val requestConfiguration = RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

طلب الإعلان

يجمع الكائن AdRequest معلومات الاستهداف التي سيتم إرسالها مع طلب عرض إعلان.

إضافة تفاصيل إضافية خاصة بالشبكة

البيانات الإضافية الخاصة بالشبكة هي تفاصيل إضافية يتم إرسالها مع طلب عرض إعلان وتكون خاصة بمصدر إعلان واحد.

يضبط مقتطف الرمز التالي مفتاح مَعلمة إضافية بقيمة collapsible مع قيمة bottom على Google:

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
  NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build()
NativeAdLoader.load(adRequest, adCallback)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
  new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
    .setGoogleExtrasBundle(extras)
    .build();
NativeAdLoader.load(adRequest, adCallback);

الاستهداف المخصّص

يمكنك تمرير أزواج المفتاح/القيمة المخصّصة لاستهداف الحملات (عناصر الخطوط) على "مدير إعلانات Google". يمرّر المثال التالي زوج مفتاح/قيمة مخصّصًا في طلب عرض إعلان:

Kotlin

// Example: Pass custom targeting "age=25".
val newRequest = AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("age", "25")
  .build()

Java

// Example: Pass custom targeting "age=25".
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
  .putCustomTargeting("age", "25")
  .build();

يمكنك تمرير قيم متعددة لمفتاح على شكل قائمة سلاسل. على سبيل المثال، لاستهداف الأفراد في منتصف العشرينات من العمر بدلاً من استهداف الأشخاص البالغين 25 عامًا فقط.

Kotlin

.putCustomTargeting("age", listOf("24", "25", "26"))

Java

.putCustomTargeting("age", Arrays.asList("24", "25", "26"));

استثناءات الفئات

يمكنك إضافة مستوى استبعاد فئة على مستوى موضع الإعلان إلى طلب باستخدام الطريقة addCategoryExclusion():

Kotlin

// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdRequest.Builder("AD_UNIT_ID")
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

Java

// Example: Exclude "automobile" and "boat" categories.
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
    .addCategoryExclusion("automobile")
    .addCategoryExclusion("boat")
    .build();

اطّلِع على مثال على استبعادات الفئات في "مدير إعلانات Google" للاطّلاع على طريقة تنفيذ استبعادات الفئات في تطبيق Android API Demo.

المعرّفات المقدَّمة من الناشر

يمكنك ضبط معرّف مقدَّم من الناشر (PPID) لاستخدامه في تحديد عدد مرّات الظهور وتقسيم الجمهور واستهدافه وعرض الإعلانات بالتناوب بشكل تسلسلي وعناصر تحكّم أخرى في عرض الإعلانات المستندة إلى الجمهور على جميع الأجهزة.

في ما يلي مثال على ضبط المعرّف المقدَّم من الناشر (PPID):

Kotlin

val adRequest = AdRequest.Builder("AD_UNIT_ID")
  .setPublisherProvidedId("AB123456789")
  .build()

Java

AdRequest adRequest = new AdRequest.Builder("AD_UNIT_ID")
    .setPublisherProvidedId("AB123456789")
    .build();

اطّلِع على مثال على المعرّف المقدَّم من الناشر (PPID) في "مدير الإعلانات" للاطّلاع على طريقة تنفيذ المعرّفات المقدَّمة من الناشر (PPID) في تطبيق Android API Demo.

إشارات مقدَّمة من الناشر

يمكنك إرسال بيانات الجمهور والبيانات السياقية كـ إشارات مقدَّمة من الناشر (PPS) في طلبات الإعلانات. باستخدام ميزة "المعالجة الخاصة"، يمكنك استخدام بيانات المستخدمين لتحسين تحقيق الربح آليًا من خلال إبلاغ مقدّمي عروض الأسعار بخصائص شرائح الجمهور في جميع أنواع المعاملات، وذلك باستخدام التصنيفات النموذجية بدون الحاجة إلى مشاركة معرّفات المستخدمين. يمكن أن تشمل خصائص جمهورك بيانات مستندة إلى السلوك والاهتمامات (معايير تصنيف الجمهور 1.1 الصادرة عن مكتب IAB) وبيانات سياقية (معايير تصنيف المحتوى 2.2 الصادرة عن مكتب IAB).

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 = AdRequest.Builder("AD_UNIT_ID")
  .setGoogleExtrasBundle(extras)
  .build()

Java

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", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));

AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
  .setGoogleExtrasBundle(extras)
  .build();

عنوان URL للمحتوى

لتوفير عنوان URL للمحتوى من أجل الإعلانات المستهدِفة للمحتوى وأمان العلامة التجارية، أضِف ما يلي:

Kotlin

val builder = AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com")
val request = builder.build()

Java

AdRequest.Builder builder = new AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com");
AdRequest 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 = AdRequest.Builder("AD_UNIT_ID")
  .setNeighboringContentUrls(urls)
  .build()

Java

ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdRequest requestWithContent = new AdRequest.Builder("AD_UNIT_ID")
    .setNeighboringContentUrls(urls)
    .build();

يختلف .setNeighboringContentUrls() عن .setContentUrl() في أنّه يُستخدم فقط لضمان ملاءمة المحتوى للعلامة التجارية.