راه‌اندازی تبلیغات ادیوری در B4A

در این مستند نحوه نمایش تبلیغات ادیوری در اپلیکیشن‌های B4A را شرح می‌دهیم.

افزودن کتابخانه ادیوری به پروژه

برای نمایش تبلیغات ادیوری ابتدا باید کتاب‌خانه‌ی B4A ادیوری را دانلود نمایید و محتویات آن را در دایرکتوری Libraries نرم‌افزار B4A قرار دهید.

راه‌اندازی کتابخانه ادیوری

در بخش Libraries پروژه‌ی خود، کتاب‌خانه‌ی Adivery را فعال کنید.

سپس از منوی Project گزینه Manifest Editor را انتخاب کنید و کد زیر را به مانیفست پروژه اضافه کنید.

AddApplicationText(
<activity
    android:name="com.adivery.sdk.networks.adivery.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
    android:exported="false" />)

سپس در بخش Globals ادیوری را تعریف کنید.

Sub Globals
	Dim Adivery As Adivery
End Sub

در نهایت مشابه نمونه‌ی زیر در بخش Activity_Create کتاب‌خانه‌ی ادیوری را راه‌اندازی کنید. مقدار APP_ID را با شناسه اپلیکیشن خود که از داشبورد ناشرین دریافت می‌کنید، جایگزین کنید.

Sub Activity_Create(FirstTime As Boolean)
	Adivery.Initialize("APP_ID")
	Adivery.SetLoggingEnabled(True)
End Sub

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

برای نمایش تبلیغ بنری، مشابه کد نمونه‌ی زیر یک AdiveryBannerAd بسازید و با استفاده از تابع Initialize2 درخواست نمایش تبلیغ را بدهید.

ورودی اول تابع Initialize2 پیشوند نام توابع دریافت کننده‌ی رویداد‌های تبلیغ است. برای مثال اگر مقدار آن را MyBanner در نظر بگیرید می‌توانید تابعی با اسم ‍MyBanner_AdLoadFailed تعریف کنید و در صورت رخ دادن مشکل در بارگذاری تبلیغ، مطلع شوید.

ورودی دوم تابع Initialize2 که در مثال زیر با PLACEMENT_ID مشخص شده است، شناسه‌ی جایگاه شماست که می‌توانید آن را از پنل نمایش‌دهندگان ادیوری دریافت کنید.

ورودی سوم تابع Initialize2 که فقط مختص تبلیغات بنری است، نوع جایگاه شما را مشخص می‌کند که باید با نوع جایگاه مشخص شده در پنل نمایش‌دهندگان تطابق داشته باشد. یکی از مقادیر BANNER، LARGE_BANNER یا MEDIUM_RECTANGLE را می‌توانید به عنوان ورودی بدهید.

پس از درخواست نمایش تبلیغ، می‌توانید مشابه نمونه‌ی زیر به کمک Activity.AddView تبلیغ بنری را به مکان دلخواه از صفحه‌ی برنامه‌ی خود اضافه کنید.

Sub Globals
	Dim Banner As AdiveryBannerAd
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Banner.Initialize2("MyBanner", "PLACEMENT_ID", Banner.BANNER)
	Activity.AddView(Banner, 0, 100%y - 50dip, 100%x, 50dip)
End Sub

Sub MyBanner_AdLoaded
	Log("Banner loaded")
End Sub

Sub MyBanner_AdClicked
	Log("Banner clicked")
End Sub

Sub MyBanner_AdLoadFailed
	Log("Banner load failed")
End Sub

Sub MyBanner_AdShowFailed
	Log("Banner show failed")
End Sub

نمایش تبلیغ میان‌صفحه‌ای

برای نمایش تبلیغ میان‌صفحه‌ای، مشابه کد نمونه‌ی زیر یک AdiveryInterstitialAd بسازید و با استفاده از تابع Initialize2 درخواست نمایش تبلیغ را بدهید. برای آشنایی با ورودی‌های این تابع، بخش «نمایش تبلیغ بنری» را مطالعه کنید.

برای مطلع شدن از آماده بودن تبلیغ جهت نمایش دو روش وجود دارد. روش اول پیاده‌سازی تابع _AdLoaded است. این تابع هنگامی که تبلیغ آماده‌ی نمایش باشد فراخوانی می‌شود. روش دیگر بررسی وضعیت تبلیغ به وسیله‌ی تابع .IsLoaded() است.

پس از اطمینان از آماده بودن تبلیغ می‌توانید با صدا کردن .ShowAd() تبلیغ را نمایش دهید.

Sub Globals
	Dim Interstitial As AdiveryInterstitialAd
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Interstitial.Initialize2("MyInterstitital", "PLACEMENT_ID")
End Sub

Sub MyInterstitital_AdLoaded
	Log("Interstitial loaded")
	Interstitial.ShowAd()
End Sub

Sub MyInterstitital_AdClicked
	Log("Interstitial clicked")
End Sub

Sub MyInterstitital_AdLoadFailed
	Log("Interstitial load failed")
End Sub

Sub MyInterstitital_AdShowFailed
	Log("Interstitial show failed")
End Sub

Sub MyInterstitital_AdClosed
	Log("Interstitial closed")
End Sub

Sub MyInterstitital_AdShown
	Log("Interstitial shown")
End Sub

نمایش تبلیغ جایزه‌ای

برای نمایش تبلیغ جایزه‌ای، مشابه کد نمونه‌ی زیر یک AdiveryRewardedAd بسازید و با استفاده از تابع Initialize2 درخواست نمایش تبلیغ را بدهید. برای آشنایی با ورودی‌های این تابع، بخش «نمایش تبلیغ بنری» را مطالعه کنید.

برای مطلع شدن از آماده بودن تبلیغ جهت نمایش دو روش وجود دارد. روش اول پیاده‌سازی تابع _AdLoaded است. این تابع هنگامی که تبلیغ آماده‌ی نمایش باشد فراخوانی می‌شود. روش دیگر بررسی وضعیت تبلیغ به وسیله‌ی تابع .IsLoaded() است.

پس از اطمینان از آماده بودن تبلیغ می‌توانید با صدا کردن .ShowAd() تبلیغ را نمایش دهید.

در صورتی که کاربر ویدیو را تا انتها ببیند تابع _AdRewarded فرخوانده می‌شود.

Sub Globals
	Dim Rewarded As AdiveryRewardedAd
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Rewarded.Initialize2("MyRewarded", "PLACEMENT_ID")
End Sub

Sub MyRewarded_AdLoaded
	Rewarded.showAd()
	Log("Rewarded loaded")
End Sub

Sub MyRewarded_AdClicked
	Log("Rewarded clicked")
End Sub

Sub MyRewarded_AdRewarded
	Log("Rewarded rewarded")
End Sub

Sub MyRewarded_AdLoadFailed
	Log("Rewarded load failed")
End Sub

Sub MyRewarded_AdShowFailed
	Log("Rewarded show failed")
End Sub

Sub MyRewarded_AdClosed
	Log("Rewarded closed")
End Sub

Sub MyRewarded_AdShown
	Log("Rewarded shown")
End Sub

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

برای نمایش تبلیغات AdMob در بخش Libraries کتاب‌خانه‌ی FirebaseAds را فعال نمایید و کد زیر را به مانیفست پروژه‌ی خود اضافه کنید.

AddApplicationText(
<meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true" />
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<activity
    android:name="com.google.android.gms.ads.AdActivity"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
    android:theme="@android:style/Theme.Translucent" />)

برای تست نمایش تبلیغات AdMob به مستند تست نمایش تبلیغات مراجعه کنید.