Android Webview İle Admob Banner ve Geçiş Reklamlarını Birlikte Kullanma

Merhaba Arkadaşlar,

mobilhanem.com sitemiz üzerinden yayınladığımız/anlattığımız derslerimize  önceki AdMob derslerimizin devamı niteliğinde Android Webview İle Admob Banner ve Geçiş Reklamlarını(Google Play Services) Birlikte Kullanma dersimiz ile devam edeceğiz.

Bu dersimizde tek tek banner reklamı,geçiş reklamı ve webview kullanımını anlatmayacağım.Banner reklam ekleme dersime buradan,Geçiş reklam ekleme dersime buradan ve Webview Kullanımı dersime buradan ulaşabilirsiniz.Bu dersler  yeni reklam sistemine göre yani Google Play Service eklenerek hazırlanmıştır.

Gelelim bugünkü dersimize .Bu ders biraz isteğe yönelik ders oldu. Genelde sorular bu üçünü birlikte kullanmaya yönelik sorulardı yada banner reklamla geçiş reklamı birlikte kullanmaya yönelik sorulardı.Bende bu dersi hazırlamaya karar verdim. Konuyu fazla uzatmadan kodlara geçelim.Ben her zamanki gibi ufak bir uygulama ile konuyu daha iyi anlatmaya çalıştım.Kod üzerinde gerekli açıklamaları yapmaya çalıştım.

 

bannerReklam

 

NOT: Oluşturduğunuz projenize yada burdan indirip kullandığınız kaynak koda Google Play Service Lib i import etmeyi unutmayın.Nasıl yapacağınızı yukardaki linklerde bulabilirsiniz.

 

Anasayfa.java

 

activity_anasayfa.xml

 

AndroidManifest.xml

 

Arkadaşlar xml dosyalarında fazla ayrıntıya girmiyorum. Belirttiğim gibi yukarıdaki linklerdeki derslerimde bunların hepsini en ince ayrıntısına kadar anlatmaya çalıştım.Onları incelemenizi tavsiye ederim.

Bu dersimde anlatmak istediklerim bu kadar.Sizlerden ricam facebook.com/mobilhanem sayfamızı beğenmenizdir.Paylaştığımız her dersi facebook sayfamızdada paylaşıyoruz. Böylelikle her dersimizden haberdar olabilirsiniz.Bir dahaki dersimde, başlayıp bir türlü bitiremediğim Rss Reader dersini bitirip yayınlamayı düşünüyorum veya İos da adMob ekleme derside olabilir.

Bir dahaki dersimde görüşmek dileğiyle kendinize iyi bakın.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

NOT:Android Studio için Google Play Service import dersimiz için tıklayınız.

 

0

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

67 Yorum

  • hocam benim bi film sitesi var, site için webview uygulaması yaptım ama siteye uygulamadan girilince videolar gösterilmiyor… bunun için bi kod eklemesi vs gerekli mi ?

  • Hocam öncelikle paylaştığın bilgiler için çok teşekkür ederim yeni başlayan birisi olduğum için çok güzel anlaşılır şekilde anlatmışsınız benim söyle bir sorunum oldu google play store ye koydugum uygulamalardaki admob geçiş reklamları yüzünden bir kaç kez uyarı aldım aldığım uyarı ise geçiş reklamının https://support.google.com/googleplay/android-developer/answer/2986667?hl=tr burdaki politikaya uygun olmaması fakat ben bilerek her hangi bir yanlışlık yapmadım yanlız geçiş reklamlarını onpouse onresume vede back tusuna koymustum bilmediğimden banlanma sebebim bunlardan ola bilirmi birde uygulama kapndıgında reklamıda kapat diye bilcegimiz bir kod varmı birdaha bu geçiş reklamları yüzünden banlanmaktan korkuyorum

    • Öncelikle yorum için teşekkür ederim.

      Burda adam uygulamayı arka plana atmaya kalktığında yani onPause da reklam çağırıyorsun.Bu bir sorun olabilir.Bundan kesin emin değilim.

      Ama emin olduğum ,uygulamada kullanıcı uygulamadan back butonu ile cıkma şansını ortadan kaldırıyorsun.Kullanıcıyı her türlü reklam göstermeye çalışıyorsun.

      “onBackPressed” metodu ile Back butonunu handle etmişsin ve kullanıcı Back ile uygulamandan çıkış yapamıyor.Burdaki sorun bu.Belli ki Google buna kızmış.

      • hocam şimdi bu şekilde yapma sebebim marketteki hit yapmış uygulamaları incelediğimde ilk açılış ekranında geçiş reklamı ve de back tuşuna basıldığında gösterilen reklamlar mevcut benimde amacım bu na benzer ben başta abartıp her gördüğüm yere reklam yerleştirmeye calıştım en azından açıldığında ve çıkarken gösterilmesini istiyorum sizin geçiş reklamları dersiniz de öğrenerek yaptığım şu şekilde kapandığını kontrol edip tekrar onload işlemi yaptırıp back tuşu için hazırda bekletiyorum burada yapmam gereken başka bir şey var mıdır.

        ((AdView)findViewById(R.id.adView)).loadAd(newAdRequest.Builder().build());

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

        interstitial.loadAd(adRequest);
        interstitial.setAdListener(new AdListener() {

        @Override
        public void onAdLoaded()
        { if (load==false)
        { if (interstitial.isLoaded())
        { interstitial.show(); load=true; } } }

        public void onAdClosed()
        { interstitial.loadAd(adRequest); } });

        ———————————————————-
        public void displayInterstitial()
        {
        if (interstitial.isLoaded())
        {
        interstitial.show();
        }
        }

        @Override
        public void onBackPressed() {
        displayInterstitial();
        super.onBackPressed();
        }
        ————————————————————-

        yada uygulamadan çıkarken yada back tuşuna basılırken reklamları tamamen kaldırmak için bir şey yapabilir miyim çünkü reklamı hafızaya yükleme arasında bir işlem yapıldığında arada reklamı gösteriyor çağırıyor buda uygulamada değilken zorla reklam gösteriliyormuş gibi olup da reklam politika ihlaline sebep olur mu
        ama dediğim gibi hit yapmış uygulamalara baktığımda hepsi bu şekilde dönüş yapıp bilgi verdiğin içinde tekrar teşekkürler Allah senden razı olsun.

        • Sendeki sorun şu sen back butonuna her bastığında uygulamada reklam gösteriyorsun. Onlar bir defa back butonuyla reklam gösterip diğer back butonunda uygulamadan çıkış yaptırıyorlar. Yoksa onlarda ihlal etmiş sayılırlar. Ama senin uygulamandan back butonu ile çıkışı kapatmışsın sen. İlk tıklandığında reklam gösterip ikincisinde çıkış yaptırabilirsin.

          • Zaten şunuda iyi anlamak lazım sen reklamlarla kullanıcıyı ne kadar boğarsan uygulaman o kadar çabuk silinecek .1 yıldızları artacak zamanla storeda kaybolup gidecek.Bunun yerine kullanıcıyı boğmayacak reklamlar kullanıp kullanıcı sayını artırıp daha karlı bir iş yapmış olursun.

          • peki hocam onBackPressed kısmına bir şey yazılmamış ise gene geri gitme işlemi yapıyor onBackPressed kısmına yazdığım reklamı gösterdiğinde hem reklamı gösteriyor hemde geri gitme işlemini yapıyor. ben back tuşuna bastığımda reklam geliyor reklamı kapatıyorum sonra uygulamadan geri gelmiş oluyor sizin back butonu ile çıkışı kapatmışsın dediğin kısmı tam anlayamadım o şekilde bir sıkıntı yaşamıyorum reklam görünüyor kapattığımda uygulamada geri işlemi yapılı halde görüyorum sizin dediğinizde back tuşuna bastığımda aynı ekranda kalması gerekmezmi

          • şimdi sen uygulamadan çıkarken ya home tuşuna basıp çıkarsın yada back butonu ile çıkarsın. Sen ne yapmışsın burda, kişi back butonuna bastığında reklamı gösteriyorsun tamam anlaştık.Ama senin bu uygulamandan kişi hiç bir türlü back butonu ile çıkamıyor. Back butonuna bastıkça sen reklam gösteriyorsun.Yani kullanıcıya zorla reklam gösteriyorsun.Sana gönderilen ihlal mesajındada anlatmak istediği o .

          • hocam bastığında reklamı gösteriyor sonra çıkıyor tekrar tekrar reklam göstermiyor ole bir döngü yok bastı bir kere reklam geldi sonra geri gidiyor senin yukarıda örnekte back tuşuna geçiş reklamı örneği var bu kısımda da söylediğiniz gibi olması gerekmez mi ?

            public void onBackPressed() //Android Back Buttonunu Handle ettik. Back butonu bir önceki sayfaya geri dönecek
            {
            showGecisReklam();//Back butonuna basıldığında geçiş reklamımız gösterilecek.
            if(webView.canGoBack()){//eğer varsa bir önceki sayfaya gidecek
            webView.goBack();
            }else{//Sayfa yoksa uygulamadan çıkacak
            super.onBackPressed();
            }
            }

          • hocam back butonundan reklam olayını kaldırdım dediğin gibi boğmaya gerek yok çok risk almaya gerek yok çok teşekkürler gerçekten reklam konusunda çok yardımcı oldun gerek kodların ile gerek tecrübelerinle çok teşekkürler..

          • Evet fazla risk almaya gerek yok çünkü google bu konuda çok titiz banlamak için sebep arıyor ve banladığı zamanda tekrar hesap açmak çok kolay olmuyor.

            Kolay Gelsin..

    • Merhabalar yayınlanmış kaynak kodu kullanarak birşeyler yapmak istedim. Gerekli play services lib’i import edip gerekli ayarları yapıyorum ancak projemi Build ettiğim zaman kaos başlıyor 🙂 Sürekli 4 errorum var. Bunlardan ilki The import com.mobilhane.R cannot be resolved diğer 3ü ise R cannot be resolved to a variable (anasayfa.java da: 31. 39. ve 59. satırlarda) İnternette birçok yöntem aradım ancak ne yaparsam yapayım ( gen klasörü silmek yeniden built etmek vs.) R dosyasını oluşturmuyor eclipsem. Cihazım: Macbook pro Eclipse Sürüm: Android Developer Tools Build: v22.3.0-887826 Bu hatayı düzeltmeme yardımcı olabilecek birileri çıkarsa gerçekten memnun olacağım 🙁

  • anlamadıgım nokta
    addTestDevice(“C521B8BE91B4860C229030D8E3CEA254”)

    “C521B8BE91B4860C229030D8E3CEA254” kodu kişiye özel mi yoksa random bişey mi bunu bizim kendimiz mi oluştumamız gerekiyor yoksa Admob bize mi veriyor ? Tşkler.

    • Test yaptığın cihazın id si o.
      Device id yi bulmak için uygulamanızı çalıştırdıktan sorna LogCat i açıyoruz
      Filtreleme Kısmına AdRequest veya device yazıyoruz.
      Filtreleme
      sonucu olarak “Use
      AdRequest.Builder.addTestDevice(“C521B8BE91B4860C229030D8E3CEA254″) to
      get test ads on this device.”
      yukardaki gibi bir sonuç çıkacaktır. Yukarda C521… ile başlayan kısım device id nizdir
      Bunu eklemeyi kesinlikle unutmayın yoksa banlanırsınız.

      • Ben bu yorumu okumadan önce sizin vermiş oldugunuz örnektekini kullandım buda banlanmaya sebeb midir bi sıkıntı yaratır mı teşekkürler

        • addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
          .addTestDevice(“C521B8BE91B4860C229030D8E3CEA254”)
          Device id emulatorr koymanız bildigim kadarı ile yeterli oluyor.Banlanma olayına mutabık değilim.Teşekkürler

          • Device id eklemelisiniz.Google hangi device’n test amaçlı olduğunu bilmesi için device id eklememizi istiyor.Sonuçta sadece emülatörde test edeceksiniz diye bir şart yok. Senin dediğin DEVICE_ID_EMULATOR yetmesi için sadece
            emulatör üzerinde test edersen geçerlidir.
            Kolay Gelsin.

  • Hocam merhabalar uygulmamaın normalde Activyler arası geçiş yöntemi bulunmaktadır.Ancak reklam eklediğimden beri eğer reklam açılmassa(internet bağlantısı yoksa)diger activytelere geçmiyor.Yani uygulamam internetsiz çalışmıyor ana ekranda kalıyor yardım ederseniz çok sevinirim site için çok teşekkürler.

  • Teşekkürler,
    Bizleri aydınlattığınız için, emeğinize sağlık başarılarınızın devamını dilerim..

  • Merhabalar yayınlanmış kaynak kodu kullanarak birşeyler yapmak istedim. Gerekli play services lib’i import edip gerekli ayarları yapıyorum ancak projemi Build ettiğim zaman kaos başlıyor 🙂 Sürekli 4 errorum var. Bunlardan ilki The import com.mobilhane.R cannot be resolved diğer 3ü ise R cannot be resolved to a variable (anasayfa.java da: 31. 39. ve 59. satırlarda) İnternette birçok yöntem aradım ancak ne yaparsam yapayım ( gen klasörü silmek yeniden built etmek vs.) R dosyasını oluşturmuyor eclipsem. Cihazım: Macbook pro Eclipse Sürüm: Android Developer Tools Build: v22.3.0-887826 Bu hatayı düzeltmeme yardımcı olabilecek birileri çıkarsa gerçekten memnun olacağım

    • benim kaynak kodu direk derlemeye kalktığınızda mı hata alıyorsunuz yoksa kendi yazdığınız uygulamaya göre uyarlayıp derlediğinizde mi hata alıyorsunuz?

      • Her ikisinde de. Öncelikle cevap Yazdığınız için teşekkürler. Başta kendime göre derledim. Derlerken sadece admob idleri ve yönlenen urlyi düzenledim olmadı. Ardından tekrar sıfırdan hiç düzenleme yapmadan denedim yine projeyi built ettiğim zaman R dosyasını oluşturamıyorum.

          • Onu Yaptım. Google play services libsi her iki yöntemde de import edip gerekli ayarı yapıyorum.

          • O zaman SDK güncel değil. Eski versiyon Google Play Libsi import ediyorsun dolayısıyla. SDK güncellemen gereklidir. Hatta silip baştan kurman daha sağlıklı olabilir.

    • aynen öyle sourceler hep error bendede 2 error veriyor
      aşağıdakiler gibi aynı
      aşağıda adamında dediği gibi macos kullanıyorsun
      macosda sorun cikmiyor yada menüleri farklı olabilir aynı şeyleri
      bide win7 yada win8 de denermisin? bide sen gör hataları istersen

  • Merhaba acaba burada yer alan tarayıcıyı google chrome olarak değiştirmek için ne yapmam gerekli ?

  • Merhaba
    google ın politikası hakkında kafama takılan bir kaç şey var.Bir apk nın webview yüzünden banlanması muhtemelmidir? (Reklam vb hiçbir aykırılıgın olmadığını varsayıyorum) Burada bir kontrol eksik. Herhangi bir siteyi kendi sitem gibi uygulamamın içine gömebiliyorum. Google bunun için kesin bir önlem almiştir. Site mi google ‘a apk ile ilişkilendirmem gerekiyor gibi geliyor. email vb .

    Kısaca kendi web sayfam için webview kullanacağım ama bir şeyleri eksik yaptığım içinde hesabım banlanmasın istiyorum.

    • Hayır Google bunu kontrol etmiyor. Yani istediğin siteyi webview yapabilirsin. Ama şikayet gelmesi durumunda sitenin senin olduğunu kanıtlayamazsan uygulamanı kaldırırlar. Tekrarı durumunda hesabını banlayabilirler.

    • Bir önceki sorunu çözdüm şuanda apk çıkartıyorum fakat reklamlar yüklenmedi hatası alıyorum . Neden olabilir ? Sizlerin admob kodlarınıda değiştirdim.

      • Bunun birden çok sebebi olabilir.
        1-internet bağlantında sorun olabilir.
        2-İnternet bağlantı iznini vermemiş olabilirsin.
        3- Admob reklam id’n yanlıs olabilir.
        .
        .
        .
        şeklinde bir sürü nedeni olabilir.

  • Merhaba ustadım şu uygulamanı yapmasına yaptikda deli olduğum nokta şu şimdi reklamekleme diye bitane yazı geliyor üstde apk yarattığımda tlf da simgesini filan direk android simgesi geliyor biz bunları nereden düzenleyeceğiz ? düzenliyecek yeri buldum düzenledim logoyu vs değiştirdim
    buid re proje diyorum buid apk diyorum yine aynı kafayı yedim bide onu açıklasan video ile süper olurdu

    • Deli oluncak bişi yok video çekmeyede lüzum yok bunun için.
      styles.xml dosyası içinde

      bu satırı benim yazdığım(yukardaki gibi) ile değiştirmen yeterli.

    • Çıkışta reklam göstermek kullanıcıyı uygulamadan çıkmasına engel olduğu için yanlış bir kullanım. Çıkışta göstermiceksin reklamı.Bunun içinde benim kodumdaki

      showGecisReklam(); kısmını kaldıracaksın veya

      bu şekilde kullanacaksın.

  • android studio kurdum bugün, projeyi import ettiğimde hata aldım birkaç tane.

    tek tek kod olarak eklemeyi denedim sayfadan bu seferde hatalarla karşılaşıyorum acaba kodlar eskide kaldığı için bu yeni sürüm ile bir uyum sorunu mu var?

  • Hocam merhaba anlatımınızı tam olarak yaptım. Simülatör de kontrol de ettim gayet sıkıntısız çalışıyor. Fakat apk dosyası yapıp telefonuma attığımda “Reklam Yüklenemedi” gibi hatalar alıyorum. Bunun sebebi ne olabilir acaba?

  • İyi günler. Açılan webview de herhangi bir siteden donwload işlemi yapmak istediğim zaman o sitenin butonuna tıklayınca indirme işlemini gerçekleştirmiyor. yardım edermisiniz

  • İnternet bağantısı yokken uygulamadan çıkmıyor webview sitesinin adresini gösteriyor bunun için hangi kodu sizin kodlara eklemem gerekiyor teşekkürler güzel anlatım

  • eskide kaldı bu yorumlar çalışmaz artık. bilmeyenler hiç uğraşmasın bilen zaten çözer. Adamında bişey bildiği yok googleden bulup kopyala yapıştır yapmış.

  • Merhabalar, hocam webwiew yaptığımız bir siteyi admob ekleyip , php alt yapısı ile admob reklam sistemini anlık olarak gösterebilirmiyiz ?

  • Hocam benim sorum şu; benim web sayfam webview ile uygulamaya dönüşüyor ve bu reklam bazı geçiş yerlerinde çıkacak. Peki sayfanın web versiyonunda da çıkacak mı? Yoksa onun için ayrı bir işlem mi gerekiyor?

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?