Admob key kullanımı ve banner eklenişi

Diyelim ki uygulamamızın kodlamasını tamamladık, ilk versiyonunu çıkaracağız. Reklama bağlayıp gelir elde etmek istiyoruz. Admob banner nasıl entegre edilir görelim.

İlk olarak build’in içine şu kodu ekleyip sync ederseniz Mobile Ads SDK’sının en son sürümünü pull edecektir:

implementation 'com.google.android.gms:play-services-ads:17.2.1'

Admob için de şunu eklemeniz yeterli olacaktır:

implementation 'com.google.firebase:firebase-ads:17.2.0'

Şimdi ilk olarak Admob hesabına girip uygulama ekli değilse uygulamayı ekliyoruz. Ekliyse de uygulamayı seçip Reklam Birimleri sekmesine tıklıyoruz. Ardından Reklam Birimi Ekleyin butonuna tıklayarak eklemek istediğiniz türdeki reklam biçimini seçiyoruz. Ben banner’ı seçtim onu uygulayacağım. Reklam birimi adını girip (banner unit name for admob) Reklam Birimi Oluştur butonuyla devam ediyoruz. Reklam birimi başarıyla oluşturuldu yazısı gelecek ve aşağıdaki gibi iki tane kimlik key verecek. Not: Resmi sitede belirtildiği gibi uygulamanızı test etmek için siz de bu anahtarları uygulamanızda rahatlıkla kullanabilirsiniz.

ca-app-pub-3940256099942544~3347511713
ca-app-pub-3940256099942544/6300978111

İlk keyi uygulamanızın içerisinde reklam isteği göndermeden önce ve sadece bir kez tanımlamamız yeterli olacaktır. Ben direk MainActivity’deki onCreate() metodunun setContentView’ın hemen altına şu şekilde tanımladım.

MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");

Daha sonra aynı keyi bir de manifest dosyamızın içinde tanımlamamız gerekiyor. Manifest dosyasını açıp <application> scope’un içine aşağıdakileri yerleştiriyoruz:

<application>
:
<meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>

İkinci key ise oluşturduğumuz banner’ın unit ID sidir. Bunu da ilk olarak resource’deki string kaynağının içine koyacağız. Örnek:

<resources>
    	<string name="app_name">Simple Gallery Application</string>
	<string name="action_settings">Settings</string>
  <string name="action_add_favourite">Add to Favourites</string>
	
<!—Banner unit test ID-->
	<string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>
:
</resources>

Ardından admob reklamı göstermek istediğimiz sayfada banner görüntülenmesi için layout dosyasına aşağıdaki kodu gömüyoruz. adUnitID kısmında yukarda implement ettiğimiz kodu kullanıyoruz, böylece reklam keyini o sayfada kullanıma sokmuş oluyoruz. Konum parametrelerini kendinize göre ayarlarsınız.

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>

Ve yukardaki layout’un sahibi Java koduna aşağıdakini implement ediyoruz.

// BANNER
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);

Bu arada adview’ın main thread içerisinde request atmasının sebebi kendi içerisinde thread oluşturarak bu sorunu kendi otomatik çözüyor olmasıdır. İkinci olarak, internet permission vermedik, bunu zaten kendi içinde hallediyor. Son olarak Admob politikaları okumanızda fayda olduğunu belirtmek isterim.

:
@RequiresPermission("android.permission.INTERNET")
public void loadAd(AdRequest var1) {
    this.zzaaq.zza(var1.zzde());
}
: