هدف گذاری

این راهنما نحوه ارائه اطلاعات هدفمندی به Google Mobile Ads SDK را توضیح می‌دهد.

پیش نیاز

RequestConfiguration

RequestConfiguration اطلاعات هدفگیری اعمال شده در سطح جهانی برای هر درخواست تبلیغات را جمع آوری می کند. برای تگ های هدفمند موجود، به مستندات RequestConfiguration.Builder مراجعه کنید.

یک شی RequestConfiguration با تگ های هدف مورد نیاز خود با استفاده از سازنده آن ایجاد کنید، سپس با فراخوانی MobileAds.setRequestConfiguration() پیکربندی را تنظیم کنید.

کاتلین

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

MobileAds.setRequestConfiguration(requestConfiguration)

جاوا

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

MobileAds.setRequestConfiguration(requestConfiguration);

برای اعمال تگ های هدف از اولین درخواست تبلیغ، پیکربندی درخواست را در طول اولیه سازی SDK ارائه دهید:

کاتلین

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

CoroutineScope(Dispatchers.IO).launch {
  // Initialize Google Mobile Ads SDK (beta) 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.
}

جاوا

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

new Thread(
    () -> {
      // Initialize Google Mobile Ads SDK (beta) 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 محتوای شما را به‌عنوان هدایت‌شده برای کودکان تلقی کند، اقداماتی را برای غیرفعال کردن IBA و تبلیغات بازاریابی مجدد در آن درخواست آگهی انجام می‌دهیم.

می‌توانید تنظیمات مربوط به کودک را از طریق setTagForChildDirectedTreatment() اعمال کنید:

  • با TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE با setTagForChildDirectedTreatment تماس بگیرید تا نشان دهید که می‌خواهید محتوای شما برای اهداف COPPA به‌عنوان کارگردانی کودک در نظر گرفته شود. این از انتقال شناسه تبلیغاتی اندروید (AAID) جلوگیری می کند.

  • با TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE با setTagForChildDirectedTreatment تماس بگیرید تا نشان دهید که نمی‌خواهید محتوای شما برای اهداف COPPA به‌عنوان کارگردانی کودک در نظر گرفته شود.

  • اگر نمی‌خواهید در درخواست‌های تبلیغاتی نشان دهید که با توجه به COPPA با محتوای شما چگونه رفتار می‌شود، با TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED setTagForChildDirectedTreatment را تماس بگیرید.

مثال زیر نشان می‌دهد که می‌خواهید برای اهداف COPPA، محتوای شما به‌عنوان کارگردانی کودک در نظر گرفته شود:

کاتلین

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

جاوا

RequestConfiguration requestConfiguration = new RequestConfiguration
  .Builder()
  .setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build();

MobileAds.setRequestConfiguration(requestConfiguration);

می‌توانید درخواست‌های تبلیغات خود را برای دریافت درمان برای کاربران زیر سن رضایت در منطقه اقتصادی اروپا (EEA) علامت‌گذاری کنید. این ویژگی برای کمک به تسهیل انطباق با مقررات عمومی حفاظت از داده ها (GDPR) طراحی شده است. توجه داشته باشید که ممکن است تعهدات قانونی دیگری تحت GDPR داشته باشید. راهنمای اتحادیه اروپا را مرور کنید و با مشاور حقوقی خود مشورت کنید. توجه داشته باشید که ابزارهای Google برای تسهیل رعایت قوانین طراحی شده اند و هیچ ناشر خاصی را از تعهداتش بر اساس قانون سلب نمی کند. درباره نحوه تأثیر GDPR بر ناشران بیشتر بیاموزید .

هنگام استفاده از این ویژگی، یک پارامتر برچسب برای کاربران زیر سن رضایت در اروپا (TFUA) در درخواست آگهی گنجانده شده است. این پارامتر تبلیغات شخصی شده، از جمله بازاریابی مجدد را برای همه درخواست‌های تبلیغات غیرفعال می‌کند. همچنین درخواست‌های فروشنده‌های تبلیغات شخص ثالث، مانند پیکسل‌های اندازه‌گیری آگهی و سرورهای آگهی شخص ثالث را غیرفعال می‌کند.

مانند تنظیمات هدایت‌شده توسط کودک، روشی در RequestConfiguration.Builder برای تنظیم پارامتر TFUA وجود دارد: setTagForUnderAgeOfConsent() با گزینه‌های زیر.

  • setTagForUnderAgeOfConsent() با TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE فراخوانی کنید تا نشان دهید که می‌خواهید درخواست آگهی برای کاربران زیر سن رضایت در منطقه اقتصادی اروپا (EEA) درمان شود. این همچنین از انتقال شناسه تبلیغاتی اندروید (AAID) جلوگیری می کند.

  • با TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE setTagForUnderAgeOfConsent() فراخوانی کنید تا نشان دهید که می‌خواهید درخواست تبلیغ برای کاربران زیر سن رضایت در منطقه اقتصادی اروپا (EEA) درمان نشود .

  • با setTagForUnderAgeOfConsent() با TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED تماس بگیرید تا مشخص کنید که آیا درخواست آگهی باید برای کاربران زیر سن رضایت در منطقه اقتصادی اروپا (EEA) درمان شود یا خیر.

مثال زیر نشان می دهد که شما می خواهید TFUA در درخواست های تبلیغاتی شما گنجانده شود:

کاتلین

val requestConfiguration = RequestConfiguration
  .Builder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()

MobileAds.setRequestConfiguration(requestConfiguration)

جاوا

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

MobileAds.setRequestConfiguration(requestConfiguration);

تگ‌هایی که برای فعال کردن تنظیمات Child-directed و 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 نباشد مطابقت داشته باشد:

کاتلین

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

MobileAds.setRequestConfiguration(requestConfiguration)

جاوا

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

MobileAds.setRequestConfiguration(requestConfiguration);

درباره تنظیم حداکثر رتبه بندی محتوا برای هر درخواست آگهی بیشتر بیاموزید.

درمان حریم خصوصی ناشر (بتا)

API درمان حریم خصوصی ناشر (PPT) ابزاری اختیاری است که به برنامه‌ها اجازه می‌دهد با استفاده از روش setPublisherPrivacyPersonalizationState() تعیین کنند که آیا شخصی‌سازی تبلیغات را برای همه درخواست‌های تبلیغاتی خاموش کنند یا خیر. هنگام استفاده از این ویژگی، یک پارامتر درمان حریم خصوصی ناشر (PPT) در تمام درخواست‌های آگهی آینده برای باقیمانده جلسه گنجانده می‌شود.

به‌طور پیش‌فرض، درخواست‌های آگهی به Google آگهی‌های شخصی‌شده ارائه می‌شوند. کد زیر شخصی سازی تبلیغات را برای همه درخواست های تبلیغاتی غیرفعال می کند:

کاتلین

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

MobileAds.setRequestConfiguration(requestConfiguration)

جاوا

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

MobileAds.setRequestConfiguration(requestConfiguration);

درخواست آگهی

شی AdRequest اطلاعات هدف را جمع آوری می کند تا با درخواست تبلیغ ارسال شود.

افزودن امکانات اضافی شبکه

موارد اضافی شبکه جزئیات اضافی هستند که با درخواست تبلیغات ارسال می شوند و مختص یک منبع تبلیغاتی هستند.

قطعه کد زیر یک کلید پارامتر اضافی collapsible با مقدار bottom به Google تنظیم می کند:

کاتلین

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)

جاوا

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 Ad Manager (اقلام خط) ارسال کنید. مثال زیر یک جفت کلید-مقدار سفارشی را در یک درخواست تبلیغ ارسال می‌کند:

کاتلین

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

جاوا

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

می توانید چندین مقدار را برای یک کلید به عنوان لیست رشته ها ارسال کنید. به عنوان مثال، هدف قرار دادن افراد در اواسط بیست سالگی به جای افراد 25 ساله.

کاتلین

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

جاوا

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

استثناهای دسته بندی

با استفاده از متد addCategoryExclusion() می توانید یک سطح محرومیت دسته بندی در سطح اسلات را به یک درخواست اضافه کنید:

کاتلین

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

جاوا

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

برای پیاده‌سازی استثناهای دسته‌بندی در برنامه آزمایشی Android API، مثال Exclusions Category Ad Manager را بررسی کنید.

ناشر شناسه هایی را ارائه کرد

می‌توانید شناسه ارائه‌شده ناشر (PPID) را برای استفاده در محدودیت‌های فرکانس، تقسیم‌بندی و هدف‌یابی مخاطب، چرخش متوالی آگهی و سایر کنترل‌های تحویل آگهی مبتنی بر مخاطب در دستگاه‌ها تنظیم کنید.

در اینجا مثالی از تنظیم PPID آورده شده است:

کاتلین

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

جاوا

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

مثال Ad Manager PPID را برای پیاده سازی شناسه های ارائه شده ناشر (PPID) در برنامه آزمایشی API Android بررسی کنید.

ناشر سیگنال هایی را ارائه کرد

می‌توانید مخاطبان و داده‌های متنی را به‌عنوان سیگنال‌های ارائه‌شده ناشر (PPS) در درخواست‌های آگهی ارسال کنید. با PPS، می‌توانید از داده‌های کاربر خود برای بهبود درآمدزایی برنامه‌ای با برقراری ارتباط با ویژگی‌های مخاطبان خود به پیشنهاد دهندگان در همه انواع تراکنش ، با استفاده از طبقه‌بندی استاندارد، بدون نیاز به اشتراک‌گذاری شناسه‌های کاربر، استفاده کنید. ویژگی‌های مخاطب شما می‌تواند شامل داده‌های رفتاری و مبتنی بر علاقه ( IAB Audience Taxonomy 1.1 ) و داده‌های متنی ( IAB Content Taxonomy 2.2 ) باشد.

کاتلین

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()

جاوا

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 محتوا برای تبلیغات هدفمند محتوا و ایمنی برند، موارد زیر را اضافه کنید:

کاتلین

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

جاوا

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

ایمنی برند (بتا)

برنامه‌هایی که محتوای پویا را برای مخاطبان مختلف نمایش می‌دهند، می‌توانند فهرست کوتاهی از URL‌ها را ارائه دهند:

کاتلین

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()

جاوا

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() متفاوت است زیرا فقط برای ایمنی نام تجاری استفاده می شود.