Skip to content
Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
202 lines (156 sloc) 12.3 KB
مستندات پیش رو به منظور استفاده از سرویس رسانا در اپلیکیشن های اندروید تهیه شده است. در فایل build.gradle کل پروژه تغییرات زیر را اعمال کنید.
allprojects {
          repositories {
          ...
          google()
          maven {
          url "https://maven.oddrun.ir/artifactory/resana"
     }
    }
}
کد زیر را به فایل build.gradle app اضافه کنید تا رسانا به پروژه اضافه شود.
  implementation ('io.resana:resana:8.5.0@aar') {transitive = true}
کد های زیر را به فایل proguard پروژه اضافه کنید.
-keep class io.resana.**{
*;
}
 

کد های زیر را به فایل manifest پروژه اضافه کنید.

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

 <application

 <meta-data
            android:name="ResanaMediaId"
            android:value="ResanaMediaId" />

 </application>
نکته : چناچه در حال پیاده سازی SDK برای ارسال نسخه بتا (آزمایشی) می‌باشید در قسمت YOUR RESANA MEDIA ID از آیدی 10008 می‌توانید استفاده کنید.
در ابتدای برنامه در کلاس اپلیکیشن تابع Resana.init را به این شکل با تنظیمات رسانا به فراخانی کنید.

resanaConfig تنظیمات رسانا است.

ResanaConfig.ImageShape  imageShapes[] = { ResanaConfig.ImageShape.VERTICAL,ResanaConfig.ImageShape.HORIZONTAL,ResanaConfig.ImageShape.SQUARE } ;
ResanaConfig.AdType adTypes [] = { ResanaConfig.AdType.NATIVE } ;
ResanaConfig resanaConfig= new ResanaConfig(adTypes,imageShapes);
Resana.init(this,resanaConfig);

برای مثال برای تبلیغات همسان با تصویر افقی تکه کد زیر استفاده می‌شود:

ResanaConfig.AdType[] adTypes = { ResanaConfig.AdType.NATIVE };
ResanaConfig.ImageShape[] imageShapes = { ResanaConfig.ImageShape.HORIZENTAL };
ResanaConfig resanaConfig = new ResanaConfig(adTypes, imageShapes);

 

به کلاس ResanaConfig یک آرایه از نوع تبلیغ هایی که میخواهید و همچنین یک آرایه از نوع المان های تصویری ای که میخواهید نمایش دهید پاس دهید.

نوع تبلیغ ها:

ResanaConfig.AdType.NATIVE :   تبلیغ های همسان

ResanaConfig.AdType.SPLASH :   تبلیغ های اسپلش

نوع المان های تصویری:

ResanaConfig.ImageShape.SQUARE :‌   المان تصویری در ابعاد مربع

ResanaConfig.ImageShape.HORIZONTAL :   المان تصویری مستطیلی افقی

ResanaConfig.ImageShape.VERTICAL :‌  المان تصویری اصلی

برای گرفتن یک instance از رسانا از تابع

Resana.getInstance()

استفاده کنید.

برای مشخص کردن نوع لاگ های برنامه میتوانید از تابع زیر استفاده کنید.

 Resana.getInstance().setLogLevel(Resana.LOG_LEVEL_VERBOSE);

این تابع مقادیر زیر را به عنوان ورودی میپذیرد.

LOG_LEVEL_VERBOSE       برای لاگ کردن همه چیز

LOG_LEVEL_DEBUG  برای لاگ کردن چیز های ضروری       

warning) LOG_LEVEL_DEBUG) برای لاگ کردن فقط ارورها و هشدارها

LOG_LEVEL_ERROR       برای لاگ کردن فقط ارورها   

LOG_LEVEL_NO_LOG        رسانا چیزی لاگ نمی‌کند

اگر این تابع را صدا نکنید لاگ های رسانا به طور پیش فرض به حالت LOG_LEVEL_NO_LOG  تنظیم میشود.

 

تبلیغات همسان (Native Ad) در رسانا:

نمایش این تبلیغات بر عهده‌ی اپلیکیشن است. نمایش لندیگ یا نصب اپلیکیشن‌های تبلیغ توسط SDK رسانا مدیریت می‌شود.

به وسیله قطعه کد زیر می‌توان یک تبلیغ همسان برای نمایش دریافت کرد.

NativeAd ad = Resana.getInstance().nativeRepo.getAd(String zone);
به وسیله ی آرگومان این متد میتوان تعیین کرد که این تبلیغ برای کدام محل (zone) مورد نیاز است.

بسته به شرایط ad میتواند یک تبلیغ باشد یا میتواند null باشد. اگر null نبود میتوان با استفاده از متد های آن دیتا ها را گرفت و تبلیغ را نمایش داد.

توابع NativeAd :

متد زیر عبارتی را برمیگرداند که باید روی تبلیغ نوشته شود تا روی آن کلیک شود.اگر تبلیغ این عبارت را نداشته باشد null برمیگرداند.
String getCallForAction()
متد ز یر رنگ پس زمینه ی تبلیغ را به صورت مبنای ۱۶ برمیگرداند.
String getBackgroundColor()
 

متن هایی که در تبلیغ باید نمایش داده شوند به دو دسته ی عنوان و توضیحات  دسته بندی میشوند. هر کدام از این متن ها در دو نسخه ی کوتاه و متوسط ارایه میشوند.

متد زیر عنوان تبلیغ را نشان میدهد

String getTitle()

متد زیر  توضیحات تبلیغ را بر میگرداند

String getDescription()

هر تبلیغ چندین بسته المان تصویری دارد.

هر المان تصویری تبلیغ موارد زیر را شامل می‌شود.

 المان تصویردر ابعاد مستطیل عمودی

 المان تصویری در ابعاد مربع

 المان تصویری مستطیلی افقی

با متد زیر میتوان فایل تصویر تبلیغ را گرفت.

nativeAd.getImageFile(ResanaConfig.ImageShape ImageShape)

آرگومان این تابع مشخص میکند که چه نوع عکسی را میخواهیم. که میتواند یکی از مقادیر

ResanaConfig.ImageShape.SQUARE :‌   المان تصویری در ابعاد مربع

ResanaConfig.ImageShape.HORIZONTAL :   المان تصویری مستطیلی افقی

ResanaConfig.ImageShape.OROGINAL :‌  المان تصویری اصلی

باشد

پیشنهاد میشود برای نمایش عکس های تبلیغ از کتابخانه های معروفی مثل Glide یا Picasso استفاده کنید.

Picasso.get().load(file).into(adImage);

 


 

پس از آن که تبلیغ با استفاده از المان های تصویری اش به کاربر نمایش داده شد باید با متد زیر به SDK اطلاع داده شود.

Resana.getInstance().nativeRepo.onNativeAdRendered(NativeAd ad)

وقتی یک تبلیغ کلیک شد باید حتما در متد onClick متد زیر از SDK صدا زده شود تا تصویر لندینگ باز شود.

Resana.getInstance().nativeRepo.onNativeAdClicked(Context context, NativeAd ad)

به این تابع Activity Context پاس دهید.

NativeAd ad همان تبلیغی است که توسط کاربر دیده شده است.

 

یک نمونه کد کامل:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

       @Override
       protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

      }

       void getAd() {
              NativeAd ad = Resana.getInstance().getNativeAd("A");
              if (ad != null) { //This is a valid ad
              showAd(); //should be implemented by app developer
              Resana.getInstance().onNativeAdRendered(ad);
      } 
}

 

تبلیغات اسپلش (splash) در رسانا:

این تبلیغات معمولا ابتدای ویدیو پخش می شوند.

برای نمایش تبیلغات اسپلش ابتدا view زیر را روی پخش کننده ویدیو خود قرار دهید.

<io.resana.SplashAdView

مثل نمونه زیر

<FrameLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent">

       <VideoView
           android:id="@+id/video_view"
           android:layout_width="match_parent"
           android:layout_height="match_parent" />

       <io.resana.SplashAdView
           android:id="@+id/splash_ad_view"
           android:layout_width="match_parent"
           android:layout_height="match_parent" />

</FrameLayout>

پس از مقدار دهی رسانا تابع setup از کلاس SplashAdView را مشابه زیر صدا کنید.

SplashAdView.setup(Activity, Delegate)

با استفاده از SplashAdView.Delegate وضعیت های اسپلش را از SDK دریافت کنید.

public static abstract class Delegate {
       public abstract void onFinish();

       public abstract void onFailure(String reason);

       public abstract void closeVideo();
   }

متد onFinish هنگامی صدا زده میشود که نمایش اسپلش تمام شده باشد. در این تابع ویدیو ی خود را پخش کنید.

متد onFailure هنگامی صدا زده میشود که نمایش اسپلش با مشکل مواجه شده باشد. در این تابع ویدیو ی خود را پخش کنید.

در متد closeVideo پخش ویدیو را متوقف کنید.

 

You can’t perform that action at this time.