تبلیغات بینابینی، تبلیغات تمام صفحهای هستند که رابط کاربری برنامه میزبان خود را میپوشانند. آنها معمولاً در نقاط انتقال طبیعی در جریان یک برنامه، مانند بین فعالیتها یا در طول مکث بین سطوح یک بازی، نمایش داده میشوند. وقتی یک برنامه یک تبلیغ بینابینی را نشان میدهد، کاربر میتواند انتخاب کند که یا روی تبلیغ ضربه بزند و به مقصد خود ادامه دهد یا آن را ببندد و به برنامه بازگردد. یکی از مطالعات موردی ما را بخوانید.
این راهنما نحوه ادغام تبلیغات بینابینی در یک برنامه اندروید را توضیح میدهد.
پیشنیازها
همیشه با تبلیغات آزمایشی تست کنید
هنگام ساخت و آزمایش برنامههای خود، مطمئن شوید که از تبلیغات آزمایشی به جای تبلیغات زنده و تولیدی استفاده میکنید. عدم انجام این کار میتواند منجر به مسدود شدن حساب شما شود.
سادهترین راه برای بارگذاری تبلیغات آزمایشی، استفاده از شناسه اختصاصی واحد تبلیغات آزمایشی ما برای تبلیغات بینابینی اندروید است:
ca-app-pub-3940256099942544/1033173712
این ابزار به طور ویژه پیکربندی شده است تا برای هر درخواست، تبلیغات آزمایشی را برگرداند و شما میتوانید در برنامههای خود هنگام کدنویسی، آزمایش و اشکالزدایی از آن استفاده کنید. فقط قبل از انتشار برنامه، مطمئن شوید که آن را با شناسه واحد تبلیغاتی خود جایگزین میکنید.
برای اطلاعات بیشتر در مورد نحوه عملکرد تبلیغات آزمایشی Google Mobile Ads SDK (بتا)، به بخش تبلیغات آزمایشی مراجعه کنید.
بارگذاری یک تبلیغ
برای بارگذاری یک تبلیغ، کیت توسعه نرمافزار تبلیغات موبایل گوگل (بتا) موارد زیر را ارائه میدهد:
با API بارگذاری تک تبلیغ بارگذاری کنید.
با استفاده از API پیشبارگذاری تبلیغات ، بارگذاری کنید که نیاز به بارگذاری و ذخیرهسازی دستی تبلیغات را از بین میبرد.
با API بارگذاری تک تبلیغ بارگذاری کنید
مثال زیر نحوه بارگذاری یک تبلیغ واحد را به شما نشان میدهد:
کاتلین
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize Google Mobile Ads SDK (beta).
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
}
}
جاوا
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize Google Mobile Ads SDK (beta).
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
با استفاده از API پیشبارگذاری تبلیغات، بارگذاری کنید
برای شروع پیش بارگذاری، موارد زیر را انجام دهید:
پیکربندی پیشبارگذاری را با یک درخواست تبلیغ آغاز کنید.
پیشبارگذار تبلیغات بینابینی را با شناسه واحد تبلیغاتی و پیکربندی پیشبارگذاری خود شروع کنید:
کاتلین
private fun startPreloading(adUnitID: String) {
val adRequest: AdRequest = AdRequest.Builder(adUnitID).build()
val preloadConfig = PreloadConfiguration(adRequest)
InterstitialAdPreloader.start(adUnitID, preloadConfig)
}
جاوا
private void startPreloading(String adUnitId) {
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
InterstitialAdPreloader.start(adUnitId, preloadConfig);
}
تبلیغات به طور مداوم همزمان با نمایش شما در دسترس قرار میگیرند. مثال زیر، نظرسنجیهایی را برای یک تبلیغ از پیشبارگذار نشان میدهد:
کاتلین
// Polling returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd(adUnitID)
جاوا
// Polling returns the next available ad and loads another ad in the background.
final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
تنظیم InterstitialAdEventCallback
InterstitialAdEventCallback رویدادهای مربوط به نمایش InterstitialAd شما را مدیریت میکند. قبل از نمایش تبلیغ بینابینی، حتماً callback را تنظیم کنید:
کاتلین
// Listen for ad events.
interstitialAd?.adEventCallback =
object : InterstitialAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Interstitial ad did show.
}
override fun onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Interstitial ad failed to show.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
جاوا
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
نمایش تبلیغ
برای نمایش یک تبلیغ بینابینی، از متد show() استفاده کنید.
کاتلین
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
جاوا
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
برخی از بهترین شیوهها
- در نظر بگیرید که آیا تبلیغات بینابینی نوع مناسبی از تبلیغ برای اپلیکیشن شما هستند یا خیر.
- تبلیغات بینابینی در برنامههایی که نقاط انتقال طبیعی دارند، بهترین عملکرد را دارند. پایان یک کار در یک برنامه، مانند به اشتراک گذاشتن یک تصویر یا تکمیل یک مرحله بازی، چنین نقطهای را ایجاد میکند. حتماً در نظر بگیرید که در کدام نقاط از گردش کار برنامه خود، تبلیغات بینابینی را نمایش خواهید داد و احتمالاً کاربر چگونه واکنش نشان خواهد داد.
- به یاد داشته باشید که هنگام نمایش یک تبلیغ بینابینی، عملیات را متوقف کنید.
- انواع مختلفی از تبلیغات بینابینی وجود دارد: متن، تصویر، ویدیو و موارد دیگر. مهم است که مطمئن شوید وقتی برنامه شما یک تبلیغ بینابینی را نمایش میدهد، استفاده از برخی منابع را نیز به حالت تعلیق در میآورد تا تبلیغ بتواند از آنها بهره ببرد. به عنوان مثال، وقتی فراخوانی برای نمایش یک تبلیغ بینابینی انجام میدهید، حتماً هرگونه خروجی صوتی تولید شده توسط برنامه خود را متوقف کنید.
- زمان بارگذاری کافی را در نظر بگیرید.
- همانطور که نمایش تبلیغات بینابینی در زمان مناسب مهم است، اطمینان از اینکه کاربر مجبور نیست برای بارگذاری آنها منتظر بماند نیز مهم است. بارگذاری اولیه تبلیغ با فراخوانی تابع
load()قبل از فراخوانی تابعshow()میتواند تضمین کند که برنامه شما در زمان نمایش، یک تبلیغ بینابینی کاملاً بارگذاری شده و آماده دارد. - کاربر را در معرض تبلیغات قرار ندهید.
- اگرچه افزایش تعداد دفعات نمایش تبلیغات بینابینی در اپلیکیشن شما ممکن است راهی عالی برای افزایش درآمد به نظر برسد، اما میتواند تجربه کاربری را نیز خراب کند و نرخ کلیک را کاهش دهد. مطمئن شوید که کاربران آنقدر زیاد در کارشان وقفه ایجاد نشود که دیگر نتوانند از استفاده از اپلیکیشن شما لذت ببرند.
مثال
برنامهی نمونهای که استفاده از SDK تبلیغات موبایلی گوگل (بتا) را نشان میدهد، دانلود و اجرا کنید.