Android Admob Geçiş Reklam Ekleme (Google Play Service)

Merhaba arkadaşlar bu dersimizde Android de Geçiş Reklam Ekleme yi anlatacağız. Bir önceki dersimizde Banner Reklam Eklemeyi anlatmıştık.Bu dersimiz araya bayram tatili girmesinden dolayı biraz gecikti kusura bakmayın.

Bir önceki dersimde de bahsetmiştim.1 Ağustos 2014 tarihi itibarı ile uygulamalarında admob kullanmak isteyen geliştiriciler Admob Sdk yerine Google Play Service lib kullanmak zorundalar. Önceden Admob Sdk kullanan kullanıcılar güncelleme yapmak istediklerinde Google Play Service kullanmak zorundalar.

Bu dersimde Google Play Service nasıl projemize dahil edilir anlatmayacağım çünkü bir önceki dersimde detaylıca anlatmıştım.Bir önceki dersime buradan ulaşabilirsiniz.Bu derse başlamadan önce incelemenizi tavsiye ederim.

Bu dersimde direk Geçiş Reklam kullanmayı anlatacağım.Geçiş reklamlar Banner reklamlardan farkı tam ekran çıkmalarıdır.Bu yüzden tıklanma oranları ,dolayısıyla kazanç getiri oranları daha yüksektir.Ama kullanımları Banner reklamlara göre daha zordur. Çünkü her reklam gösterilmeden önce reklamın yüklenmesi gerekmektedir.Bu da biraz zaman almaktadır.O yüzden gösterilmeden önce reklam yüklenmeli ve hazırda bekletilmelidir.

Admob Geçiş Reklam

Öncelikle Geçiş Reklam eklemek için admob hesabımıza giriş yapalım.+Yeni Birim Ekle ye tıklayalım ve açılan sayfada Geçiş Tabını seçelim ve aşşağıdaki gibi ayarlarımızı yapalım.

GecisReklam

Ayarlarımızı yaptıktan sonra oluşan id miz reklam yüklerken lazım olacaktır.

Arkadaşlar herzamanki gibi küçük bir uygulama ile örneklendirmeye çalıştım.Gerekli olan tüm açıklamaları ise kod üzerinde anlatmaya çalıştım.O yüzden daha fazla uzatmadan uygulamaya geçelim.

Geçiş Reklam

[wpdm_file id=17]

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mobilhanem.gecisreklamekleme"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="19" />
	 <uses-permission android:name="android.permission.INTERNET"/>
	 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version"/>
        <activity
            android:name=".Anasayfa"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.google.android.gms.ads.AdActivity"
              android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
    </application>

</manifest>

Anasayfa.java


import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;


public class Anasayfa extends Activity {
	private InterstitialAd gecisReklam;
	Button reklamGoster;
	Button reklamYukle;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.anasayfa);

        reklamGoster = (Button)findViewById(R.id.button1);//reklamGöster Butonumuzu Tanıtıyoruz
        reklamGoster.setEnabled(false);//tıklanamaz yapıyoruz.Çünkü önce reklamın yüklenmesi gerekir
        
        reklamYukle = (Button)findViewById(R.id.button2);//reklamYükle butonumuzu tanıtıyoruz

        
        reklamGoster.setOnClickListener(new View.OnClickListener() { //reklam göstere click listener ekliyoruz
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				showGecisReklam();//reklam göster butonu tıklanınca showGecisReklam() metodu çağırılacak
			}
		});
        
        reklamYukle.setOnClickListener(new View.OnClickListener() {//reklam yükleye click listener ekliyoruz
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				loadGecisReklam();//reklam yükle butonu tıklanınca loadGecisReklam() metodu çağırılacak
			}
		});
        
        
        
        // Geçiş Reklamımızı oluşturuyoruz
        gecisReklam = new InterstitialAd(this);
        
        gecisReklam.setAdUnitId("ca-app-pub-6311389967106147/363217****");//Reklam İd miz.Admob da oluşturduğumuz geçiş reklam id si

        gecisReklam.setAdListener(new AdListener() { //Geçiş reklama listener ekliyoruz
        	
        	@Override
             public void onAdLoaded() { //Geçiş reklam Yüklendiğinde çalışır
      		  	Toast.makeText(getApplicationContext(), "Reklam Yüklendi.", Toast.LENGTH_LONG).show();

        		 reklamGoster.setText("Reklam Göster");
        		 reklamGoster.setEnabled(true);
        		 
        	 }
        	 
        	 
	    	 @Override
	         public void onAdFailedToLoad(int errorCode) { //Geçiş Reklam Yüklenemediğinde  Çalışır
	   		  Toast.makeText(getApplicationContext(), "Reklam Yüklenirken Hata Oluştu.", Toast.LENGTH_LONG).show();

	    		 reklamGoster.setText("Reklam Yüklenemedi");
	    		 reklamGoster.setEnabled(false);
	         }
	    	 
	    	  public void onAdClosed(){ //Geçiş Reklam Kapatıldığında çalışır
	    		  Toast.makeText(getApplicationContext(), "Reklam Kapatıldı.", Toast.LENGTH_LONG).show();
	    		  
	    		  //Geçiş reklam kapatıldığı zamanda yeni reklam yükleme işlemimizi başlatabiliriz.
	    		  //loadGecisReklam();
	    	  }
		});

    }
    

    /** reklamYukle butonu tıklanınca çalışır */
    public void loadGecisReklam() {
      // reklam yüklenene kadar reklamGoster butonunu disable ediyoruz
      reklamGoster.setText("Reklam Yükleniyor...");
      reklamGoster.setEnabled(false);

      //Device id mizi yazıyoruz ki reklamımızı test ederken istedimiz kadar tıklayalım 
      //Google bu device id den tıklanan reklamlara ücret ödemeyecek bunun test için kullanıldığını bilecek
      //Eğer bunu yazmazsak Google haksız kazanç elde edeceğimizi düşünüp hesabımızı banlayabilir.
      
      //Device id yi bulmak için uygulamanızı çalıştırdıktan sorna LogCat i açıyoruz
      //Filtreleme Kısmına AdRequest veya device yazıyoruz.
      //Filtreleme sonucu olarak   "Use AdRequest.Builder.addTestDevice("C521B8BE91B4860C229030D8E3CEA254") to get test ads on this device."
      //yukardaki gibi bir sonuç çıkacaktır. Yukarda C521... ile başlayan kısım device id nizdir
      //Bunu yapmayı kesinlikle unutmayın yoksa banlanırsınız.
      
      AdRequest adRequest = new AdRequest.Builder()
          .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
          .addTestDevice("C521B8BE91B4860C229030D8E3CEA254")
          .build();

      //Reklam Yükleniyor
      gecisReklam.loadAd(adRequest);
    }

    /** reklamGoster butonu tıklanınca çalışacak. */
    public void showGecisReklam() {
      // Tekrar reklam yüklenene kadar disable edilecek
      reklamGoster.setText("Önce Reklam Yüklemelisin");
      reklamGoster.setEnabled(false);

      if (gecisReklam.isLoaded()) {//Eğer reklam yüklenmişse kontrol ediliyor
    	  gecisReklam.show(); //Reklam yüklenmişsse gösterilecek
      } else {//reklam yüklenmemişse
		  Toast.makeText(getApplicationContext(), "Reklam Gösterim İçin Hazır Değil.", Toast.LENGTH_LONG).show();
      }
    }
}

Evet arkadaşlar bu dersimde anlatmak istediklerim bu kadar. Burda dikkat etmemiz gereken çok önemli bir yer var. addTestDevice ile device id mizi kesinlikle eklemeliyiz.Kod içinde nasıl ekleyeceğimizi ve nereden bulacağımızı açıkladım. Admob hesabımızın kitlenmemesi için buna çok dikkat edelim ve bunu banner reklamlarımızada eklemeyi unutmayalım.

Eklemek yada sormak istediğiniz bir şey olursa çekinmeden sorabilirsiniz. Bir dahaki dersimde Android WebView Kullanımını anlatacağım. O zamana kadar kendinize iyi bakın.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

Android Studio Google Play Service import dersimiz için tıklayınız.

[wpdm_file id=17] 2

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

115 Yorum

          • anlatmak istediğim ben button la yapmak istemiyorum sizin kodlarınızın neresinde değişiklik yapmam gerek acaba

          • sayfa açılınca onCreate metodu içinde loadGecisReklam() ile reklamı yüklüyeceksin.Reklamın hazırda bekleyecek.

            Bundan sonra reklamı göstermek istediğin yerde showGecisReklam() metodu ile reklamı göstereceksin.

            Buna benzer sorular sorulmuştu. Sorular ve cevaplarını okuyabilirsen konu hakkında daha detaylı bilgi edebilirsin.

          • hocam reklamı yaptım bu şekilde tekrar tekrar cıkıyor bunu nasıl engelleyebilirim:

            this.interstitialAd = new InterstitialAd((Context)(this));

            this.interstitialAd.setAdUnitId(“ca-app-pub-3724491148466298/5878662360”);

            AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).addTestDevice(“BBE29BBDD66A49726A9790F138598735”).build();

            this.interstitialAd.loadAd(adRequest);
            this.interstitialAd.setAdListener((AdListener)(new AdListener(){
            public void onAdLoaded() {
            if (MainActivity.this.interstitialAd.isLoaded()) {
            MainActivity.this.interstitialAd.show();
            return;
            }
            }
            }));
            protected Object getErrorReason(int n) {
            // TODO Auto-generated method stub
            return null;
            }
            public void showInterstitial(View view) {
            this.interstitialAd.show();

            }

          • Öncelikle yorumu sil çünkü reklam idni paylaşmışsın.Kötü niyetli biri kullanıp hesabını banlatabilir. Ayrıca soruyuda yeni soru şeklinde sor.İlgisi olmayan kişilere gereksiz mail gitmesin. suan andro ve mehmet e de mail gidiyor.Direk en yukarda tartısmaya katıl kısmından yorumunu tekrar yazarsan sevinirim.

  • hocam merhaba, yazı için teşekkürler … geçiş reklamını buton üzerinde anlatmışsınız benim bi quiz uygulamam var, quiz de 15 soru var misal ben geçiş uygulamasının 5. sorudan sonra 6. soruya geçmeden önce çıkmasını istiyorum … bunu nasıl sağlarım ?

    • Geçiş reklamlarının gösterilebilmesi için önceden yüklenmiş olması lazım.Bu yüzden uygulama açıldığında OnCreate metodu içinde öncelikle loadGecisReklam() metodunu çağır reklamı yükle. Sonra sorular arasında geçişsırasında showGecisReklam() ile reklamı göster. Kullanıcı reklamı X butonu ile kapattığında onAdClosed() metodu otomatik çağırılıyor. Sen bu metod içinde tekrar loadGecisReklam() metodunu çağıracaksın ve reklamı tekrar yükleyeceksin.Sorular arasında tekrardan göstereceksin.

  • Merhaba. şimdi benim anlamadığım birşey var. Daha önceden admob reklamı eklerken Sdk yı kütüphaneye ekliyorduk. Şimdi eklemiyor muyuz ? Projenizi indirip çalıştırdım ama reklam kodlarında hata verdi. Yani import kısımlarında.

    • Hayır artık AdMob Sdk eklemiyoruz. Onun yerine Google Play Service lib ekliyoruz. İndiridiğiniz uygulamanın çalışabilmesi için Google Play Service lib i projenize eklemeniz lazım.

  • merhaba öncelikle böyle yararlı bir paylaşım için çok teşekkürler çok işime yaradı. Benim sormak istediğim buton1 ve buton2 yi bizim res/layout *.xml dosyamızda oluşturmamız mı gerekiyor? öyleyse bunu nasıl yapabiliriz?

      • ben uygulamadan çıkarken kendiliğinden açılmasını istiyorum reklamın
        ama nasıl yapacağımı bilmiyorum

        • uygulamadan back butonu ile çıkacaktır. Uygulama açılınca onCreate metodu içinde loadGecisReklam() ile reklamı yüklersin hazırda durur. Kullanıcı back butonuna bastığında reklamın açılması için back butonunu handle etmen lazım ve içerisinde reklamı açtırman lazım. Onuda şöyle yapabilirsin

          public void onBackPressed()

          {

          if (gecisReklam.isLoaded()) {//Eğer reklam yüklenmişse kontrol ediliyor

          gecisReklam.show(); //Reklam yüklenmişsse gösterilecek

          } else {//reklam yüklenmemişse veya gösterilmişsse

          super.onBackPressed(); //uygulamadan çıkar

          }

          }

          • dediğin gibi yapmaya çalıştım ama başaramadım. bu konuda baya acemiyim zaten kodları yazıyorum sen bir bakabilir misin?

            import android.app.Activity;
            import android.os.Bundle;
            import android.webkit.WebView;

            import com.google.android.gms.ads.AdRequest;
            import com.google.android.gms.ads.InterstitialAd;

            public class MainActivity extends Activity {

            private InterstitialAd gecisReklam;
            WebView mWebView;

            @Override
            protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            gecisReklam = new InterstitialAd(this);

            gecisReklam.setAdUnitId(“ca-app-pub-5109907576492964/………….”);

            mWebView = (WebView) findViewById(R.id.webView1);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl(“http://xxx.com”);

            }

            public void loadGecisReklam() {

            AdRequest adRequest = new AdRequest.Builder()
            .build();

            gecisReklam.loadAd(adRequest);
            }

            public void onBackPressed()

            {

            if (gecisReklam.isLoaded()) {

            gecisReklam.show();

            } else {

            super.onBackPressed();

            }

            }
            }

          • teşekkürler paylaşım için kullanıcı girdiğinde direkt reklam cıksın buton kullanmak istemiyorum teşekkürler…

  • Merhaba, bir sorum olacak yardımcı olursanız çok sevinirim. Yaptığım uygulamaları telefonumda deniyorum ve dediğiniz şekilde LogCat ten device id’ye ulaşamıyorum. Telefonda bunu öğrenmenin bir yolu var mı acaba?

    • Google Play de AdMob Device Id Finder diye aratırsan bir uygulama çıkıyor. Onu deneyebilirsin. Ama benim gösterdiğim yollada bulunması lazım. Logcat i mi kuramadın?

      • hocam şimdi bir önceki eclipse ile ilgili olan kısmı yapmaya çalıştım. Eclipse i açıp file new-project yapıp ardından çıkan pencereden android’i seçip alt başlığından Android project from existing code’a basıp next dedim. Sonra ordan google play service kısmını seçtim sizin yaptığınız gibi. alt tarafta gözüktü ama finish dediğimde hiçbir tepki vermiyor. Öyle kaldım. Yani oyunumu unity’de apk aldım sonrasında işlemler nasıl ilerliycek hiçbir fikrim yok şu an.

          • Hocam işte sizin buradaki kodları nerede açmam gerekiyor onu anlamadım. Eclipse’te dediğim gibi Google Play Service lib ‘i seçiyorum deminde söylediğim yolu kullanarak. Alt kısımda çıkıyor ama package explorer kısmında sizde olduğu gibi gözükmüyor. Acaba atladığım bir şey mi var.

  • Sayin hocam, benim 15 butonum var anasayfamda mesela 1. 5. ve 10. butona tiklandiginda bunu gostermesini istiyorum bunu nasil yapabilirim ?

    • sayfa açılınca onCreate metodu içinde loadGecisReklam() ile reklamı yüklüyeceksin.

      1.5.15 butonların tıklandığında çalısan metodun içine showGecisReklam(); yükleyi çağıracaksın. Reklam kapatıldıgında tekrardan yüklenip hazır kalması için reklamın çarpı butonuna basıldığında çalısan public void onAdClosed() bu method içinde tekrar loadGecisReklam() ile yükleme yapıcaksın.

  • hocam bir uygulamada hem geçiş hem banner reklamı aynı anda kullanabilirmiyiz. mesela ana menüde bir kez tam ekran reklam çıktıktan sonra hemen üstte banner yer alcak ve oyunun çoğu yerlerinde sadece banner yer alcak. yani geçiş reklamı sadece bir kez menüde yer alcak. ancak projede 2 reklam tipide aktif olcak ?

  • load ile yüklemeyi yaptıktan hemen sonra çağırınca reklam gelmiyor-henüz yüklenmemiş oldugu için. bu çağırma işlemini buton tıklanmadan hemen load olduktan sonra göstermenin bir yolu yokmu? eski sistemde loadın hemen ardından adlistener ile reklam kendiliğinden çıkıyordu şimdi adlistener yaptıgımda reklam kapanır kapanmaz tekrar açılıyor. özet geçmek gerekirse oncreate metodunda load yapıp hemen ardından reklamı nasıl gösterebilirim?

    • Yukarıdaki kodu incelediniz mi? AdListener üç farklı methodu mevcut içinde

      1. Reklam yüklendiğinde çalışıyor(onAdLoaded())

      2. Yüklenirken Hata verdiğinde(onAdFailedToLoad())

      3. Reklam Kapatıldığında (onAdClosed())

      incelerseniz daha iyi anlayabilirsiniz.

      • cevabınız için teşekkür ederim ancak, onAdLoaded ile reklamı gösterdiğimde daha uygulama doğru düzgün açılmadan reklam geliyor ve reklamı kapatır kapatmaz tekrar açılıyor. eski sdk ile yaptıgım uygulamada uygulama başladıktan 5-6 saniye sonra reklam geliyordu, kapatınca tekrar açılmıyordu.bunu yapmamın bir yolu yokmu? uygulamalarımda reklamları butonlara veya sayfa geçişlerine koymam mümkün değil 🙁

        • Reklamın hemen cıkmasının sebebi activty yüklenir yüklenmez reklamında yükleniyor olması bunun böyle olmasını istemiyorsan 3 4 sn sonra cıkmasını istiyorsan tavsiyem timer kullanman.Timer la 3 4 sn sonra loadGecirReklam() çağırırsın.Reklam kapatıldığında tekrar çağırılıyorsa bunun sebebi
          onAdClosed() metodunun içinde bir daha loadGecisReklamı
          çağırıyor olman. Kapatılınca tekrar yüklensin hazırda
          beklesin istiyorsun o da yüklenince tekrar onAdLoaded()
          fonksiyonunu çağırıyor.onAdLoaded() fonksiyonun içinde showGecisReklam() reklamı tekrar gösteriyor.

          • Timer ilede yapmayı denedim fakat bu kezde belirttiğim süre içerisinde reklam tekrar tekrar çıkıyor. reklam ile alakalı kodlarım bunlar..ne yaptıysam olmuyor. sanırım banner reklam ile idare etmek zorundayım.

            gecisreklam = new InterstitialAd(this);
            gecisreklam.setAdUnitId(“ca-app-pub-xxx”);
            AdRequest adRequest = new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .addTestDevice(“xxxxx”)
            .build();
            gecisreklam.loadAd(adRequest);
            gecisreklam.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
            Toast.makeText(getApplicationContext(), “Reklam Yüklendi.”, Toast.LENGTH_LONG).show();
            gecisreklam.show();
            }
            public void onAdClosed(){
            Toast.makeText(getApplicationContext(), “Reklam Kapatıldı.”, Toast.LENGTH_LONG).show();
            }
            });

          • buda zamanlama için reklam her kapandıgında tekrar çalıştıran handler kodum. zamanınızı aldığım ve kalabalık ettiğim için kusura bakmayın bu son mesajım daha sizi rahatsız etmiycem 🙂
            final Handler handler = new Handler();
            Runnable task = new Runnable() {
            @Override
            public void run() {
            gecisreklam.show();
            handler.postDelayed(this, 7000);
            }};
            handler.removeCallbacks(task);
            handler.post(task);

  • this.interstitialAd = new InterstitialAd((Context)(this));

    this.interstitialAd.setAdUnitId(“xxxxxxx”);

    AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).addTestDevice(“xxxxx”).build();

    this.interstitialAd.loadAd(adRequest);

    this.interstitialAd.setAdListener((AdListener)(new AdListener(){

    public void onAdLoaded() {

    if (MainActivity.this.interstitialAd.isLoaded()) {

    MainActivity.this.interstitialAd.show();

    return;

    }

    }

    }));

    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

    sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);

    }

    protected Object getErrorReason(int n) {

    // TODO Auto-generated method stub

    return null;

    }

    public void showInterstitial(View view) {

    this.interstitialAd.show();

    }

    • Bu kod benim yazdığım kodlar değil. Gördüğüm kadaryla

      MainActivity.this.interstitialAd.show(); her seferinde çağırılıyor. Birtane int tanımla mesala x=0;

      if(x==0){

      MainActivity.this.interstitialAd.show();
      x++;
      }

      deyip deneyebilirsin. Mantık olarak anlatmaya çalıştım

      • Taha bey sizden rica etsem benim uygulamama siz reklam koyarmısınız lütfen ben yapamıyorum artık denemediğim yol kalmadı lütfen eposta adresinizi verirseniz sizinle iletişim kurabilirim

  • aşağıda yazdığım koda durmadan ekrana reklam geliyor ben sadece bir kere gelmesini istiyorum ilginiz için teşekkürler..

    • İkisinide kullanmayabilirsin.Orda sadece anlatmak amaçlı kullandık.Mantığını kavramak amaçlı.Butonları kaldırırsın loadGecisReklam() metodunu direk onCreate metodun içine koyarsın. ShowGecisReklam() metodunuda istediğin yerde çağırıp reklamını gösterirsin.Diğer yorumlarıda okursan daha çok fikir edinebilirsin.

      • public class Anasayfa extends Activity {

        private InterstitialAd gecisReklam;

        @Override

        protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.anasayfa);

        // Geçiş Reklamımızı oluşturuyoruz

        gecisReklam = new InterstitialAd(this);

        gecisReklam.setAdUnitId(“ca-app-pub-7020051436874371*******”);//Reklam İd miz.Admob da oluşturduğumuz geçiş reklam id si

        gecisReklam.setAdListener(new AdListener() { //Geçiş reklama listener ekliyoruz

        @Override

        public void onAdLoaded() { //Geçiş reklam Yüklendiğinde çalışır

        Toast.makeText(getApplicationContext(), “Reklam Yüklendi.”, Toast.LENGTH_LONG).show();

        }

        @Override

        public void onAdFailedToLoad(int errorCode) { //Geçiş Reklam Yüklenemediğinde Çalışır

        Toast.makeText(getApplicationContext(), “Reklam Yüklenirken Hata Oluştu.”, Toast.LENGTH_LONG).show();

        }

        public void onAdClosed(){ //Geçiş Reklam Kapatıldığında çalışır

        Toast.makeText(getApplicationContext(), “Reklam Kapatıldı.”, Toast.LENGTH_LONG).show();

        //Geçiş reklam kapatıldığı zamanda yeni reklam yükleme işlemimizi başlatabiliriz.

        //loadGecisReklam();

        }

        });}

        public void loadGecisReklam() {

        AdRequest adRequest = new AdRequest.Builder()

        .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)

        .addTestDevice(“B3EEABB8EE11C2BE770B********”)

        .build();

        //Reklam Yükleniyor

        gecisReklam.loadAd(adRequest);

        }

        public void showGecisReklam() {

        // Tekrar reklam yüklenene kadar disable edilecek

        if (gecisReklam.isLoaded()) {//Eğer reklam yüklenmişse kontrol ediliyor

        gecisReklam.show(); //Reklam yüklenmişsse gösterilecek

        } else {//reklam yüklenmemişse

        Toast.makeText(getApplicationContext(), “Reklam Gösterim İçin Hazır Değil.”, Toast.LENGTH_LONG).show();

        }

        }

        }

          • bu projeyi çalıştırınca geçiş reklamı gelmiyor hocam.

            showGecisReklam() fonksiyonu, public void onBackPressed() içinde oldugu için mi?

            public void onBackPressed() //Android Back Buttonunu Handle ettik. Back butonu bir önceki sayfaya geri dönecek

            {

            showGecisReklam();//Back butonuna basıldığında geçiş reklamımız gösterilecek.

            if(webView.canGoBack()){//eğer varsa bir önceki sayfaya gidecek

            webView.goBack();

            }else{//Sayfa yoksa uygulamadan çıkacak

            super.onBackPressed();

            }

            }

          • O dersimde geçiş reklamı back butonuna basınca geliyor.Evet showGecisReklam() fonksiyonu, public void onBackPressed() içinde oldugu için back butonuna basınca açılıyor. O konu hakkında sorumuzu konunun altından sorarsan sevinirim.

          • benim yaşadığım sıkıntı geçiş reklamını butonsuz gostermek oldugu için buraya yazdım hocam. çünkü ben geçiş reklamı ekleme dersindeki butonları kaldırınca reklam gelmiyor.dediğiniz yöntemi de denedim butonları sıldıkten sonra loadgecisreklam() fonksiyonunu oncreat içinde tanımladım showgecisreklam() fonksiyonuda onun altında tanımladım ama reklam gelmiyor. ki gelse bile ilk reklam kapandıktan sonra diğer reklamların geliş kontrolunu nasıl yapacağımı da bilmiyorum.aşagıda arkadaşlar timer demiş o timer admob dan geçiş reklamı aldıgımız zaman bizim belirlediğimiz saniye mi acaba?

          • loadgecisreklam()

            onCrete içinde tanımladıktan sonra hemen altında showgecisreklam()ı çağırsan çalışmaz çünkü önce reklamın yüklenmesi lazım. Oncreate de loadgecisreklam() çağırdıktan sonra showGecisReklamını ya belli bir süre sonra (timer ile) yada kullanıcının bir etkileşimi ile(butona basmak vs) ile göstermen lazım.

          • hocam ozetle showgecisreklam() fonksiyonu butonsuz veya başka bişey olmadan kendiliğinden gelmez diyebilir miyiz? ben otomatik geldiğini ve süresini de admobta geçiş reklamı oluştururken süre aralığı seçiyoruz ya ordan ayarladığımızı düşünüyordum

          • showgecisReklam() metodunu

            public void onAdLoaded() metodunun içine koyarsan reklam yüklendiği zaman geçiş reklamı gösterilir.Kullanıcı etkileşimine kalmaz iş.

          • allah razı olsun hocam istediğim cevap buydu. aynı zamanda allah sabır versin fazla ugraştırıyoruz sizi. şimdi tek bişey var aklıma takılan reklam yüklenince geliyor ya admobda süreyi ne kadar uzun seçersek o kadar geç mi gelecek geçiş reklamımız?

          • Oradaki timeout zamanı reklamın kaç sn sonra kapanacağı ile ilgili.Kendisi otomatik kapanıyor. Belirlediğin sn sonunda.Ama bu konuda pekde emin değilim çnkü denemedim hiç.

          • peki timerla süreyi nasıl uzatabiliriz hocam? benim aklıma onAdLoaded() fonk. içindeki showgecisreklam() fonk. öncesi for dongüsüyle süre uzatmak geldi,ama orda da sayı ne kadar fazla olsa da süre yine kısa olacak.timer hakkında da biraz bilgi verseniz.çünkü sürekli gelen reklamlar kullanıcıları baya sıkıyor

  • hocam uygulamamızı yayınladıgımız zaman, device idmiz olan “Use AdRequest.Builder.addTestDevice(“C521B8BE*********)” kısmını kaldırmasak, google uygulamayı indiren cihazları da test cihazı olarak görür mü?

    2.sorum : aynı reklam id’sini farklı uygulamalarda kullanmanın dezavantajı var mı?

    • 1. si hayır görmez. O id sadece senin cihazının id si. Kaldırmana gerek yok.
      2. Reklam oluşturmak çok basit.Google da oluşturmamızı istiyor.O yüzden bence her uygulama için farklı reklam oluştur.

  • Merhaba, paylaşımınız için teşekkürler ellerinize sağlık. Bu yazınızdan yola çıkarak uygulamama admob ekledim fakat değişik bir sorunla karşılaştım. Sorun şu istatistiklere baktığım zaman tıklanma sayısının gösterim sayısından fazla olduğunu görüyorum. Hiç birşey anlamadım. Şuan google hesabımı her an kapatır diye endişeleniyorum:) Neden olabilir acaba bu konuda yardımcı olabilir misiniz?

    • Ben istatistik kısmını bilmiyorum. Ben hiç kendi projelerimde kullanmadım.Ama tıklanma sayısı gösterim sayısından fazla olması çok normal bir durum tam tersi olsa sıkıntı olur diye düşünüyorum.

  • Hocam çok yararlı oldu sagol fakat device id test etme aşaması bittikten sonra kaldırıcaz mı yoksa hep kalıcakmı

    • Yararlı olduysa ne mutlu:) device id test aşamasından sonra kaldrmanı önermem sonucta aynı cihazla baska geliştrmelerde yapıcaksn uygulaman için her seferinde eklemek zahmetli olur. İşin özü device id nin orda kalmasının herhangi bir sakıncası bulunmamaktadır.

  • Merhabalar, yukarıdaki belirttiğiniz gibi uygulamama hepsini yaptım fakat,
    manifeste eklediğimiz bu satırların

    “@integer/google_play_services_version” <= bu satırında hata veriyor, bulunamadığını söylüyor. Integer'ı bizmi oluşturacağız yoksa daha başka bir problemmi var ? =S

    • Google Play Service import edememiş olabilirsin. Benimde başıma gelmişti Google Play Service silip tekrar yüklemiştim.Eğer doğru import ettiğinden eminsen yanlış yani eski google play service import etmişsin.google-play-services_lib diye arat bilgisayarında birden fazla cıkacaktır.doğru olanı import etmeye çalış.Hangisi doğru anlaman için bu klasör hangi api klasörünün nin altında olduğuna bak.

      Kolay Gelsin.

      • ya hocam şöyle söyleyim ben ufak bişey yaptım oyun olarak play’e atıcam üyeliğimi falan açtım reklam alıcam uygulamaya öncelikle uygulamayı yükledikten sonra mı reklam alıyoruz ? öyleyse nereden nasıl düzelticem pek anlayamadım açıkçası

          • yani 1.bölümde çıkmasını istiyorsam oraya event oluşturup mu ekliceğim ? aktivity derken pek bişey bilmiyorum öğrenme amaçlı soruyorum kusura bakmayın

  • Eclipse’te File -> Import -> Existing Android Project -> Browse dedikten sonra Android Sdk ile birlikte gelen google-play-services_lib(Bilgisayarınız Search kısmından daha rahat bulabilrsinz) klasörünü buluyor ve browse diyoruz.

    BU KLASÖRÜ BULAMADIK HOCAM YANLIŞ MI BAKIYORUZ ?

  • Merhaba Taha hocam butonsuz çıkışa geçiş reklamı eklemek istiyorum yardımcı olabilir misiniz?

  • Merhaba Taha Hocam, birşey sormak istiyorum burada bahsettiğiniz BANLANMA olayı sadece uygulamamıza GEÇİŞLİ REKLAM yaptığımız zamanda mı geçerli ? yoksa Alt Banner olayında da Device ID almamız gerekiyor mu ? Bunu öğrenmek istedim.
    ( Android Projesi dışında Phonegap uygulama yazıyorum. Orada da bu şekilde Device ID almamız gerekiyor mu Bilginiz var mı ? )

  • Merhaba Taha Hocam bir soru soracaktım fakat ilgili konuyu sitede aradım bulamadığım için buraya yazdım kategori hatasından dolayı kusura bakma.
    Admob reklamlarında tam filtreleme nasıl yapılıyor, islami içerikli uygulamalar yapıyorum bir çok kategori ve reklamları filtrelememe rağmen tekrar başka bir tarzda yine çıkıyorlar. Mesela linkteki (https://apps.admob.com/#monetize/pubcontrols:arc) filtrelemeleri yapıyorum bu hem sürekli yapılması gereken bir işlem (birkaç günde bir) hem de % 100 çözüm sağlamayan bir yöntem. Benim yapmak istediğim özellikle müstehcen reklamları engellemek, mesela sadece şu şu şu reklamlar çıksın tarzı bir reklam seçme de olabilir…
    % 100 filtrelemeyi nasıl sağlayabilirim.
    Teşekkürler

  • Hocam eline saglik da ben cozemedigim bir sikinti yasiyorum reklam bazi telefonlarda hata veriyor bazi telefonlarda ise vermiyor api ile ilgili problem oldugunu dusunuyorum ama cozemedim Sizce neden gosterildikten sonra hata veriyor olabilir reklam

  • Hocam mrb birde şunu sorucaktım
    bu uygulamayı yaptik diyelim
    bunun proje isimlerini nasıl değiştircez
    reklam ekleme diye çıkıyor
    onları misal google uygulama diye değiştircem
    nasıl değiştircem

  • BU yaptıgınız projede banner reklam üste onu nasıl sayfanın altına alabilirim ?

  • BU yaptıgınız projede banner reklam üste reklamı sayfanın altına nasıl sabitleyebilirim ?

  • selam taha hocam bir sorum olacak. Ben android uygulamama reklam koyarken testdevice olarak tanıtmayı atlamıştım senin yazını görünce ekledim ama eklemediğimde bir kaç kez tıkladım test ederken. Fakat test cihazımdaki gmail hesabı ile admob’un bağlı olduğu hesap birbirinden farklıydı. Beni admob’un bloklama ihtimali var mı hocam.

  • Hocam merhaba, reklama tıklama ile çalışacak bi fonksiyon var mı? Reklama tıklandığında bikaç işlem gerçekleştirmek istiyorum.

  • hocam reklam gösterimim YANLIŞLIKLA YAPILAN TIKLAMALARI TEŞVİK EDEN DÜZEN – GEÇİŞ REKLAMLARI yüzüne durduldu gerekli düzenlemeleri yaptım tekrar play store ye aynı id ile mi yüklemem gerekiyor yoksa yeni bir reklam id si mi oluşturayım

    • belaler kendine döner. nabıcak milletin işi gücü yok da senin gibi beleşçiler için uygulamamı yazacak

  • Kodları yazınca hata veriyor çalıştırmıyor bazı kodların rengi kırmızıya dönüyor button Toast vs. gibi kodlarda oluyor bu. Yardımcı olabilir misiniz 2 gündür bakmadığım kaynak kalmadı . Eğer elinizde duruyorsa kaynak dosyalarını atar mısınız öyle daha kolay olur ya da neden kırmızı olduğu hakkında bilgi verir misinz. Teşekkrüler

  • Merhaba,her aktivity icin ayri banner olusturup onu mu kullaniyoruz yoksa tek alip bir uygulamanin bazi yerlerinde kullansak oluyor mu?Bu diger reklam turleri icinde gecerli

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?