برای پیادهسازی تبلیغات همسان باید مطابق با راهنمای همسان اکسپرس مراحل کار را انجام دهید. برای پیادهسازی همسان پیشرفته لازم است با بخش پشتیبانی تماس بگیرید.
پیشنیازها
این راهنما با فرض اینکه شما تجربه پیادهسازی انواع دیگر تبلیغات موبایل کتابخانه مگنت را داشتهاید تهیه شده است. بنابراین بخشهای پیشنیازها، دسترسیها و اکتیویتیها و راهاندازی اندازی سیستم تبلیغ در قسمت راهنمای برنامهنویسان اندروید برای تبلیغات همسان نیز باید پیادهسازی شوند.
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>
نمونه تبلیغ در نهایت شبیه عکس زیر خواهد. (البته طراحی آن کاملا به سلیقه برنامهنویس است)
ساخت 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); MagnetNativeAdvanced magnetNativeAdvanced = MagnetNativeAdvanced.create(this); magnetNativeAdvanced.buildNativeAdView(nativeLayout, viewBinder); magnetNativeAdvanced.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); MagnetNativeAdvanced magnetNativeAdvanced = MagnetNativeAdvanced.create(this); magnetNativeAdvanced.buildNativeAdView(nativeLayout, viewBinder); //setup ad listener magnetNativeAdvanced.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) { //زمانی که دریافت و نمایش تبلیغ همسان به مشکل بر می خورد این متد فراخوانی می شود . } }); magnetNativeAdvanced.load("AdunitId", adLayout);