
در این مقاله نحوه اضافه کردن تبلیغات تپسل به سورس اندروید را توضیح دادم. همانطور که میدانید سرویس های تبلیغات داخلی فوق العاده ایی داریم که میتوان با افزودن SDK آن ها به اپ خود و انتشار آن در مارکت های داخلی درآمد کسب کرد.
سرویس تپسل با این آدرس تمامی داکیومنت مربوط به sdk را برای افزودن به سروس اندروید در اختیار توسعه دهندگان قرار می دهد .
فقط قرار هست اینجا با توضحیاتی گویا تر برای شما چکیده ای از فرایند افزودن کلاینت تپسل به پروژه اندرویدتان را توضیح دهیم .
در ابتدای کار که باید باز مثل همیشه سورس اندرویدی خود را در اندروید استودیو داشته باشید . پس برای اضافه کردن SDK تپسل مراحل زیر را پیش بگیرید.(مطابق با داکیومنت سایت تپسل)
نحوه افزودن کلاینت تپسل به سورس اندروید
تنظیمات اولیه در اندروید استودیو
گام 1: تنظیمات ProGuard
اگر در سورس خود از پروگارد استفاده می کنید پس حتما طبق این داکیومنت وابستگی های مربوط به تپسل را در فایل proguard-rules.pro نیز اضافه کنید.
گام 2: آپدیت فایل Manifest
در این فایل در تگ , یک اکتیویتی را به این صورت اضافه کنید:
<manifest> … <application> … <activity android:name="ir.tapsell.sdk.TapsellAdActivity" android:configChanges="keyboardHidden|orientation|screenSize" > </activity> </application> … </manifest>
گام 3: دانلود و اضافه کردن کتابخانه تپسل به پروژه
طبق داکیومنت تپسل برای این مرحله , دو روش وجود دارد ولی من روشی که خودم نیز استفاده میکنم را به شما معرفی میکنم . زیرا که روشی ساده تر و به روز تر است.
پس برای شروع این گام به فایل (Project)build.gradle خود (فایل گریدل پروژه ی شما) رفته و این خط را در قسمت allprojects اضافه کنید :
allprojects { repositories { google() jcenter() } //tapsell link repo maven { url 'https://dl.bintray.com/tapsellorg/maven' } } }
بعد به فایل build.gradle در قسمت dependencies دپندنسی مربوط به تپسل را اضافه کنید:
در اینجا شرطی وجود دارد مبنی بر اینکه از کدام نسخه ی اندروید استودیو استفاده می کنید . اگر که از نسخه ی ۳ به بالا استفاده میکنید این خط را اینگونه اضافه کنید :
// Android Studio 3.0 and above implementation 'ir.tapsell.sdk:tapsell-sdk-android:4.1.3'
و در غیر اینصورت خط زیر را :
// Older Android Studio compile 'ir.tapsell.sdk:tapsell-sdk-android:4.1.3'
بعد از آن با استفاده از نرم افزار های تغییر iP کل پروژه ی خود را sync کنید که تمامی وابستگی ها و ریپوزیتوری ها را بشناسد.
گام 4: دریافت کلید تپسل و شناسه تبلیغ گاه
برای این گام ابتدا به پنل خود در تپسل روید . باید اکانتی را بسازید یا اگر دارید که وارد آن شوید . برای اینکار به این لینک مراجعه کنید.
سپس در قسمت رسانه ها > تعریف اپلیکیشن جدید را انتخاب و اپلیکشنی را بسازید و پکیج نیم اپلیکشن خود را به آن معرفی کنید . اگر که اپ خود را در مارکتی منتشر کرده اید با توجه به پکیج نیم آن را کافه بازار بررسی میکند در غیر اینصورت تیک اینکه هنوز در مارکتی منتشر نشده را بزنید. برای گرفتن نام پکیج خود می توانید به build.gradle ماژول خود مراجعه کرده و از قسمت android
applicationId خود را بیابید و آن را در پنل تپسل خود وارد کنید.
لوگوی اپ خود را آپلود کنید . موضوع رسانه ی خود و دیگر موارد را کامل کنید.
در قسمت پر کردن فرم ثبت نام از قسمت نوع کاربری ناشر تبلیغات (کسب درآمد از طریق نمایش تبلیغات)
آگهیدهنده (تعریف کمپینهای تبلیغاتی)
آژانس تبلیغاتی (برندینگ و مشاوران بازاریابی) حتما قوانین سایت تسپل را بخوانید . زیرا که اگر ناشر هستید از شما هزینه ای دریافت نمی شود و خود کسب درآمد خواهید کرد ولی اگر آگهی دهنده هستید طبق قوانین سایت باید عمل کنید و هزینه ای را پرداخت کنید.
این پاراگراف طبق داکیومنت اصلی سایت را با دقت بخوانید:
در صفحه اپلیکیشن ایجاد شده، در قسمت تبلیغگاه ها یک تبلیغگاه برای نمایش تبلیغات در اپلیکیشن خود ایجاد کنید و یا از تبلیغگاه ساخته شده بصورت پیشفرض استفاده کنید. با توجه به نوع تبلیغ مورد نظر در اپلیکیشن (ویدئویی جایزهدار، ویدئویی بینابینی و بنری بینابینی تمام صفحه و…) نوع تبلیغگاه خود را تعیین کنید. از شناسه تبلیغگاه ای که به شما اختصاص داده میشود برای نمایش تبلیغ در اپلیکیشن خود استفاده کنید.
گام 5: شروع کار با SDK تپسل
خب به اندروید استودیو برگردید و کلاس اپلیکیشن خود را باز کنید . اگر کلاس اپلیکیشنی در اپلیکیشن خود ندارید یکی بسازید . کلاسی با عنوان دلخواه به عنوان مثال MyApplication ساخته و آن را از Application مشتق کنید . و سپس به AndroidManifest.xml خود مراجعه کرده و در خط اول مربوط به تگ این خط را اضافه کنید:
android:name=”.MyApplication”
بعد از اینکه کلاس را ساختید در متد OnCreate مربوط به این کلاس این خط را برای مقدار دهی اولیه SDK تپسل اضافه کنید:
Tapsell.initialize(thisApplication, appKey);
حتما هم دقت کنید که import ir.tapsell.sdk.*; را در قسمت ایمپورت ها داشته باشید.
appKey همان کلیدی است که در مرحله ی قبل از پنل خود ردیافت کردید.و در thisApplication
باید Context
مربوط را وارد کنید . میتوانید از getContextApplication
و یا YourClassName.this
استفاده کنید.
پیادهسازی تبلیغات ویدئویی (Interstitial/Rewarded Video)
و بنری تمام صفحه (Interstitial Banner)
در پروژه اندروید
خب بعد از اینکه تنظیمات اولیه را در مراحل قبل با موفقیت پشت سر گذاشتید.
شروع به نمایش تبلیغات کنید .
گام ۱: دریافت تبلیغ
طبق گفته ی خود داکیومنت که بسیار صریح و ساده گفته داریم :
نمایش یک تبلیغ ویدئویی در اپلیکیشن به دو صورت ممکن است صورت پذیرد. یک روش، نمایش تبلیغ بصورت stream
میباشد. در این حالت، همزمان که کاربر درحال مشاهده بخشی از تبلیغ است، ادامه آن از اینترنت لود میگردد. ممکن است به دلیل کندی سرعت اینترنت، در این حالت کاربر با مکثهای متعددی در هنگام دریافت و مشاهده تبلیغ مواجه شود. برای اینکه کاربر در هنگام نمایش تبلیغ منتظر نماند و تجربه کاربر در استفاده از اپلیکیشن بهبود یابد،روش دیگری نیز در SDK تپسل تعبیه شده است که در آن ابتدا فایل ویدئوی تبلیغاتی بطور کامل بارگذاری شده و سپس تبلیغ نمایش داده میشود.
همچنین در تپسل، تبلیغ می تواند در ناحیههای مختلفی از برنامه شما (مانند فروشگاه، انتهای هر مرحله، ابتدای مرحله جهت دریافت امتیاز دوبرابر، دریافت بنزین/لایف و …) پخش شود. در تپسل به این ناحیهها zone گفته می شود. ناحیههای هر اپلیکیشن در پنل تپسل تعریف می شوند.
با اجرای تابع زیر میتوانید درخواست برای تبلیغ را به تپسل فرستاده و یک تبلیغ را دریافت نمایید :
Tapsell.requestAd(context, zoneId, options, new TapsellAdRequestListener() { @Override public void onError (String error) { } @Override public void onAdAvailable (TapsellAd ad) { } @Override public void onNoAdAvailable () { } @Override public void onNoNetwork () { } @Override public void onExpiring (TapsellAd ad) { } });
هر درخواست شامل یک ورودی zoneId است که برای استفاده از ناحیه پیشفرض میتوانید از مقدار null استفاده نمایید. اطلاعات بیشتر درباره zone را میتوانید از تیم فنی تپسل دریافت کنید. ورودی options شامل تنظیمات تبلیغ مورد درخواست است. این تبلیغ میتواند از نوع Cached یا Streamed باشد.
کش کردن ویدئو
تنها در ناحیههایی که کاربر با احتمال زیادی پس از باز کردن اپلیکیشن تبلیغ آن را مشاهده میکند، از تبلیغ Cached استفاده کنید. جهت توضیحات بیشتر درباره روش انتخاب متد دریافت مناسب، اینجا را مطالعه کنید.
ورودی options از جنس کلاس TapsellAdRequestOptions
است که دارای متغیری با عنوان cacheType
میباشد که مقادیر آن در جدول ۱ آمده است.
جدول ۱ مقادیر مختلف پارامتر cacheType در درخواست تبلیغ
مقدار توضیحات
CACHE_TYPE_CACHED دریافت ویدئو در ابتدا و نمایش آن پس از دانلود
CACHE_TYPE_STREAMED نمایش ویدئو بصورت برخط (stream)
نتیجه درخواست تبلیغ به ورودی سوم که یک Listener از نوع TapsellAdRequestListener
است بازگردانده میشود. توضیحات توابع این interface در جدول ۲ آمده است.
جدول ۲ توابع interface دریافت نتیجه درخواست تبلیغ
تابع توضیحات (زمان اجرا)
onError (String error)
هنگامی که هر نوع خطایی در پروسهی دریافت تبلیغ بوجود بیاید
onAdAvailable (TapsellAd ad)
زمانی که تبلیغ دریافت شده و آمادهی نمایش باشد.
onNoAdAvailable ()
در صورتی که تبلیغی برای نمایش وجود نداشته باشد.
onNoNetwork()
زمانی که دسترسی به شبکه موجود نباشد.
onExpiring(TapsellAd ad)
زمانی که تبلیغ منقضی شود. هر تبلیغ مدت زمان مشخصی معتبر است و در صورتی که تا قبل از آن نمایش داده نشود منقضی شده و دیگر قابل نمایش نخواهد بود.
گام 3: نمایش تبلیغ
هر تبلیغ یک شیء از نوع TapsellAd
است که جهت نمایش آن، میتوانید از تابع زیر استفاده نمایید (این تابع حداکثر یک بار برای هر تبلیغ قابل اجراست) :
ad.show(context, showOptions, new TapsellAdShowListener() { @Override public void onOpened (TapsellAd ad) { } @Override public void onClosed (TapsellAd ad) { } });
ورودی showOptions متغیری از نوع TapsellShowOptions
است که توضیحات آن در جدول ۳ در ادامه آورده شده است. همچنین توابع onOpened
و onClosed
از رابط TapsellAdShowListener
توابعی هستند که زمان اجرا و پایان نمایش تبلیغ اجرا میشوند.
جدول ۳ توابع کلاس TapsellShowOptions
تابع توضیحات
setBackDisabled(boolean)
در هنگام پخش تبلیغ دکمهی بازگشت گوشی فعال باشد یا خیر
setImmersiveMode(boolean)
فعالسازی حالت Immersive در هنگام پخش تبلیغ
setRotationMode(int)
تعیین وضعیت گوشی در هنگام پخش تبلیغ به یکی از حالات:
ROTATION_LOCKED_PORTRAIT ROTATION_LOCKED_LANDSCAPE ROTATION_UNLOCKED ROTATION_LOCKED_REVERSED_PORTRAIT ROTATION_LOCKED_REVERSED_LANDSCAPE setShowDialog(boolean)
نمایش دیالوگ اخطار در هنگام بازگشت از تبلیغات جایزهدار
گام 4: دریافت نتیجه نمایش تبلیغ
جهت دریافت نتیجه نمایش تبلیغات، باید یک شی از کلاس TapsellRewardListener
ایجاد نمایید و در آن را به SDK تپسل به عنوان ورودی تابع Tapsell.setRewardListener
بدهید. کد این بخش در ادامه آمده است.
Tapsell.setRewardListener(new TapsellRewardListener() { @Override public void onAdShowFinished(TapsellAd ad, boolean completed) { // store user reward if ad.isRewardedAd() and completed is true } });
در صورتیکه مقدار completed برابر با true باشد و تبلیغ از نوع جایزهدار باشد (یعنی مقدار برگردانده شده از تابع ad.isRewardedAd برابر با true باشد)، میتوانید جایزه درون برنامه کاربر (سکه/اعتبار/بنزین/…) را به کاربر بدهید.
در اخر هم بهتر از نمونه پروژه ای که تبلیغات تپسل در آن پیاده سازی شده است را دریافت کنید تا بتوانید مراحل کار را بهتر درک کنید:
لطفا برای مشاهده لینک های این نوشته به حساب کاربری خود وارد شویدسنا عبادی CO-Founder نویسنده مقاله
توسعه دهنده موبایل به ویژه سیستم عامل اندروید ، هم بنیانگذار اندروید ریور و در تلاش برای تحقق یک رویا..
نگارش کد بلند یا نگارش بخش عمده یک سورس کد :