React Native Reklam Yerleştirme ve Google AdMob Kullanımı

react-nativeyoutubeadmob

7 yıl önce 5 yorum

Merhabalar, aslında topluluk tarafından yazılan bir plugin’i ios ve android’de çalışacak şekilde kullanımından bahsedeceğim. Bu kütüphane burada

Kurulumu

  1. npm i react-native-admob -S

  2. react-native link

  3. (Sadece IOS için) Bu adresten Google Mobile Ads SDK’yı indirin zip’den çıkarın. İçerideki GoogleMobileAds.framework klasörünü projenizin bulunduğu ios/ dizinine atın. Sonra xcode üzerinden Linked Frameworks and Libraries sekmesinden + butonuna tıklayarak GoogleMobileAds.framework dosyasını bulun ve Open seçeneğine tıklayın.

Kullanımı

Dokümanında daha detaylı bir şekilde anlatılmış oradan faydalanabilirsiniz. Ben şu an versiyon 1.3.2 için kullanımından bahsedeceğim.

Toplamda google admob bize basitçe 3 tip reklam alanı veriyor (sadece basit olanları), bunlar:
1. Banner: Küçük reklam alanı. Yüksekliği belirli olan (yaklaşık 52 gibi) genişliği tam olan reklam çubuğu. 
2. Interstitial: Ekranın tamamını kaplayan tam ekran reklam alanı.
3. Rewarded video: Ekranın tamamını kaplayan ve genellikle 30 saniyelik videoları kullanıcılara izletmek için kullanılıyor.

Banner kullanımı

Tek yapmanız gereken ekranın istediğiniz alanına şu komutları yazmanız:

<AdMobBanner
    bannerSize="fullBanner"
    adUnitID="sizin-admob-birim-idniz"
    testDeviceID="EMULATOR"
    didFailToReceiveAdWithError={this.bannerError} />

sizin-admob-birim-idniz yazan alana kendi idnizi yazabilirsiniz. Eğer test etmek istiyorsanız burayı kullanın.
this.bannerError alanında herhangi bir hata olursa bunu size bildirmek için kullanabilirsiniz.

Interstitial Kullanımı

Bunun için id’nizi bir defaya mahsus tanımlamanız gerekiyor.

AdMobInterstitial.setAdUnitID('sizin-admob-birim-idniz');

Test cihaz id’si tanımlamak için ise:

AdMobInterstitial.setTestDeviceID('EMULATOR');

Ekranda görüntülemek için ise şu komutları kullanıyoruz:

AdMobInterstitial.requestAd(error => {
    AdMobInterstitial.showAd((error) => {});
});

Bu dokümanında yok. Gerekli açıklama için buraya bakınız.

Rewarded Video Kullanımı

Bu da Interstitial’a benziyor. Id’nizi bir defaya mahsus tanımlamanız gerekiyor.

AdMobRewarded.setAdUnitID('sizin-admob-birim-idniz');

Test için dokümanda bir şey yazılmamış. Ekranda görüntülemek için ise şu komutları kullanıyoruz:

AdMobRewarded.requestAd(error => {
    AdMobRewarded.showAd((error) => {});
});

Bu şekilde uygulamanıza reklam ekleyebilirsiniz. Bir sorun olursa bana bildirmeyi unutmayın. Bu makalenin video’sunu buradan izleyebilirsiniz. Aynı zamanda github üzerinde bir örnek yaptım onu da kullanabilirsiniz.

Bugün anlatacaklarım bu kadardı aklınıza takılan bir soru olursa çekinmeyin. Eğer bu konu hakkında veya konu dışı olarak bana soru sormak istiyorsanız https://github.com/abdurrahmanekr/bana-istedigini-sor repository’sinde bir issue açabilirsiniz. Youtube kanalıma abone olarak ve yayınladığım bu makaleyi paylaşarak bana destek olabilirsiniz. Diğer makalelerde görüşmek üzere :)

Yorumlar ({{totalCommentCount}})

  • Seçkin Özdemir

    {{commentLike96Count}} beğenme 5 yıl önce

    Merhaba kolay gelsin. Günlerdir uğraşıyorum react-native-admob için. Fakat androidte sıkıntı oluyor. The ad request was succesful but no ad was returned due to lack of ad inventory .(handleAdFailedToLoad). Buhatayı alıyorum. test Unit id deneyince çalışıyor fakat orjinal id kullanınca çalışmıyor neden bilmiyorum. Yardımcı olabilir misiniz?
    Beğen Beğendin
  • Soru

    {{commentLike127Count}} beğenme 5 yıl önce

    Merhabalar, React-native güncel versiyonlarında bir türlü kuramıyorum bu paketi güncel versiyonlarda denediniz mi hiç?
    Beğen Beğendin
  • Abdurrahman Eker

    {{commentLike132Count}} beğenme 5 yıl önce

    Merhaba, bu paketi v60'da denemedim açıkçası. Kütüphaneyi açtığımda kullanımdan kaldırılmadığını görüyorum. Bir şeylerini değiştirmiş olabilirler, vaktim olur da bakarsam buraya güncelleyebilirim.
    Beğen Beğendin
  • Barış Sakızlı

    {{commentLike146Count}} beğenme 4 yıl önce

    Merhaba güncel sürümler ile tekrar bir döküman yayınlama şansınız var mı ?
    Beğen Beğendin
  • Abdurrahman Eker

    {{commentLike147Count}} beğenme 4 yıl önce

    Selam, aslında ben bu paketi bir mobil uygulamamda kullanıyorum, react-native versiyonum -> 0.61.1. Android'de oluşan bir sorunu çözmek için bu adrese fork yapmışım. https://github.com/abdurrahmanekr/react-native-admob/tree/android-fix branch'im android-fix
    Beğen Beğendin
  • Düşündüklerin nedir ?

    Abdurrahman Eker

    (1010 Eylül 11111001100)

  • Full Stack Developer Turkey/Sivas
  • İnternette Avare Kodcu
  • coffee
  • github
  • instagram
  • linkedin
  • youtube
  • Yeni içeriklerden haberdar olmak ister misin ?