این راهنما نحوه ارائه اطلاعات هدفگذاری به SDK تبلیغات موبایلی گوگل را توضیح میدهد.
برای مشاهدهی یک مثال کاربردی، اپلیکیشن Android API Demo را دانلود کنید.پیشنیاز
- راهنمای شروع به کار را تکمیل کنید.
درخواست پیکربندی
RequestConfiguration اطلاعات هدفگیری را که به صورت سراسری برای هر درخواست تبلیغ اعمال میشود، جمعآوری میکند. برای مشاهدهی تگهای هدفگیری موجود، به مستندات RequestConfiguration.Builder مراجعه کنید.
برای بهروزرسانی پیکربندی درخواست، یک سازنده از پیکربندی موجود دریافت کنید، هرگونه بهروزرسانی انتخابشده را انجام دهید و آن را به صورت زیر تنظیم کنید:
کاتلین
val requestConfiguration = MobileAds.getRequestConfiguration()
MobileAds.setRequestConfiguration(requestConfiguration)جاوا
RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration();
MobileAds.setRequestConfiguration(requestConfiguration);برای اطمینان از اینکه همه درخواستهای تبلیغات، تغییرات پیکربندی درخواست را اعمال میکنند، قبل از مقداردهی اولیه SDK تبلیغات موبایلی گوگل، پیکربندی درخواست را تنظیم کنید.
محیط کودک محور
برای اهداف قانون حفاظت از حریم خصوصی آنلاین کودکان (COPPA) ، تنظیماتی به نام "برچسب برای رفتار کودک-محور" وجود دارد. با تنظیم این برچسب، شما تأیید میکنید که این اعلان دقیق است و شما مجاز به اقدام از طرف صاحب برنامه هستید. شما متوجه هستید که سوءاستفاده از این تنظیم ممکن است منجر به مسدود شدن حساب گوگل شما شود.
به عنوان یک توسعهدهنده برنامه، میتوانید هنگام ارسال درخواست تبلیغ، مشخص کنید که آیا میخواهید گوگل محتوای شما را به عنوان محتوای کودک محور در نظر بگیرد یا خیر. اگر مشخص کنید که میخواهید گوگل محتوای شما را به عنوان محتوای کودک محور در نظر بگیرد، ما اقداماتی را برای غیرفعال کردن تبلیغات مبتنی بر تعامل (IBA) و تبلیغات بازاریابی مجدد در آن درخواست تبلیغ انجام میدهیم.
شما میتوانید تنظیمات مربوط به فرزند را از طریق setTagForChildDirectedTreatment() اعمال کنید:
برای نشان دادن اینکه میخواهید محتوای شما برای اهداف COPPA به صورت child-directed در نظر گرفته شود، تابع
setTagForChildDirectedTreatmentباTAG_FOR_CHILD_DIRECTED_TREATMENT_TRUEفراخوانی کنید. این کار از انتقال شناسه تبلیغاتی اندروید (AAID) جلوگیری میکند.برای نشان دادن اینکه نمیخواهید محتوای شما برای اهداف COPPA به عنوان محتوای فرزند-محور در نظر گرفته شود، تابع
setTagForChildDirectedTreatmentباTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEفراخوانی کنید.اگر نمیخواهید نحوه برخورد با محتوایتان را در درخواستهای تبلیغ با توجه به COPPA مشخص کنید، تابع
setTagForChildDirectedTreatmentباTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDفراخوانی کنید.
مثال زیر نشان میدهد که شما میخواهید محتوای شما برای اهداف COPPA به عنوان محتوای فرزند-محور در نظر گرفته شود:
کاتلین
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);کاربران زیر سن قانونی
شما میتوانید درخواستهای تبلیغاتی خود را برای دریافت خدمات درمانی برای کاربران در منطقه اقتصادی اروپا (EEA) زیر سن قانونی علامتگذاری کنید. این ویژگی برای کمک به تسهیل رعایت مقررات عمومی حفاظت از دادهها (GDPR) طراحی شده است. توجه داشته باشید که ممکن است تعهدات قانونی دیگری تحت GDPR داشته باشید. راهنماییهای اتحادیه اروپا را بررسی کنید و با مشاور حقوقی خود مشورت کنید. توجه داشته باشید که ابزارهای گوگل برای تسهیل رعایت این مقررات طراحی شدهاند و هیچ ناشر خاصی را از تعهدات خود تحت قانون معاف نمیکنند. درباره چگونگی تأثیر GDPR بر ناشران بیشتر بدانید .
هنگام استفاده از این ویژگی، پارامتر «برچسب برای کاربران زیر سن قانونی در اروپا» (TFUA) در درخواست تبلیغ گنجانده میشود. این پارامتر تبلیغات شخصیسازیشده، از جمله بازاریابی مجدد، را برای همه درخواستهای تبلیغ غیرفعال میکند. همچنین درخواستها به فروشندگان تبلیغات شخص ثالث، مانند پیکسلهای اندازهگیری تبلیغ و سرورهای تبلیغاتی شخص ثالث را غیرفعال میکند.
مانند تنظیمات فرزندمحور، در RequestConfiguration.Builder متدی برای تنظیم پارامتر TFUA وجود دارد: setTagForUnderAgeOfConsent() ، با گزینههای زیر.
تابع
setTagForUnderAgeOfConsent()به همراهTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEفراخوانی کنید تا نشان دهید که میخواهید درخواست تبلیغ برای کاربرانی که در منطقه اقتصادی اروپا (EEA) و زیر سن قانونی هستند، قابل قبول باشد. این کار همچنین از انتقال شناسه تبلیغاتی اندروید (AAID) جلوگیری میکند.تابع
setTagForUnderAgeOfConsent()باTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEفراخوانی کنید تا نشان دهید که میخواهید درخواست تبلیغ، برای کاربرانی که در منطقه اقتصادی اروپا (EEA) و زیر سن قانونی هستند، خدمات ارائه ندهد .تابع
setTagForUnderAgeOfConsent()به همراهTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDفراخوانی کنید تا نشان دهید که مشخص نکردهاید آیا درخواست تبلیغ باید برای کاربرانی که در منطقه اقتصادی اروپا (EEA) و زیر سن قانونی هستند، در نظر گرفته شود یا خیر.
مثال زیر نشان میدهد که شما میخواهید TFUA در درخواستهای تبلیغاتی شما لحاظ شود:
کاتلین
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); تگهایی که تنظیمات Child-directed و setTagForUnderAgeOfConsent() را فعال میکنند، نباید همزمان روی true تنظیم شوند. در این صورت، تنظیمات Child-directed اولویت دارد.
فیلتر کردن محتوای تبلیغات
برای رعایت سیاست تبلیغات نامناسب گوگل پلی که شامل پیشنهادهای مرتبط در یک تبلیغ میشود، تمام تبلیغات و پیشنهادهای مرتبط با آنها که در برنامه شما نمایش داده میشوند، باید برای رتبهبندی محتوای برنامه شما مناسب باشند، حتی اگر خود محتوا با سیاستهای گوگل پلی مطابقت داشته باشد.
ابزارهایی مانند حداکثر امتیاز محتوای تبلیغات میتوانند به شما کمک کنند تا کنترل بیشتری بر محتوای تبلیغاتی که به کاربرانتان نشان داده میشود، داشته باشید. میتوانید حداکثر امتیاز محتوا را برای کمک به رعایت سیاستهای پلتفرم تنظیم کنید.
برنامهها میتوانند با استفاده از متد 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 =
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);درباره تنظیم حداکثر رتبهبندی محتوا برای هر درخواست تبلیغ بیشتر بدانید.
حریم خصوصی ناشر (نسخه بتا)
رابط برنامهنویسی کاربردی (API) «حفظ حریم خصوصی ناشر» (PPT) ابزاری اختیاری است که به برنامهها اجازه میدهد با استفاده از متد setPublisherPrivacyPersonalizationState() خاموش یا غیرفعال کردن شخصیسازی تبلیغات را برای همه درخواستهای تبلیغات مشخص کنند. هنگام استفاده از این ویژگی، پارامتر «حفظ حریم خصوصی ناشر» (PPT) در تمام درخواستهای تبلیغات آینده برای بقیه جلسه گنجانده میشود.
به طور پیشفرض، درخواستهای تبلیغات به گوگل، تبلیغات شخصیسازیشده ارائه میشوند. کد زیر شخصیسازی تبلیغات را برای همه درخواستهای تبلیغات غیرفعال میکند:
کاتلین
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 تنظیم میکند:
کاتلین
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 Ad Manager (موارد خطی) ارسال کنید. مثال زیر یک جفت کلید-مقدار سفارشی را در یک درخواست تبلیغ ارسال میکند:
کاتلین
// 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();شما میتوانید چندین مقدار را برای یک کلید به صورت لیستی از رشتهها ارسال کنید. به عنوان مثال، برای هدف قرار دادن افرادی که در اواسط دهه بیست زندگی خود هستند به جای فقط ۲۵ سال.
کاتلین
.addCustomTargeting("age", listOf("24", "25", "26"))جاوا
.addCustomTargeting("age", Arrays.asList("24", "25", "26"))استثنائات دستهبندی
شما میتوانید با استفاده از متد addCategoryExclusion() یک سطح استثنا برای دستهبندیهای سطح اسلات به یک درخواست اضافه کنید:
کاتلین
// 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();برای پیادهسازی حذف دستهبندیها در برنامه آزمایشی API اندروید ، مثال «حذف دستهبندیهای مدیر تبلیغات» را بررسی کنید.
شناسههای ارائه شده توسط ناشر
شما میتوانید یک شناسه ارائه شده توسط ناشر (PPID) را برای استفاده در محدود کردن فرکانس، تقسیمبندی و هدفگیری مخاطبان، چرخش متوالی تبلیغات و سایر کنترلهای ارائه تبلیغات مبتنی بر مخاطب در دستگاهها تنظیم کنید.
در اینجا مثالی از تنظیم PPID آورده شده است:
کاتلین
val adRequest = AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build()جاوا
AdManagerAdRequest adRequest =
new AdManagerAdRequest.Builder().setPublisherProvidedId("AB123456789").build();برای پیادهسازی شناسههای ارائه شده توسط ناشر (PPID) در برنامه آزمایشی API اندروید، به مثال PPID مدیر تبلیغات مراجعه کنید.
سیگنالهای ارائه شده توسط ناشر
شما میتوانید دادههای مخاطب و زمینهای را به عنوان سیگنالهای ارائه شده توسط ناشر (PPS) در درخواستهای تبلیغاتی ارسال کنید. با PPS، میتوانید از دادههای کاربر خود برای بهبود کسب درآمد برنامهریزیشده استفاده کنید و با استفاده از طبقهبندیهای استاندارد، ویژگیهای مخاطبان خود را به پیشنهاددهندگان در انواع تراکنشها ، بدون نیاز به اشتراکگذاری شناسههای کاربر، منتقل کنید. ویژگیهای مخاطبان شما میتواند شامل دادههای رفتاری و مبتنی بر علاقه ( طبقهبندی مخاطبان IAB 1.1 ) و دادههای زمینهای ( طبقهبندی محتوای IAB 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 =
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 محتوا برای تبلیغات هدفمند محتوا و ایمنی برند، موارد زیر را اضافه کنید:
کاتلین
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ها را ارائه دهند:
کاتلین
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() متفاوت است، زیرا فقط برای ایمنی برند استفاده میشود.