تبلیغات بنری

تبلیغات بنری تبلیغاتی هستند که یک فضای مستطیلی شکل را اشغال کرده و معمولا از نوع عکس یا متن می‌باشند. این نوع از تبلیغات در صفحه نمایش مانده تا زمانی که کاربر از آن صفحه برود. به منظور فعال سازی این نوع تبلیغ کافی است تا در هر layout ای که قصد نمایش تبلیغ بنری را دارید کد زیر را قرار دهید

<me.cheshmak.android.sdk.advertise.CheshmakBannerAd
android:id="@+id/cheshmak_banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
app:banner_size="SMART_BANNER" />

نیاز به تنظیمات بیشتری نبوده و تمامی رویداد های نمایش و کلیک به صورت اتوماتیک ثبت خواهند شد. شما می توانید بنر را در هر کجای layout که مایل هستید به نمایش بگذارید.

نمونه ای از این تبلیغ را در شکل زیر مشاهده می‌کنید:

تبلیغات بینابینی(interstitial)

تبلیغات بینابینی نوعی از تبلیغات بوده که در حین کار کردن کاربران با اپلیکیشن به صورت تمام صفحه نمایش داده می شود.  و کاربر حق انتخاب این که روی تبلیغ کلیک کند یا به صفحه برنامه برگردد را دارد. این نوع تبلیغ را می توان در مکان هایی مانند کلیک روی یک دکمه مهم یا هنگامی که کاربر از یک اکتیویتی به اکتیویتی دیگر می رود نشان داد.به منظور نمایش این آگهی ابتدا در متد onCreate اکتیویتی مورد نظر آبجکتی از کلاس CheshmakInterstitialAd بسازید:

final CheshmakInterstitialAd cheshmakInterstitialAd = new CheshmakInterstitialAd(this);

با new کردن این آبجکت، تبلیغ مورد نظر دریافت شده و برای نمایش به کاربر آماده به نمایش می‌شود.سپس در محلی که قرار است تبلیغ نمایش داده شود(مثلا وقتی کاربر بر روی دکمه خاصی کلیک کرد) کد زیر را وارد کنید:

if (cheshmakInterstitialAd.isLoaded()) {
  cheshmakInterstitialAd.show();
}

با این کار در صورتی که تبلیغ با موفقیت لود شده باشد به کاربر نشان داده می‌شود.
تبلیغات بینابینی دارای میزان درآمد بیشتری نسبت به بنری می‌باشد. در عین حال سعی کنید در صورتی که تبلیغ بینابینی به کاربر نشان دادید بلافاصله دوباره نشان ندهید و تعداد دفعات نمایش آن را کم کنید.همچنین مطمئن شوید ایجاد آبجکت CheshmakInterstitialAd و صدا زدن تابع show در آن با کمی فاصله صورت می‌گیرد. در صورتی که بلافاصله تابع show را فراخوانی کنید تبلیغی نمایش داده نخواهد شد.

نمونه‌ای از تبلیغ بینابینی که تبلیغ یک اپلیکیشن در گوگل پلی می‌باشد در شکل زیر آمده است:

نمایش تبلیغ تستی

به منظور این که مطمئن شوید تمامی تنظیمات را به درستی انجام داده اید کد زیر را در کلاس اپلیکیشن پس از فراخوانی چشمک قرار دهید:

CheshmakAds.setTestMode(true);

این کد باعث شده تا تبلیغات تستی به شما نمایش داده شود. مطمئن شوید که قبل از انتشار نهایی اپلیکیشن خود این کد را حذف کنید.

 

کد برنامه نمونه

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

انتشار اپلیکیشن خود

حال که تبلیغات درون برنامه ای را در اپلیکیشن خود فعال کرده اید کافی است تا اپلیکیشن خود را بیلد گرفته و منتشر کنید. زمانی که تعداد کاربران شما به ۱۰۰۰ تا برسد درآمدزایی دلاری شما فعال شده و تبلیغات برای شما نمایش داده می‌شود.

 

تنظیمات پیشرفته

غیر فعال کردن تبلیغات

پیشنهاد می‌کنیم در صورتی که کاربران ویژه‌ای دارید تبلیغات را برای آن‌ها غیر فعال کنید. این کار به افزایش رضایت کاربران شما منتهی خواهد شد. به این منظور کافی است برای این دسته از افراد کد زیر را در برنامه خود فراخوانی کنید:

Cheshmak.disableAdvertises();

در صورتی که بخواهید برای آن فرد دوباره تبلیغ را فعال کنید کافی است تا کد زیر را فراخوانی کنید:

Cheshmak.enableAdvertises();

تنظیم اندازه تبلیغات بنری

در تبلیغات بنری اندازه‌های متفاوتی پشتیبانی می‌شود. این اندازه از طریق خصوصیت app:banner_size در تگ CheshmakBannerAd تعیین می‌شود. مقادیر قابل قبول در این خصیصه به صورت زیر معرفی می‌شوند:

مقدار  اندازه (واحد dp) فعال بودن در چه دستگاهی
BANNER 50×320 هم موبایل و هم تبلت
LARGE_BANNER 100×320 هم موبایل و هم تبلت  
MEDIUM_RECTANGLE 250×300 هم موبایل و هم تبلت  
FULL_BANNER 60×468 فقط تبلت
LEADERBOARD 90×728 فقط تبلت
SMART_BANNER screen width x 32|50|90  هم موبایل و هم تبلت  

پیشنهاد ما استفاده از SMART_BANNER می‌باشد چرا که در این اندازه نوع دستگاه شناسایی شده و تبلیغات متناسب با اندازه صفحه نمایش کاربر نمایش داده می‌شود.

دریافت رویداد در تبلیغات بنری

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

CheshmakBannerAd cheshmakBannerAd = findViewById(R.id.cheshmak_banner);
cheshmakBannerAd.setCallback(new BannerCallback() {
    @Override
    public void onAdLoaded() {
        Log.d("Ads", "onAdLoaded BannerCallback");
    }

    @Override
    public void onAdOpened() {
        Log.d("Ads", "onAdOpened BannerCallback");
    }
    
    @Override
    public void onAdFailedToLoad() {
       Log.d("Ads", "onAdFailedToLoad BannerCallback");
 } }); 

هنگام نمایش تبلیغ تابع onAdLoaded فراخوانی شده و همچنین زمانی که کاربر بر روی تبلیغ مورد نظر کلیک کرد تابع onAdOpened فراخوانی می‌شود.

زمانی که تبلیغ به دلایلی از جمله نداشتن تبلیغ با خطا مواجه شود تابع onAdFailedToLoad فراخوانی خواهد شد.

دریافت رویداد در تبلیغات بینابینی

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


final CheshmakInterstitialAd cheshmakInterstitialAd = findViewById(R.id.cheshmak_interstitial);
cheshmakInterstitialAd.setCallback(new InterstitialCallback() {
    @Override
    public void onAdLoaded() {
        Log.d("Ads", "onAdLoaded InterstitialCallback");
    }

    @Override
    public void onAdOpened() {
        Log.d("Ads", "onAdOpened InterstitialCallback");
    }

    @Override
    public void onAdFailedToLoad() {
        Log.d("Ads", "onAdFailedToLoad InterstitialCallback");
    }

    @Override
    public void onAdClicked() {
        Log.d("Ads", "onAdClicked InterstitialCallback");
    }
});
 

زمان فراخوانی هر یک از تابع ها در زیر توضیح داده شده است:

  • onAdLoaded زمانی که تبلیغ از سرور دریافت شده و آماده نمایش می‌باشد.
  • onAdOpened زمانی که تبلیغ بینابینی به صورت تمام صفحه نمایش داده شده می‌شود.
  • onAdFailedToLoad زمانی که تبلیغ بینابینی وجود نداشته یا خطایی در نمایش آن ایجاد شده است.
  • onAdClicked زمانی که کاربر بر روی تبلیغ کلیک کند.