Unity Oyunlarınıza Admob Nasıl Eklenir?(2021)

admob reklam ekleme

Bu dersimde Unity ile yaptığınız oyunlara Admob reklamlarını eklemeyi anlatacağım. Başlamadan önce unity programının android veya iosta sorunsuz çalışıyor olması gerekiyor. Daha detaylı bilgi için Google Admob Nasıl Kullanılır? adlı yazımıza bakabilirsiniz.

Mobile Ads Unity eklentisini indirin

Kodlamaya geçmeden önce Mobile Ads Unity eklentisini indirmeniz gerekiyor. Bu adrese giderek indirebilirsiniz.

image 1

Admob Reklam Birimleri

Reklam birimlerine tanıtmadan önce reklamlarla ilgili bilmeniz gereken kavramlardan bahsetmek istiyorum.

Uygulama Kimliği: Oluşturduğunuz bu kimlik sizin oyununuza özgü bir kimliktir. Bu kimlik sayesinde oyunuza bilgininiz dışında reklam eklenmesinin önüne geçilmiştir. Bu kimlikleri Admob üye olduktan sonra sol menüden uygulamalar-uygulama ekle kısmından ekleyebilirsiniz.

Buradan aldığımız uygulama kimliğini aşağıdaki resimdeki gibi yazmamız gerekiyor.

image 4

Banner Reklamlar

Banner reklamlar, kullanıcıları diğer reklam türlerine göre daha az rahatsız etmektedir. Ekranın üstünde veya altında şerit şeklinde gözüken reklamlardır.

Aşağıdaki resimdeki gibi sahnemize yeni bir game object ekleyip, BannerReklam adında bir script oluşturalım.

image 2
using GoogleMobileAds.Api;
using UnityEngine;

public class BannerReklam : MonoBehaviour
{
    public string reklamKimliği;
    public AdPosition bannerPosizyonu = AdPosition.Bottom;
    private BannerView reklam;
    private AdRequest reklamIstegi;

    void Start()
    {
        MobileAds.Initialize(reklamDurumu => { });
        reklam = new BannerView(reklamKimliği, AdSize.SmartBanner, bannerPosizyonu);
        reklamIstegi = new AdRequest.Builder().Build();
    }

    public void BannerGoster()
    {
        reklam.LoadAd(reklamIstegi);
    }
    public void BannerGizle()
    {
        if (reklam != null)
            reklam.Destroy();
    }
}

MobileAds.Initialize fonksiyonu ile Mobile Ads Plugini etkinleştirdik.

BannerView ile yeni bir banner oluşturduk. Oluşturduğumuz reklam içerisinde üç farklı parametre ile geliyor;

Reklam Kimliği: Reklamı çağırmak için gerekli olan benzersiz kimliklerdir. Bu derste test reklam kimliklerini kullanacağım. Sizlere tavsiyem her zaman test kimlikleri ile test edin. Çünkü yeni oluşturduğunuz reklam kimlikleri aktifleşmemiş olabilir veya sürekli reklam görüntülemeniz geçersiz trafikten hesabınızın kısıtlanmasına sebep olabilir.

Reklam Boyutu: SmartBanner, Banner ve AdaptiveBanner gibi reklam reklam boyutları vardır. Diğer reklam boyutları için buraya bakabilirsiniz.

Reklamın Konumu: Reklamın ekranın hangi köşesinde gözükeceğini seçtiğiniz yerdir. Altta, üstte gibi değişkenler aldığı gibi x, y gibi konumunu da belirtebilirsiniz. public AdPosition ile dışarıdan değiştirilebilir hale getirdik.

Interstitial(Geçiş) Reklamlar

Geçiş Reklamları, sahne geçişlerinde tam ekran reklamlardır.

Banner reklamdaki gibi bir game object oluşturup, InterstitialReklam adında bir script oluşturalım.

using UnityEngine;
using System;
using GoogleMobileAds.Api;
public class InterstitialReklam : MonoBehaviour
{
    public string reklamKimliği;
    private InterstitialAd reklam;
    void Start()
    {
        MobileAds.Initialize(reklamDurumu => { });
        ReklamCagir(null, null);
    }
    public void ReklamCagir(object sender,EventArgs args)
    {
        if (reklam != null)
            reklam.Destroy();

        reklam = new InterstitialAd(reklamKimliği);
        reklam.OnAdClosed += ReklamCagir;
        AdRequest reklamIstegi = new AdRequest.Builder().Build();
        reklam.LoadAd(reklamIstegi);
    }
    public void InterstitialGoster()
    {
        if (reklam.IsLoaded())
            reklam.Show();
    }
}

ReklamCagir() fonksiyonu ile sunucudan reklam çağırıyoruz. IsLoaded() ile reklamın hazır olup olmadığını kontrol ediyoruz. Reklam hazırsa Show() ile gösteriyoruz.

Reklam ile işimiz bittikten sonra OnAdClosed ile reklamı yok edip yeni reklam talep ediyoruz.

Rewarded(Ödüllü) Reklamlar

Ödüllü reklamlar, oyuncunun reklam izleyip karşılığında ödül(altın, elmas ve ipucu gibi) kazandığı reklamlardır.

Diğer reklam birimlerindeki gibi bir game object oluşturup, RewardReklam adında bir script oluşturalım.

using System;
using UnityEngine;
using GoogleMobileAds.Api;

public class RewardReklam : MonoBehaviour
{
    public string reklamKimligi;
    private RewardedAd reklam;
    private int altin = 0;
    void Start()
    {
        MobileAds.Initialize(reklamDurumu => { });
        reklam.OnAdClosed += ReklamCagir;
        reklam.OnUserEarnedReward += OyuncuyuOdullendir;
        ReklamCagir(null, null);
    }
    public void RewardGoster()
    {
        reklam.Show();
    }
    public void ReklamCagir(object sender, EventArgs args)
    {
        reklam = new RewardedAd(reklamKimligi);
        AdRequest reklamIstegi = new AdRequest.Builder().Build();
        reklam.LoadAd(reklamIstegi);

    }
    public void OyuncuyuOdullendir(object sender, Reward args)
    {
        string type = args.Type;
        double amount = args.Amount;
        altin += (int)amount;
        Debug.Log(amount.ToString() + type + "Kazandınız.");
    }
}

OnUserEarnedReward ile oyuncu videoyu başarıyla tamamlarsa OyuncuyuOdullendir() fonksiyonuyla admob’da yazdığımız ödül miktarını kullanıcıya verdik.

Reklam kapatılınca yeni bir reklam çağırdık.

Test reklamlarını denemek için: https://developers.google.com/admob/unity/test-ads?hl=tr

Ekstra Özellikler

GDPR Özelliği

Eğer oyununuzdaki kişiselleştirilmiş reklamları kontrol etmek istiyorsanız. Kodunuza aşağıdaki gibi eklemeler yapmanız gerekiyor.

AdRequest reklamIstegi = new AdRequest.Builder()
        .AddExtra("npa", "1")
        .Build();

Buradaki aldığınız onaya göre 1 değerini değiştirerek kişiselleştirmeyi kontrol edebilirsiniz. Diyalog penceresi için hazır ui’lar kullanabilir veya kendiniz tasarlayabilirsiniz.

Daha fazla bilgi için buraya bakabilirsiniz.

Çocuklara Yönelik Reklamlar

Eğer reklamlarınızın çocuklar için uygun olmasını istiyorsanız kodunuza aşağıdaki gibi eklemeler yapmalısıniz.

AdRequest reklamIstegi = new AdRequest.Builder()
            .TagForChildDirectedTreatment(true)
            .Build();

Daha fazla bilgi için buraya bakabilirsiniz

Test Cihazı Kullanma

Eğer test reklamları yerine test cihazı kullanırsanız o cihazda test reklamları gözükür.

Test cihazı kimliğini hızlıca öğrenmek için google playde olan uygulamaları kullanabilirsiniz. Örnek Uygulama: https://play.google.com/store/apps/details?id=pe.go_com.admobdeviceidfinder&hl=tr

AdRequest reklamIstegi = new AdRequest.Builder()
            .AddTestDevice("Cihazın Test Kimliği")
            .Build();

Daha fazla bilgi için buraya bakabilirsiniz

Eğer reklamlarınız gözükmüyorsa Google Admob Reklam Gözükmüyor Sorunu yazımıza bakabilirsiniz.

Yararlanılan Kaynak: https://developers.google.com/admob/unity/quick-start

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir