پیاده سازی در اندروید
دانلود SDK جدید و سمپل ها

SDK ادپلی و سمپل های اندروید استودیو ایکلیپس را از اینجا دریافت کنید.
Android Studio
برای افزودن لایبراری به پروژه در اندروید استودیو، پس از کپی کردن adplayVx.jar در فولدر libs کد زیر را در انتهای build.gradle وارد کنید.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/adPlayAndroidv2.0.jar')
}

eClipse
کافی فایل adplayVx.jar را درون فولدر libs بیاندازید. اگر پروژه ی شما خطا نداشته باشد باید بتوانید ir.adPlay.plugin را import کنید.

قبل از راه اندازی، باید مطمئن باشید که اپلیکیشن خود را در پنل کاربری وبسایت ادپلی ایجاد و ثبت کرده اید. در این صورت با ورود به صفحه ی اپلیکیشن خود یک applicationID و یک developerID دریافت می کنید که باید در هنگام فراخوانی ادپلی از آنها استفاده کنید.
Manifest
در مانیفست پروژه ی اندروید permission های زیر باید اضافه شوند.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />


همچنین به منظور نمایش تبلیغات محلی حتما permission را اضافه کنید :

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />



همچنین اکتیویتی ادپلی باید به لیست اکتیویتی ها در مانیفست اضافه شود

<activity android:name="ir.adPlay.plugin.adPlayActivity"></activity>


در صورت استفاده از پروگارد این خطوط را به فایل proguard-rules.pro اضافه کنید :

-keep class ir.adPlay.plugin.noProguard

-keep class * extends ir.adPlay.plugin.noProguard { *; }


توجه : در سراسر این مستند منظور از آرگومان rewardBase بخشی از تبلیغات است که قابل پاداش دهی هستند. چنانچه همه ی تبلیغات ادپلی شامل ویدیو، ویدیو میان برنامه و بنر میان برنامه را استفاده می کنید این مقدار را False ببینید. در این صورت همه ی تبلیغات جایزه دار و بی جایزه را دریافت می کنید. در غیر این صورت در مواقعی که فقط تبلیغات جایزه دار را می خواهید با مقدار True ببینید.

Initialization
برای استفاده از adPlay باید پکیج ir.adPlay.plugin را وارد کنید.

  import ir.adPlay.plugin;


در قسمت ابتدایی اکتیویتی اصلی برنامه خود (mainActivity)، ادپلی را فراخوانی کنید :

 adPlay.init(this, "myAppId", "myDevId", new adPlayListener() {

            @Override

 

            public void onAdComplete(boolean rewardBase) {

                // When ad is show and completed

                // if (rewardBase == true) : Ad has reward, Give the reward

                // if (rewardBase == false) : Ad has no reward, Do not give the reward

            }

 

            @Override

            public void onAdAvailable(boolean rewardBase) {

                // Ad is ready to be shown

                // if (rewardBase == true) : Only for reward base ads

            }

 

            @Override

            public void onAdFail() {

                // When showing ad failed

            }

 

            @Override

            public void onInstallationComplete() {

                // this event fires when an installation ad is done

            }

        });


اکنون همه چیز آماده است. متد onAdAvailable یعنی یک تبلیغ آماده است (شامل ویدیو و میان برنامه). چنانچه این تبلیغ دارای جایزه باشد آرگومان rewardBase با مقدار true تحویل داده می شود و می توانید چک کنید.
متد onAdComplete پس از پایان موفقیت آمیز تبلیغ اجرا می شود. تبلیغ می تواند ویدیو یا میان برنامه باشد. چنانچه آرگومان rewardBase با مقدار true صدا زده شود، یعنی تبلیغ دارای جایزه بوده است و برای ارائه ی جایزه اقدام کنید.
متد onInstallationComplete پس از نصب یک برنامه توسط کاربر صدا زده می شود.
توجه کنید که هر دو متد را باید پر کنید چون ممکن است بعضی تبلیغات به صورت ویدیو و بعضی به صورت نصب باشند .
برای قراردادن روی حالت آزمایشی متد setTestMode را با مقدار True صدا بزنید. در حالت عادی ادپلی روی حالت تست نیست. در حالت تست تبلیغ آزمایشی (بدون ارزش) بدون محدودیت پخش می شود.

adPlay.setTestMode(true);   // enable test mode: Default = False (off)


توجه : حالت اتوماتیک و متد setAutoDialogueDisplay که قبلا استفاده می شد دیگر وجود ندارد و توسعه دهنده باید بر مبنای نوع تبلیغ مطابق متد های زیر رابط کاربری را پیاده سازی کند
تصویر 1. روند درخواست تبلیغات

1. هر گاه تبلیغی آماده نمایش باشد ایونت onAdAvailable صدا زده می شود. بنابراین به تعداد تبلیغات آماده نمایش این ایونت صدا زده می شود. در صورتی که فقط تبلیغات جایزه دار می خواهید آرگومان rewardBase را چک کنید. در صورتی که true بود یعنی تبلیغات جایزه دار موجود است. این ایونت زیر مجموعه ی متد Listener در متد init فراخوانی می شود

2. همچنین می توانید برای چک کردن وجود تبلیغ به صورت دستی در یک حلقه با تاخیر مناسب checkAdAvailability را صدا بزنید. در اینجا نیز در صورتی که فقط تبلیغ جایزه دار می خواهید مقدار بولین ورودی را true صدا بزنید. تبلیغات جایزه دار بخشی از تبلیغات هستند بنابراین در صورتی که تبلیغات بیشتر ویدیو و میان برنامه می خواهید با مقدار false صدا بزنید.
چنانچه مقدار true برگرداند یعنی تبلیغ موجود است.

checkAdAvailability(boolean rewardBase);  // static boolean


3. پس از اینکه از وجود تبلیغ مطلع شدید می توانید با showAd تبلیغ را نمایش دهید. در این صورت ادپلی تبلیغ را پخش می کند. چنانچه همه ی تبلیغات را نیاز دارید با مقدار false و چنانچه فقط برخی را نیاز دارید با مقدار true صدا بزنید.

showAd(boolean rewardBase);  // static void



4. چنانچه خواستید ادپلی را از کار بیاندازید از متد dispose استفاده کنید. و چنانچه خواستید ادپلی را دوباره راه بیاندازید دوباره init را صدا بزنید

dispose();  // static void



5. پس از اتمام تبلیغ ایونت های onAdComplete یا onAdFail صدا زده می شود. در صورتی که تبلیغ نصبی باشد پس از نصب کامل برنامه onInstallationComplete صدا زده می شود.