Geçiş reklamları, barındıkları uygulamanın arayüzünü kaplayan tam ekran reklamlardır. Genellikle bir uygulamanın akışındaki doğal geçiş noktalarında (ör. etkinlikler arasında veya oyun seviyeleri arasındaki duraklatmalar sırasında) gösterilir. Uygulamada bir geçiş reklamı gösterildiğinde, kullanıcı reklamı seçip hedefine devam edin veya reklamı kapatıp uygulamaya geri dönün.
Bu kılavuzda, geçiş reklamlarının Android'e nasıl entegre edileceği açıklanmaktadır. uygulamasını indirin.
Ön koşullar
- Google Mobile Ads SDK'sı 19.7.0 veya sonraki sürümler.
- Başlangıç kılavuzunu tamamlayın.
Her zaman test reklamlarıyla test etme
Uygulamalarınızı oluştururken ve test ederken, uygulamalarınızın yanı sıra üretim reklamlarıdır. Aksi takdirde hesabınız askıya alınabilir.
Test reklamları yüklemenin en kolay yolu, Android geçiş reklamları için özel test reklam birimi kimliğimizi kullanmaktır:
/21775744923/example/interstitial
Her istek için test reklamları döndürecek şekilde özel olarak yapılandırılmıştır. kod yazma, test etme ve hata ayıklama sırasında kendi uygulamalarınızda kullanabileceğiniz ücretsiz bir araçtır. Sadece uygulamanızı yayınlamadan önce bunu kendi reklam birimi kimliğinizle değiştirdiğinizden emin olun.
Mobile Ads SDK'sının test reklamlarının işleyiş şekli hakkında daha fazla bilgi için Test Reklamları başlıklı makaleyi inceleyin.
Reklam yükle
Bir geçiş reklamı yüklemek için AdManagerInterstitialAd
öğesini çağırın
statik
load()
yöntemini kullanarak
Yüklenenleri almak için AdManagerInterstitialAdLoadCallback
reklamı veya olası hataları kontrol edin. Diğer biçim yükleme geri çağırmalarında olduğu gibi,
AdManagerInterstitialAdLoadCallback
şunu kullanıyor:
Daha yüksek kaliteli hata ayrıntıları sağlamak için LoadAdError
.
Java
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
public class MainActivity extends Activity {
private AdManagerInterstitialAd mAdManagerInterstitialAd;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest,
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
// The mAdManagerInterstitialAd reference will be null until
// an ad is loaded.
mAdManagerInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.d(TAG, loadAdError.toString());
mAdManagerInterstitialAd = null;
}
});
}
}
Kotlin
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
private final val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/21775744923/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError?.toString())
mAdManagerInterstitialAd = null
}
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, 'Ad was loaded.')
mAdManagerInterstitialAd = interstitialAd
}
})
}
}
FullScreenContentCallback'i ayarlama
FullScreenContentCallback
, InterstitialAd
'inizin görüntülenmesiyle ilgili etkinlikleri işler. InterstitialAd
'ü göstermeden önce geri çağırma işlevini ayarladığınızdan emin olun:
Java
mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d(TAG, "Ad dismissed fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
});
Kotlin
mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.")
}
override fun onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
Log.d(TAG, "Ad dismissed fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
}
Reklamı göster
Geçiş reklamları, uygulama akışındaki doğal duraklamalar sırasında görüntülenmelidir.
Bir oyunun seviyeleri arasında veya kullanıcının bir görevi tamamladıktan sonra geçmesi iyi bir örnektir.
Bir geçiş reklamı göstermek için
show()
yöntemini kullanabilirsiniz.
Java
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
Kotlin
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd?.show(this)
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.")
}
Bazı en iyi uygulamalar
- Geçiş reklamlarının uygulamanız için doğru reklam türü olup olmadığını düşünün.
- Geçiş reklamları, doğal geçiş noktalarına sahip uygulamalarda en iyi sonucu verir. Uygulamada bir görevin tamamlanması (ör. resim paylaşma veya bir bir puan oluşturuyor. Projenizin hangi noktalarında uygulamanızın iş akışında geçiş reklamları görüntüler ve kullanıcının uygulamayı yanıt verebilir.
- Geçiş reklamı gösterirken işlemi duraklatmayı unutmayın.
- Birkaç farklı geçiş reklamı türü vardır: metin, resim, video ve daha fazlası. Uygulamanız bir geçiş reklamı gösterdiğinde, reklamın bu kaynaklardan yararlanabilmesi için bazı kaynakların kullanımını da askıya alması önemlidir. Örneğin, bir geçiş reklamında, uygulamanız tarafından üretilen tüm ses çıkışlarını duraklattığınızdan emin olun.
- Yükleme süresi için yeterli süre tanıyın.
- Geçiş reklamlarını uygun zamanda göstermenizin yanı sıra kullanıcının reklamların yüklenmesini beklemek zorunda kalmaması da önemlidir. Telefon araması yaparak reklamı önceden yükleme
Aramayı planlamadan önce
load()
show()
, uygulamanızın her bir sayfada gösterildiği gibi, geldiğinde hazır olduğunu anlayabilirsiniz. - Kullanıcıyı reklama boğmayın.
- Uygulamanızda geçiş reklamlarının sıklığını artırmak çok iyi bir yol gibi görünse de, kullanıcı deneyimini ve daha düşük tıklama oranları sağlar. Kullanıcıların sürekli olarak uygulamanızdan artık keyif alamamalarına neden olan durumlarla karşılaşabilirsiniz.
GitHub'daki örnekler
Sonraki adımlar
- Reklam hedefleme hakkında daha fazla bilgi edinin.
- Kullanıcı gizliliği hakkında daha fazla bilgi edinin.
- Optimize edilmiş SDK başlatma ve reklam yüklemeyi keşfetme (beta) sürümünü kullanabilirsiniz.