Android

Android için Google AdMob

Bildiğiniz gibi 1 Ağustos 2014 tarihinden itibaren eski Google AdMob SDK'sı geçerliliğini yitirdi. Peki, yeni modeli Android uygulamamıza nasıl entegre edeceğiz? Öncelikle, ilk defa AdMob'u kullanacaksak www.admob.com adresinden üyelik açmamız gerekiyor. Kayıt işlemlerinden sonra Android kısmına geçe...

Bekir Dursun |

28.08.2014

Bildiğiniz gibi 1 Ağustos 2014 tarihinden itibaren eski Google AdMob SDK'sı geçerliliğini yitirdi. Peki, yeni modeli Android uygulamamıza nasıl entegre edeceğiz?

Öncelikle, ilk defa AdMob'u kullanacaksak www.admob.com adresinden üyelik açmamız gerekiyor. Kayıt işlemlerinden sonra Android kısmına geçelim.

Projemizden sonra Eclipse'e google-play-services_lib (<androidsdk>/extras/google/google_play_services/libproject/google-play-services_lib) klasörünü içeri aktarıyoruz, sonrasında yine projemize sağ tıklayıp "Properties"i açıyor ve aşağıdaki işlemleri yapıyoruz.

Reklam göstermek istediğimiz activity'i açıp paket adının altına aşağıdaki kodu ekliyoruz.

[code]import com.google.android.gms.ads.*;[/code]

AdView'i ve daha önce oluşturmuş olduğumuz banner reklamının kodunu global olarak tanımlıyoruz.

[code]private AdView adView;
private static final String REKLAM_ID = "ca-app-pub-1072585xxxxxxxxx/8702xxxxxxx";[/code]

Activity açıldığı an reklamı yüklemek gerekiyor, onCreate metodunun içine kodlarımızı yazıyoruz.

[code]adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(REKLAM_ID);

LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout);
layout.addView(adView);

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

adView.loadAd(adRequest);[/code]

İzinler ve tanımlamalardan sonra reklamlar hazır!

Android Manifest dosyasında application tagının içine aşağıdaki kodu yapıştırıyoruz.

[code]<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />[/code]

Son olarak INTERNET ve ACCESS_NETWORK_STATE izinlerine ihtiyacımız var. Manifest tagının içine aşağıdaki kodu ekliyoruz.

[code]<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>[/code]

Sonucu yanda görebilirsiniz:)

"Reklamları tam ekran açtırmak istiyorum" derseniz, şöyle yapıyoruz. http://apps.admob.com adresinden uygulamamız için yeni bir reklam kodu üretiyoruz. Bu defa reklam kodunun "geçiş" özellikli olması gerekiyor. Yine reklam göstermek istediğimiz activity'de global tanımlamaları yapıyoruz.

Kodumuz şu şekilde olacak:

[code]private InterstitialAd interstitial;
private static final String REKLAM_ID = "ca-app-pub-1072xxxxxxxxxx/849xxxxxxxx";[/code]

[code]interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(REKLAM_ID);

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

interstitial.loadAd(adRequest);

interstitial.setAdListener(new AdListener() {
    @Override
    public void onAdLoaded() {
        if (interstitial.isLoaded()) {
               interstitial.show();
        }
    }
  });[/code]

Ve sonuç:

Kodları paraya dönüştüren adamlar olarak; bol kazançlar! :)

Bekir Dursun |

28.08.2014

Yorumlar

Mustafa B
14.02.2017 - 02:04

Tabbed Activity ile oluşturulan projelerde activity_main.xml aynı şu şekle uyarlanırsa fragmentler arası geçişlerde reklam yenilenmiyor ve etkilenmiyor....

<FrameLayout xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="bottom"
    android:textAlignment="gravity">

<android.support.v4.view.ViewPager xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
</android.support.v4.view.ViewPager>

    <com.google.android.gms.ads.AdView android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center"
        android:layout_above="@id/pager"
        ads:adUnitId="@string/kimlik"
        ads:adSize="BANNER"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

</FrameLayout>

 

Burak
12.08.2016 - 08:24

merhaba

Ben reklam eklerken bir problem yaşamadım bir sorum olucak tabbed activity kullanıyorum her sayfada reklam tekrar yükleniyor reklamı sabitleme imkanım varmı her sayfa geçişinde yüklenmesi donmalara sebep oluyor 

ayrıca reklam yüklenince logcatden 

E/Ads: JS: Uncaught ReferenceError: AFMA_ReceiveMessage is not defined (:1)

mesaj görünüyor ve logcat dolmaya başlıyor bu bir problem belirtisimi çözüm bulamadım.Şimdiden teşekkürler

enver
25.10.2015 - 06:16

https://gelecegiyazanlar.turkcell.com.tr/soru/admob-hakkinda-yardim-lazim

 

linkte soruma yanıt verebilirmisiniz rica etsem

enver
25.10.2015 - 06:17

https://gelecegiyazanlar.turkcell.com.tr/soru/admob-hakkinda-yardim-lazim

 

linkdeki soruma yanıt verebilirmisiniz acaba

Metleb
24.06.2015 - 02:19
ANDROİD UYQULAMASINA ADMOB REKLAM ƏLAVƏ EDİLMƏSİNƏ AİD MOBILHANE SAYTINDA GENIŞ MƏQALƏ VAR. ONA DA BAXMAĞINI MƏSLƏHƏT GÖRÜRƏM.
metin
07.03.2015 - 12:58

Reklam program açıldıktan sonra 3-4 saniye geç geliyor nasıl düzeltebilirim ? 

Bekir Dursun
07.03.2015 - 11:20
Reklam içerikleri cihaza indiriliyor, o süre normaldir. Uygulama açıldığı gibi reklamla açılmasını istiyorsan öncesinde bi splash screen yapman gerekiyor, reklam yüklemesi tamamlanınca reklamı ve mainactivity'i göstermiş olursun. Bunu full screen reklam için söylüyorum, banner için yapıcak bir şey yok.
Eyüp KAYA
28.12.2014 - 01:16

Çok Teşekkürler bende bunu arıyordum gerçi onlarca sayfa bulup pdf çevirip kaydedip. sonra hepsini teker teker denemiştimde olmamıştı. Birde bunu deniyeyim. İntelijİdea kullanıyorum ama kütüphanleri eklemekte sorun yaşamıyorum. neyse birde bunu deniyeyim. İnşallah başrılı olur

Eyüp KAYA
28.12.2014 - 01:18

Birde kendi cihazımızın veya emulatörümüzün device kodunu alıp kodlara yerleştirmemiz gerekmiyormuydu. Böyle kendi reklamımıza tıkladığımızda adsense hesabımızı banlamaz. Bu kodu bir türlü alamadım :(

yardımcı olurmusunuz lütfen

Android Development
24.12.2014 - 01:09

Teşekkürler çok güzel  bir örnek.

Haci İbrahim Gönder
03.12.2014 - 05:27

Merhaba . Şu şekilde bir hata alıyorum yardımcı olabilir misiniz ?

 

Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;    Unknown    Android Packaging Problem

Ahmet
12.11.2014 - 09:45

Merhaba.

Burayı anlayamadım;
private AdView adView;

private static final String REKLAM_ID = "ca-app-pub-1072585xxxxxxxxx/8702xxxxxxx";

Bu kısmı activity_main.xml kısmına mı yazıyoruz.
 

Bekir Dursun
12.11.2014 - 11:12
Onu reklam göstermek istediğin class'a eklemen gerekiyor, .xml içinde değil, .java içinde olmalı.
Ahmet
14.11.2014 - 11:51

.

Emre UZUN
27.10.2014 - 06:59

aynen bu şekilde kullandım gelirde epey bir artma oldu.. Uygulama açılır açılmaz  geçiş reklamı geliyor main classa. Main classdan başka bir classa geçiş yaptım ve ondan sonra geri tuşuyla main classa geldiğimde reklam aniden tekrar çıkıyor. Böyle kullanım geçersiz olur mu?. Ban yemek istemiyorum.

Bekir Dursun
27.10.2014 - 07:49
onResume veya onStart'ı kullanmıyorsan sil, sorun kalkar..
Emre UZUN
27.10.2014 - 09:55
kullanmıyorum, geri tuşuna basıldığında reklama yanlışlıkla tıklanıyor galiba. Mesela şöyle geçiş reklamı olan sayfaya geliyor kullanıcı.Reklam geliyor neredeyse aniden. Reklamı kapatıyor. Oradan bir butona tıklayıp farklı sayfaya geçiyor. O sayfadan geri geldiğinde reklam biraz daha geç geliyor. Geç geldiği anda farklı sayfaya geçmek için tıklarken reklama tıklanıyor gibi geldi.
PEDE
07.09.2014 - 04:37

Harika bir anlatim tesekkurler

Kakaolu Kek
09.09.2014 - 07:13

Okuduktan sonra hemen denedim. Anlatımı yapan arkadaşa çok teşekkür ederim. Gerçekten güzel anlatım ve harika bir sistem. Uygulama yazarlarına mutlaka tavsiye ederim

Baki Mustafa
28.08.2014 - 07:28

Teşekkürler bu güzel makale için. Anlatımınız harika.:)

Mehmet Akif AKTAŞ
30.08.2014 - 12:35

Güzel anlatım hocam sağolun. Yalnız bendeki reklamlar ayarladığım gibi 3-4 saniye çıkmıyor kalıcı oluyorlar. Neden? Nasıl bir düzenleme yapmalıyım?

Oğuzhan
31.08.2014 - 08:50

Merhaba ben Android Sdk Manager kısmında Google Admob Ads Sdk yükledim.

Fakat Properties actığımda sizin yaptığınız işlemleri yapamıyorum. google play service lib bulunamıyor acaba sorun nerde ?

Caner Güral
01.09.2014 - 12:01
kütüphaneyi doğru şekilde import ettiniz mi?
Bekir Dursun
01.09.2014 - 05:18
Android SDK Manager'ı açıp, Extras içinde "Google Play services" eklentisini indirin. Sonrasında eclipse'i kapatıp tekrar açın ve kontrol edin.
Oğuzhan
01.09.2014 - 08:00

teşekkürler...Yeniden kapatıp açtım bilgisayarı kütüphaneyi gördü ...