پیش نیازها
این راهنمای پیاده سازی فرض می کند که شما با موارد زیر آشنا هستید:
- پروتکل پیاده سازی تبلیغات جستجوی سفارشی AFS (CSA).
- توسعه اپلیکیشن اندروید
- مرتبط کردن Google Mobile Ads SDK برای Android (اکنون بخشی از خدمات Google Play) با یک پروژه Android Studio. نسخه 9.0.0 خدمات Google Play مورد نیاز است.
کلاس ها
برای ارائه تبلیغات AFSMA (که به عنوان تبلیغات جستجوی ارتفاع پویا نیز شناخته می شود) در برنامه خود، کلاس های زیر را اجرا کنید:
- این کلاس از کلاس Android
ViewGroup
ارث می برد و تبلیغات AFSMA را نمایش می دهد.SearchAdView
درخواست آگهی را باDynamicHeightSearchAdRequest
می کند و تبلیغات برگشتی را ارائه می دهد.SearchAdView
باید به هر یک از گروههای نمایش موجود برنامه اضافه شود. -
SearchAdView
باید با زمینهای کهSearchAdView
در آن اجرا میشود، نمونهسازی شود، معمولاً یکActivity
. - هنگامی که
SearchAdView
نمونه سازی شد، برای درخواست تبلیغات AFSMA باید متدsetAdSize()
باAdSize.SEARCH
فراخوانی کنید. سایر مقادیر enum آگهیهایی را درخواست میکنند که با AFS برای برنامههای موبایل سازگار نیستند. - متد
setAdUnitId()
را روی این شی با کد ویژگی خود فراخوانی کنید.
DynamicHeightSearchAdRequest.Builder
- این کلاس پارامترهای درخواست آگهی را کپسوله می کند. این مشابه با تنظیم پارامترها در اشیاء درخواست آگهی جاوا اسکریپت (گزینههای صفحه، گزینههای واحد) برای وب دسکتاپ و موبایل AFS است.
- پارامترها را با تنظیم کننده های مناسب تنظیم کنید (به عبارت دیگر،
setQuery()
را برای تنظیم پارامتر query فراخوانی کنید.
اجرای نمونه
مثال زیر نشان می دهد که از یک Activity
برای ایجاد SearchAdView
به عنوان نمای فرعی یک ViewGroup
استفاده می شود. برای درخواست صحیح تبلیغات AFSMA، شی SearchAdView
باید متد setAdSize()
با AdSize.SEARCH
فراخوانی کند.
// MainActivity.java implementation
// (MainActivity is a subclass of Activity)
// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);
// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");
// Add searchAdView to parent view group
...
در همان Activity
، یک DynamicHeightSearchAdRequest.Builder
ایجاد کنید که پارامترهای تبلیغی را که در SearchAdView
ارائه میشوند را دیکته میکند. تبلیغات AFSMA مانند تبلیغات جستجوی سفارشی AFS پیکربندی می شوند. برای جزئیات بیشتر به مرجع تبلیغات جستجوی سفارشی AFS مراجعه کنید.
// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);
// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");
// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);
سایر گزینه های سفارشی سازی با تنظیم ویژگی های اضافی در شی DynamicHeightSearchAdRequest.Builder
امکان پذیر است.
برای درخواست تبلیغ، متد loadAd()
را با شی DynamicHeightSearchAdRequest.Builder
از شی SearchAdView
فراخوانی کنید:
searchAdView.loadAd(builder.build());
گزینه های پیشرفته
بیشتر پارامترهای درخواست آگهی را می توان از طریق متدهای تنظیم کننده در شی DynamicHeightSearchAdRequest.Builder
تنظیم کرد. هر پارامتری که متد تنظیم کننده در DynamicHeightSearchAdRequest.Builder
ندارد را می توان با استفاده از جفت های کلید-مقدار با متد setAdvancedOptionValue()
تنظیم کرد. برای فهرست کامل تنظیماتی که می توان با متد setAdvancedOptionValue()
تنظیم کرد، به مرجع تبلیغات جستجوی سفارشی AFS مراجعه کنید.
پارامتر کلید باید با "csa_" پیشوند شود تا ویژگی به درستی تنظیم شود.
// Advanced customization options (set using key-value pair)
// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");
// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");
اگر از روش تنظیم کننده پارامتر استفاده کنید و آن را با استفاده از setAdvancedOptionValue
تنظیم کنید، فراخوانی دوم مقدار تماس اول را لغو می کند.
بررسی خطاها
SearchAdView
( searchAdView
در اینجا) حاوی یک متد setAdListener()
است تا به شما در بررسی خطاها کمک کند. در همان Activity
:
searchAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Called when an ad is loaded
super.onAdLoaded();
Toast.makeText(MainActivity.this, "Ad Loaded",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
}
@Override
public void onAdOpened() {
// Called when an ad opens an overlay that covers the screen
super.onAdOpened();
Toast.makeText(MainActivity.this, "Ad Opened",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
}
@Override
public void onAdLeftApplication() {
// Called when an ad leaves the application
// (to go to the browser for example)
super.onAdLeftApplication();
Toast.makeText(MainActivity.this, "Ad Left Application",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Called when an ad request failed
super.onAdFailedToLoad(errorCode);
Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
Toast.LENGTH_SHORT).show();
Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
errorCode);
}
});
ثابتهای مورد استفاده در متد onAdFailedToLoad()
در مرجع API توضیح داده شدهاند.
برای الزامات افشای اطلاعات Google Play آماده شوید
در ماه مه 2021، Google Play بخش جدید ایمنی دادهها را معرفی کرد ، که یک افشای ارائهشده توسط توسعهدهندگان برای جمعآوری دادهها، اشتراکگذاری و شیوههای امنیتی یک برنامه است.
این صفحه میتواند به شما در تکمیل الزامات این افشای دادهها در رابطه با استفاده شما از AFS Native SDK (همچنین برای استفاده از AdSense برای خرید) کمک کند. در این صفحه، میتوانید اطلاعاتی در مورد اینکه آیا و چگونه SDKهای ما دادههای کاربر نهایی را مدیریت میکنند، پیدا کنید.
هدف ما این است که در حمایت از شما تا حد امکان شفاف باشیم. با این حال، بهعنوان توسعهدهنده برنامه، شما تنها مسئول تصمیمگیری در مورد نحوه پاسخگویی به فرم بخش ایمنی دادههای Google Play در مورد جمعآوری، اشتراکگذاری و اقدامات امنیتی کاربر نهایی برنامه خود هستید.
نحوه استفاده از اطلاعات این صفحه
این صفحه دادههای کاربر نهایی را که فقط توسط آخرین نسخه SDK جمعآوری شده است فهرست میکند.
برای تکمیل افشای دادههای خود، میتوانید از راهنمای Android در مورد انواع داده استفاده کنید تا به شما کمک کند تعیین کنید کدام نوع داده دادههای جمعآوریشده را به بهترین شکل توصیف میکند. در افشای دادههایتان، مطمئن شوید که نحوه اشتراکگذاری و استفاده برنامه خاص از دادههای جمعآوریشده را نیز در نظر بگیرید.
نوع داده SDK دسترسی و جمع آوری می کند
بسته ها:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
داده ها به صورت خودکار جمع آوری می شوند
AFS SDK داده های زیر را به صورت خودکار جمع آوری می کند. همه دادهها به منظور ارائه تبلیغات از دستگاه به Google منتقل میشوند و همه دادهها در حین انتقال رمزگذاری میشوند. اطلاعات شخصی کاربر هرگز جمعآوری نمیشود، مگر اینکه با درخواست کاربر توسط برنامه شما ارسال شود.
داده ها | این داده ها برای اهداف زیر جمع آوری شده است... |
---|---|
آدرس IP | خلاصه:
آدرس IP در نظارت بر تقلب و سوء استفاده و همچنین برای بدست آوردن موقعیت تقریبی کاربر استفاده می شود. سپس از مکان تقریبی استفاده میشود تا اطمینان حاصل شود که آگهیهای ارائهشده میتوانند با مقررات محلی مطابقت داشته باشند، و تبلیغات مرتبط با موقعیت جغرافیایی درشت کاربر ارائه شود. |
فعالیت برنامه
| خلاصه:
برنامه شما درخواست کاربر را در اختیار ما قرار می دهد تا بتوانیم تبلیغات جستجوی مرتبط با کلمه کلیدی را برگردانیم. ما بازدیدها و تعامل (ضربه زدن) را با تبلیغاتی که برگردانده می شوند اندازه گیری می کنیم. |
تشخیص | خلاصه:
SDK تأخیر ارائه تبلیغات را اندازهگیری میکند تا امکان پیادهسازی و اندازهگیری بهبود محصول را فراهم کند. ما همچنین گزارشهای خرابی/خطا را ارسال میکنیم و گهگاه ابزار دقیق دیگری را در صورت نیاز اضافه میکنیم تا نحوه استفاده از عملکرد توسط ناشران را درک کنیم. |
دستگاه یا سایر شناسه ها | خلاصه:
شناسه دستگاه برای کمک به نظارت بر تقلب و سوء استفاده و همچنین اندازهگیری عملکرد تبلیغات استفاده میشود. |