پیاده سازی AFS for Mobile Apps (AFSMA) برای اندروید

پیش نیازها

این راهنمای پیاده سازی فرض می کند که شما با موارد زیر آشنا هستید:

  • پروتکل پیاده سازی تبلیغات جستجوی سفارشی AFS (CSA).
  • توسعه اپلیکیشن اندروید
  • مرتبط کردن Google Mobile Ads SDK برای Android (اکنون بخشی از خدمات Google Play) با یک پروژه Android Studio. نسخه 9.0.0 خدمات Google Play مورد نیاز است.

کلاس ها

برای ارائه تبلیغات AFSMA (که به عنوان تبلیغات جستجوی ارتفاع پویا نیز شناخته می شود) در برنامه خود، کلاس های زیر را اجرا کنید:

SearchAdView

  • این کلاس از کلاس 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 در نظارت بر تقلب و سوء استفاده و همچنین برای بدست آوردن موقعیت تقریبی کاربر استفاده می شود.

سپس از مکان تقریبی استفاده می‌شود تا اطمینان حاصل شود که آگهی‌های ارائه‌شده می‌توانند با مقررات محلی مطابقت داشته باشند، و تبلیغات مرتبط با موقعیت جغرافیایی درشت کاربر ارائه شود.

فعالیت برنامه
  • مشاهده صفحه و ضربه زدن در برنامه
  • سابقه جستجوی درون برنامه
خلاصه:
  • تجزیه و تحلیل
  • پیشگیری از تقلب، امنیت و رعایت
  • تبلیغات یا بازاریابی
  • شخصی سازی
جزئیات:
برنامه شما درخواست کاربر را در اختیار ما قرار می دهد تا بتوانیم تبلیغات جستجوی مرتبط با کلمه کلیدی را برگردانیم. ما بازدیدها و تعامل (ضربه زدن) را با تبلیغاتی که برگردانده می شوند اندازه گیری می کنیم.
تشخیص خلاصه:
  • تجزیه و تحلیل
جزئیات:
SDK تأخیر ارائه تبلیغات را اندازه‌گیری می‌کند تا امکان پیاده‌سازی و اندازه‌گیری بهبود محصول را فراهم کند. ما همچنین گزارش‌های خرابی/خطا را ارسال می‌کنیم و گهگاه ابزار دقیق دیگری را در صورت نیاز اضافه می‌کنیم تا نحوه استفاده از عملکرد توسط ناشران را درک کنیم.
دستگاه یا سایر شناسه ها خلاصه:
  • پیشگیری از تقلب، امنیت و رعایت
  • تبلیغات یا بازاریابی
جزئیات:
شناسه دستگاه برای کمک به نظارت بر تقلب و سوء استفاده و همچنین اندازه‌گیری عملکرد تبلیغات استفاده می‌شود.