پیش نیازها
- Google Mobile Ads SDK 19.7.0 یا بالاتر.
- راهنمای شروع را کامل کنید.
همیشه با تبلیغات آزمایشی تست کنید
هنگام ساخت و آزمایش برنامه های خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده می کنید. عدم انجام این کار می تواند منجر به تعلیق حساب شما شود.
سادهترین راه برای بارگیری آگهیهای آزمایشی، استفاده از شناسه واحد آگهی آزمایشی اختصاصی ما برای تبلیغات دارای پاداش Android است:
ca-app-pub-3940256099942544/5224354917
این بهطور ویژه پیکربندی شده است تا تبلیغات آزمایشی را برای هر درخواست بازگرداند، و شما میتوانید هنگام کدنویسی، آزمایش و اشکالزدایی از آن در برنامههای خود استفاده کنید. فقط مطمئن شوید که قبل از انتشار برنامه خود، آن را با شناسه واحد تبلیغاتی خود جایگزین کنید.
برای کسب اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی SDK Ads Mobile، به Test Ads مراجعه کنید.
بارگیری یک شیء تبلیغاتی با پاداش
تبلیغات پاداش با فراخوانی متد load()
استاتیک در کلاس RewardedAd
و ارسال RewardedAdLoadCallback
بارگذاری میشوند. این معمولاً در متد onCreate()
یک Activity
انجام می شود. توجه داشته باشید که RewardedAdLoadCallback
مانند سایر فرمتهای بازخوانی بارگیری از LoadAdError
برای ارائه جزئیات خطای با وفاداری بالاتر استفاده میکند.
جاوا
کاتلین
شناسه واحد تبلیغات خود را جایگزین AD_UNIT_ID کنید.
FullScreenContentCallback را تنظیم کنید
FullScreenContentCallback
رویدادهای مربوط به نمایش RewardedAd
شما را مدیریت می کند. قبل از اینکه RewardedAd
خود را نشان دهید، مطمئن شوید که پاسخ تماس را به این صورت تنظیم کنید:
جاوا
rewardedAd.setFullScreenContentCallback(
new FullScreenContentCallback() {
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.");
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null;
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.");
}
});
کاتلین
rewardedAd?.fullScreenContentCallback =
object : FullScreenContentCallback() {
override fun onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
Log.d(TAG, "Ad was dismissed.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError) {
// Called when fullscreen content failed to show.
Log.d(TAG, "Ad failed to show.")
// Don't forget to set the ad reference to null so you
// don't show the ad a second time.
rewardedAd = null
}
override fun onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdClicked() {
// Called when an ad is clicked.
Log.d(TAG, "Ad was clicked.")
}
}
آگهی را نمایش دهید
هنگامی که یک تبلیغ پاداش نشان می دهید، از یک شی OnUserEarnedRewardListener
برای مدیریت رویدادهای پاداش استفاده می کنید.
جاوا
rewardedAd.show(
MainActivity.this,
new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d(TAG, "User earned the reward.");
// Handle the reward.
}
});
کاتلین
rewardedAd?.show(
this,
OnUserEarnedRewardListener { rewardItem ->
Log.d(TAG, "User earned the reward.")
// Handle the reward.
val rewardAmount = rewardItem.amount
val rewardType = rewardItem.type
},
)
[اختیاری] تأیید اعتبار سمت سرور (SSV) تماس های برگشتی
برنامههایی که به دادههای اضافی در تماسهای تأیید سمت سرور نیاز دارند، باید از ویژگی داده سفارشی تبلیغات پاداش استفاده کنند. هر مقدار رشته تنظیم شده روی یک شیء تبلیغاتی پاداش داده شده به پارامتر query custom_data
در SSV ارسال می شود. اگر مقدار داده سفارشی تنظیم نشده باشد، مقدار پارامتر query custom_data
در پاسخ تماس SSV وجود نخواهد داشت.
نمونه کد زیر نشان میدهد که چگونه دادههای سفارشی را روی یک شی تبلیغاتی پاداش داده شده قبل از درخواست آگهی تنظیم کنید.
جاوا
کاتلین
SAMPLE_CUSTOM_DATA_STRING با داده های سفارشی خود جایگزین کنید.
اگر میخواهید رشته پاداش سفارشی را تنظیم کنید، باید قبل از نمایش آگهی این کار را انجام دهید.
سوالات متداول
- آیا مهلت زمانی برای تماس اولیه وجود دارد؟
- پس از 10 ثانیه، Google Mobile Ads SDK
OnInitializationCompleteListener
فراخوانی می کند، حتی اگر یک شبکه میانجی هنوز راه اندازی اولیه را کامل نکرده باشد. - اگر برخی از شبکههای میانجی آماده نباشند، چه باید کرد؟
توصیه میکنیم یک آگهی را در پاسخ به تماس
OnInitializationCompleteListener
بارگیری کنید. حتی اگر یک شبکه میانجی آماده نباشد، Google Mobile Ads SDK همچنان از آن شبکه درخواست تبلیغ میکند. بنابراین، اگر یک شبکه میانجی پس از اتمام زمان، شروع به کار کند، همچنان میتواند درخواستهای تبلیغات آینده را در آن جلسه سرویس دهد.میتوانید با فراخوانی
MobileAds.getInitializationStatus()
به بررسی وضعیت اولیه همه آداپتورها در طول جلسه برنامه خود ادامه دهید.- چگونه می توانم بفهمم که چرا یک شبکه میانجی خاص آماده نیست؟
AdapterStatus.getDescription()
توضیح می دهد که چرا یک آداپتور آماده سرویس دهی به درخواست های تبلیغاتی نیست.- آیا پاسخ به تماس
onUserEarnedReward()
همیشه قبل از پاسخ به تماسonAdDismissedFullScreenContent()
فراخوانی می شود؟ برای تبلیغات Google، همه تماسهای
onUserEarnedReward()
قبل ازonAdDismissedFullScreenContent()
انجام میشود. برای تبلیغاتی که از طریق میانجیگری ارائه میشوند، پیادهسازی SDK شبکه تبلیغاتی شخص ثالث ترتیب برگشت به تماس را تعیین میکند. برای SDK های شبکه تبلیغاتی که یک پاسخ تماس نزدیک با اطلاعات پاداش ارائه می کنند، آداپتور میانجیonUserEarnedReward()
قبل ازonAdDismissedFullScreenContent()
فراخوانی می کند.
نمونه هایی در GitHub
مراحل بعدی
موضوعات زیر را بررسی کنید: