راهنمای پیاده‌سازی تبلیغات همسان در اندروید

این راهنما به شما کمک خواهد کرد تا تبلیغات همسان (بومی) را با استفاده از کتابخانه مگنت پیاده‌سازی کنید.
در صورتی که با تبلیغات همسان آشنایی ندارید، لطفا ابتدا به آشنایی با تبلیغات همسان مراجعه نمایید تا با تعریف و نحوه عملکرد آن آشنا شوید.
لطفا سوالات و یا پیشنهادات خود را از طریق ایمیل info@magnet.ir با ما در میان بگذارید.

پیش‌نیازها

این راهنما با فرض اینکه شما تجربه پیاده‌سازی انواع دیگر تبلیغات موبایل کتابخانه مگنت را داشته‌اید تهیه شده است. بنابراین بخش‌های پیش‌نیازها، دسترسی‌ها و اکتیویتی‌ها و راه‌اندازی اندازی سیستم تبلیغ در قسمت راهنمای برنامه‌نویسان اندروید برای تبلیغات همسان نیز باید پیاده‌سازی شوند.

Native Ad

نگاه کلی به مراحل پیاده سازی تبلیغات همسان (بومی): ۱- طراحی فایل xml تبلیغ همسان، براساس اصول طراحی تبلیغات همسان ۲- معرفی layout و اجزای فایل xml‌ تبلیغات همسان از طریق ViewBinder به کتلبخانه مگنت ۳- لود کردن تبلیغ همسان

ساخت layout

درساخت layout تبلیغ همسان، شما قادر هستید اندازه و محل قرارگیری هر کدام از اجزای تبلیغ را مشخص کنید، به گونه ای که مشابه محتوای برنامه‌ی شما باشد؛ همچنین طراحی باید به گونه‌ای باشد که ماهیت تبلیغ بودن آن کاملا مشخص باشد. به این منظور یکی از عکس‌های زیر باید حتما بر روی تبلیغ قرار داده شود، در غیر این صورت جایگاه تبلیغات شما تایید نمی‌شود

دانلود عکس‌ها (Ad Indicative)

نکات مهم در طراحی layout تبلیغ همسان (بومی):

layoutی که جهت نمایش تبلیغ می‌سازید حداقل باید سه جزء آیکون، عنوان و عبارت فراخوانی (Call to action) را داشته باشد. در صورتی که در برنامه خود از لیست استفاده کرده‌اید و layout مربوط به آیتم لیست شما بر اساس اصول تبلیغ بومی طراحی شده باشد، می‌توانید از همان layout جهت نمایش تبلیغ استفاده کنید. همان طور که ذکر شد قرار دادن نمایش دهنده تبلیغ ضروری است، صورتی که عکس‌های فوق با طراحی شما سازگاری نداشت، می‌توانید رنگ‌ آنها را تغییر دهید یا از عکسی با مضمون مشابه استفاده کنید

یک نمونه طراحی تبلیغ همسان می‌تواند به شکل زیر باشد (جزییات viewها را در برنامه نمونه ببینید)

<RelativeLayout ...>
       <ImageView
	       android:id="@+id/ad_indicative"
           ... />
       <ImageView
           android:id="@+id/native_icon_image"
           ... />
       <TextView
           android:id="@+id/native_title"
           ... />
       <TextView
           android:id="@+id/native_description"
           ... />
       <ImageView
           android:id="@+id/native_main_image"
           ... />
       <TextView or Button
           android:id="@+id/native_cta"
           ... />
</RelativeLayout>

نمونه تبلیغ در نهایت شبیه عکس زیر خواهد. (البته طراحی آن کاملا به سلیقه برنامه‌نویس است) enter image description here

ساخت ViewBinder

یک شیٔ ViewBinder جهت اتصال اجزای layout شما به اجزای تبلیغ تعریف کنید.

MagnetNativeViewBinder viewBinder = null;
try {
    viewBinder = new MagnetNativeViewBinder.Builder()
		    .adIndicativeId(ad_indicative)
		    .iconImageId(R.id.native_icon_image)
            .titleId(R.id.native_title)
            .descriptionId(R.id.native_description)
            .imageId(R.id.native_main_image)
            .callToActionId(R.id.native_cta)
            
            .build();
} catch (BadImplementationException e) {
    Log.e("Magnet", e.getMessage());
}

لود کردن تبلیغ همسان

مراحل پیاده‌سازی تبلیغ همسان شبیه به پیاده‌سازی تبلیغات بنری است، با این تفاوت که layoutی که طراحی کرده‌اید را همراه با شیٔ viewBinder از طریق متدbuildNativeAdView به کتابخانه معرفی می‌کنیم.

RelativeLayout nativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.native_content, null);
MagnetNativeContentAd magnetNativeContentad = MagnetNativeContentAd.create(this);
magnetNativeContentad.buildNativeAdView(nativeLayout, viewBinder);
magnetNativeContentad.load("AdunitId", adLayout);

nativeLayout یک ViewGroup است که طراحی آن در بخش ساخت Layout توضیح داده شد
AdUnitId همان کلیدی است که هنگام ساخت رسانه از پنل کاربری خود دریافت می‌نمایید.
adLayout یک ViewGroup است که شما باید در فایل xml اکتیویتی خود تعریف کنید و می‌توانید در بالا، پایین، یا هر جایی از Activity که صلاح بدانید قرار دهید و SDK مگنت به صورت اتوماتیک تبلیغ را در آن نمایش می‌دهد.

یک نمونه ساده adLayout می‌تواند به شکل زیر تعریف:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:id="@+id/mobileBanner">
</FrameLayout>

و در کد جاوا از layout دریافت شود.

adLayout = (FrameLayout) findViewById(R.id.mobileBanner);

اضافه کردن listener

RelativeLayout nativeLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.native_content, null);
MagnetNativeContentAd magnetNativeContentad = MagnetNativeContentAd.create(this);
magnetNativeContentad.buildNativeAdView(nativeLayout, viewBinder);

//setup ad listener
magnetNativeContentad.setAdLoadListener(new MagnetAdLoadListener() {
    @Override
    public void onPreload(int i, String s) {
        //این متد در Native AD اجرا نمی شود.                 
    }

    @Override
    public void onReceive() {
        //زمانی که تبلیغ همسان دریافت و نمایش داده می شود این متد فراخوانی می شود.
    }

    @Override
    public void onFail(int i, String s) {
        //زمانی که دریافت و نمایش تبلیغ همسان به مشکل بر می خورد این متد فراخوانی می شود .
    }
});
magnetNativeContentad.load("AdunitId", adLayout);

تمامی حقوق این سایت متعلق به خدمات هوشمند حصین همراه پردیس است.