Android – Özelleştirilmiş Reklam Ekleme (Admob-Kotlin)

Merhaba sevgili android geliştiricileri. Önceki yazılarımda uygulamamıza banner ve geçiş ve ödüllü reklamı eklemeyi  anlatmıştım. Bu yazımda özelleştirilmiş reklam eklemeyi anlatacağım. Özelleştirilmiş reklam banner reklama benzer bir tür. Fakat reklam içeriğini kendimiz ayarlıyoruz. Öncelikle eğer yoksa yeni bir proje oluşturalım var ise yeni reklam birimi ekleyelim.

Admob Uygulama ve Reklam Oluşturma

Önce Admob sitesine giderek google hesabımızla giriş yapalım.

1 – Uygulamalar > Uygulama Ekle‘ye tıklayarak uygulama oluşturalım.

2 – Uygulamamız henüz Play Store’da olmadığı için Hayır’ı seçelim.

3 – Uygulama adı ve Platfom seçerek devam edelim.

4 – Artık reklam uygulamamız hazır. Reklam Birimi Oluştur seçeneğine tıklayarak devam edelim.

5 – Açılan reklam seçeneklerinden konumuz ile alakalı olan Ödüllü reklamı seçelim.

 

Android Admob Native Ad
Android Admob Native Ad
Admob ödüllü reklam oluşturma

6 – Son olarak oluşturacağımız Ödüllü reklamımız için bir isim girelim ve ‘Reklam Birimi Oluştur’ tuşu ile kurulumu tamamlayalım.

 

Android Admob Native Ad
Android Admob Native Ad
Admob ödüllü reklam kaydetme

7 – Açılan ekranda bize Uygulama Kimliği ve Reklam Kimliği verecektir. Bu kimlik verilerini kopyalayarak android projemize geçelim.

Android Admob Native Ad
Android Admob Native Ad
Admob ödüllü reklam ve reklam id’si alma

 

Android Admob Kurulumu

Kurulumu Google Developers dökümanlarından yardım alarak yapacağız.

1 – Öncelikle <project>/app/build.gradle içerisine:

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

Kütüphanesini ekliyoruz. Ardından ‘Sync Now‘ tuşu ile senkronizasyonu başlatıyoruz.

Ek kütüphane: nativetemplates adlı bir kütüphaneyi kodlarımıza entegre etmemiz gerekiyor.

  • Buradan zip şeklinde kütüphaneyi indirin.
  • Zip dosyasını açın ve ‘nativetemplates’ adlı klasörü kopyalayın.
  • Kopyaladığınız klasörü projenizin ana dizinine yapıştırın.
  • <app>/build.gradle -> içerisinde depencies altına aşağıdaki koduyapıştırın.
    implementation project(':nativetemplates')
  • Şimdi <app>/settings.gradle içerisindeki kodu şu şekilde güncelleyin.
    include ':app', ':nativetemplates'
    rootProject.name='CustomAdExample'
  • Sync Now‘ tuşu ile senkronizasyonu başlatıp kütüphaneyi ekleyelim.

2 – AndroidManifest.xml dosyamıza aşağıdaki kodu kendi uygulama kimliğimiz ile birlikte ekliyoruz.

<manifest>

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    
    <application>
      <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="UYGULAMA_KIMLIGI"/>
    </application>
</manifest>

3 – MainActivity.kt içerisinde onCreate() metodu altına aşağıdaki init kodunu ekliyoruz.

MobileAds.initialize(this)

Şimdi sırada tasarım var. Banner reklamın daha geliştirilmiş ve özelleştirilebilir hali demiştik. Bu yüzden tasarımını kendimiz yapabiliyoruz ve istediğimiz türde, uygulamamızla alakalı bir reklam gibi oluyor. Önce basit bir tasarım ekleyelim. Tasarımın bu kısmında import ettiğimiz kütüphaneden yararlanıyoruz.

activity_main.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:showIn="@layout/activity_main"
    android:orientation="vertical">

    <com.google.android.ads.nativetemplates.TemplateView
        android:id="@+id/smallTemplate"
        app:gnt_template_type="@layout/gnt_small_template_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <com.google.android.ads.nativetemplates.TemplateView
        android:id="@+id/mediumTemplate"
        app:gnt_template_type="@layout/gnt_medium_template_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</LinearLayout>

4 – Önce adRequest için güvenilir bir fonksiyon ekleyelim. Kullanım sırasında debug mod için ayarlayalım.

private fun initAdBuilder(): AdRequest{
    val adRequest: AdRequest
    if (BuildConfig.DEBUG) {//Eğer proje debug modunda ise reklamları test olarak başlatacağız.
        adRequest = AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build()
    } else {//Eğer release modunda ise normal başlatıyoruz.
        adRequest = AdRequest.Builder().build()
    }
    return adRequest
}

5 – Şimdi reklam kodlarımızı ekleyelim.

val builder: AdLoader.Builder = AdLoader.Builder(this, "ca-app-pub-3940256099942544/2247696110")

builder.forUnifiedNativeAd { unifiedNativeAd: UnifiedNativeAd? ->
    val smallTemplate: TemplateView = findViewById(R.id.smallTemplate)
    smallTemplate.setNativeAd(unifiedNativeAd) //Küçük reklamı ekledik

    val mediumTemplateView: TemplateView = findViewById(R.id.mediumTemplate)
    mediumTemplateView.setNativeAd(unifiedNativeAd) //Normal reklamı ekledik
}

val adLoader: AdLoader = builder.build()
adLoader.loadAds(initAdBuilder(), 2) //loadAds kullandık çünkü 2 tane reklam ekledik.

Reklamları test etmek için emulatörde başlatalım.

Android Admob Native Ad
Android native reklam sonuç

Testimiz başarı ile tamamlandı ve reklamlarımız görüntülendi. Bu yazıda android native ad konusuna yer verdik. Proje kodlarına buradan ulaşabilirsiniz. Soru, görüş ve önerileriniz için lütfen yorum yapmayı unutmayın.

Photo of author

Mehmet Kurtgöz

Android Developer.

Yorum yapın