Merhaba arkadaşlar bu dersimizde Android de Geçiş Reklam Ekleme yi anlatacağız. Bir önceki dersimizde Banner Reklam Eklemeyi anlatmıştık.Bu dersimiz araya bayram tatili girmesinden dolayı biraz gecikti kusura bakmayın.
Bir önceki dersimde de bahsetmiştim.1 Ağustos 2014 tarihi itibarı ile uygulamalarında admob kullanmak isteyen geliştiriciler Admob Sdk yerine Google Play Service lib kullanmak zorundalar. Önceden Admob Sdk kullanan kullanıcılar güncelleme yapmak istediklerinde Google Play Service kullanmak zorundalar.
Bu dersimde Google Play Service nasıl projemize dahil edilir anlatmayacağım çünkü bir önceki dersimde detaylıca anlatmıştım.Bir önceki dersime buradan ulaşabilirsiniz.Bu derse başlamadan önce incelemenizi tavsiye ederim.
Bu dersimde direk Geçiş Reklam kullanmayı anlatacağım.Geçiş reklamlar Banner reklamlardan farkı tam ekran çıkmalarıdır.Bu yüzden tıklanma oranları ,dolayısıyla kazanç getiri oranları daha yüksektir.Ama kullanımları Banner reklamlara göre daha zordur. Çünkü her reklam gösterilmeden önce reklamın yüklenmesi gerekmektedir.Bu da biraz zaman almaktadır.O yüzden gösterilmeden önce reklam yüklenmeli ve hazırda bekletilmelidir.
Öncelikle Geçiş Reklam eklemek için admob hesabımıza giriş yapalım.+Yeni Birim Ekle ye tıklayalım ve açılan sayfada Geçiş Tabını seçelim ve aşşağıdaki gibi ayarlarımızı yapalım.
Ayarlarımızı yaptıktan sonra oluşan id miz reklam yüklerken lazım olacaktır.
Arkadaşlar herzamanki gibi küçük bir uygulama ile örneklendirmeye çalıştım.Gerekli olan tüm açıklamaları ise kod üzerinde anlatmaya çalıştım.O yüzden daha fazla uzatmadan uygulamaya geçelim.
[wpdm_file id=17]AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mobilhanem.gecisreklamekleme" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> <activity android:name=".Anasayfa" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> </application> </manifest>
Anasayfa.java
import com.google.android.gms.ads.AdListener; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.InterstitialAd; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class Anasayfa extends Activity { private InterstitialAd gecisReklam; Button reklamGoster; Button reklamYukle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.anasayfa); reklamGoster = (Button)findViewById(R.id.button1);//reklamGöster Butonumuzu Tanıtıyoruz reklamGoster.setEnabled(false);//tıklanamaz yapıyoruz.Çünkü önce reklamın yüklenmesi gerekir reklamYukle = (Button)findViewById(R.id.button2);//reklamYükle butonumuzu tanıtıyoruz reklamGoster.setOnClickListener(new View.OnClickListener() { //reklam göstere click listener ekliyoruz @Override public void onClick(View v) { // TODO Auto-generated method stub showGecisReklam();//reklam göster butonu tıklanınca showGecisReklam() metodu çağırılacak } }); reklamYukle.setOnClickListener(new View.OnClickListener() {//reklam yükleye click listener ekliyoruz @Override public void onClick(View v) { // TODO Auto-generated method stub loadGecisReklam();//reklam yükle butonu tıklanınca loadGecisReklam() metodu çağırılacak } }); // Geçiş Reklamımızı oluşturuyoruz gecisReklam = new InterstitialAd(this); gecisReklam.setAdUnitId("ca-app-pub-6311389967106147/363217****");//Reklam İd miz.Admob da oluşturduğumuz geçiş reklam id si gecisReklam.setAdListener(new AdListener() { //Geçiş reklama listener ekliyoruz @Override public void onAdLoaded() { //Geçiş reklam Yüklendiğinde çalışır Toast.makeText(getApplicationContext(), "Reklam Yüklendi.", Toast.LENGTH_LONG).show(); reklamGoster.setText("Reklam Göster"); reklamGoster.setEnabled(true); } @Override public void onAdFailedToLoad(int errorCode) { //Geçiş Reklam Yüklenemediğinde Çalışır Toast.makeText(getApplicationContext(), "Reklam Yüklenirken Hata Oluştu.", Toast.LENGTH_LONG).show(); reklamGoster.setText("Reklam Yüklenemedi"); reklamGoster.setEnabled(false); } public void onAdClosed(){ //Geçiş Reklam Kapatıldığında çalışır Toast.makeText(getApplicationContext(), "Reklam Kapatıldı.", Toast.LENGTH_LONG).show(); //Geçiş reklam kapatıldığı zamanda yeni reklam yükleme işlemimizi başlatabiliriz. //loadGecisReklam(); } }); } /** reklamYukle butonu tıklanınca çalışır */ public void loadGecisReklam() { // reklam yüklenene kadar reklamGoster butonunu disable ediyoruz reklamGoster.setText("Reklam Yükleniyor..."); reklamGoster.setEnabled(false); //Device id mizi yazıyoruz ki reklamımızı test ederken istedimiz kadar tıklayalım //Google bu device id den tıklanan reklamlara ücret ödemeyecek bunun test için kullanıldığını bilecek //Eğer bunu yazmazsak Google haksız kazanç elde edeceğimizi düşünüp hesabımızı banlayabilir. //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 yapmayı kesinlikle unutmayın yoksa banlanırsınız. AdRequest adRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .addTestDevice("C521B8BE91B4860C229030D8E3CEA254") .build(); //Reklam Yükleniyor gecisReklam.loadAd(adRequest); } /** reklamGoster butonu tıklanınca çalışacak. */ public void showGecisReklam() { // Tekrar reklam yüklenene kadar disable edilecek reklamGoster.setText("Önce Reklam Yüklemelisin"); reklamGoster.setEnabled(false); if (gecisReklam.isLoaded()) {//Eğer reklam yüklenmişse kontrol ediliyor gecisReklam.show(); //Reklam yüklenmişsse gösterilecek } else {//reklam yüklenmemişse Toast.makeText(getApplicationContext(), "Reklam Gösterim İçin Hazır Değil.", Toast.LENGTH_LONG).show(); } } }
Evet arkadaşlar bu dersimde anlatmak istediklerim bu kadar. Burda dikkat etmemiz gereken çok önemli bir yer var. addTestDevice ile device id mizi kesinlikle eklemeliyiz.Kod içinde nasıl ekleyeceğimizi ve nereden bulacağımızı açıkladım. Admob hesabımızın kitlenmemesi için buna çok dikkat edelim ve bunu banner reklamlarımızada eklemeyi unutmayalım.
Eklemek yada sormak istediğiniz bir şey olursa çekinmeden sorabilirsiniz. Bir dahaki dersimde Android WebView Kullanımını anlatacağım. O zamana kadar kendinize iyi bakın.
Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.
Android Studio Google Play Service import dersimiz için tıklayınız.
[wpdm_file id=17] 2
Çok yararlı olmuş hocam. Teşekkür ederim, Allah razı olsun.
Saolasın güzel yorumun için.Allah sizden de razı olsun.
hocam uygulamaya girdiğinde direkt cıksın istiyorum
Geçiş reklamları gösterilmeden önce yüklenmesi gerekir o yüzden uygulamaya girer girmez gösteremezsin
anlatmak istediğim ben button la yapmak istemiyorum sizin kodlarınızın neresinde değişiklik yapmam gerek acaba
sayfa açılınca onCreate metodu içinde loadGecisReklam() ile reklamı yüklüyeceksin.Reklamın hazırda bekleyecek.
Bundan sonra reklamı göstermek istediğin yerde showGecisReklam() metodu ile reklamı göstereceksin.
Buna benzer sorular sorulmuştu. Sorular ve cevaplarını okuyabilirsen konu hakkında daha detaylı bilgi edebilirsin.
hocam reklamı yaptım bu şekilde tekrar tekrar cıkıyor bunu nasıl engelleyebilirim:
this.interstitialAd = new InterstitialAd((Context)(this));
this.interstitialAd.setAdUnitId(“ca-app-pub-3724491148466298/5878662360”);
AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).addTestDevice(“BBE29BBDD66A49726A9790F138598735”).build();
this.interstitialAd.loadAd(adRequest);
this.interstitialAd.setAdListener((AdListener)(new AdListener(){
public void onAdLoaded() {
if (MainActivity.this.interstitialAd.isLoaded()) {
MainActivity.this.interstitialAd.show();
return;
}
}
}));
protected Object getErrorReason(int n) {
// TODO Auto-generated method stub
return null;
}
public void showInterstitial(View view) {
this.interstitialAd.show();
}
sadece bir kere cıkmasını istiyorum
Öncelikle yorumu sil çünkü reklam idni paylaşmışsın.Kötü niyetli biri kullanıp hesabını banlatabilir. Ayrıca soruyuda yeni soru şeklinde sor.İlgisi olmayan kişilere gereksiz mail gitmesin. suan andro ve mehmet e de mail gidiyor.Direk en yukarda tartısmaya katıl kısmından yorumunu tekrar yazarsan sevinirim.
hocam merhaba, yazı için teşekkürler … geçiş reklamını buton üzerinde anlatmışsınız benim bi quiz uygulamam var, quiz de 15 soru var misal ben geçiş uygulamasının 5. sorudan sonra 6. soruya geçmeden önce çıkmasını istiyorum … bunu nasıl sağlarım ?
Geçiş reklamlarının gösterilebilmesi için önceden yüklenmiş olması lazım.Bu yüzden uygulama açıldığında OnCreate metodu içinde öncelikle loadGecisReklam() metodunu çağır reklamı yükle. Sonra sorular arasında geçişsırasında showGecisReklam() ile reklamı göster. Kullanıcı reklamı X butonu ile kapattığında onAdClosed() metodu otomatik çağırılıyor. Sen bu metod içinde tekrar loadGecisReklam() metodunu çağıracaksın ve reklamı tekrar yükleyeceksin.Sorular arasında tekrardan göstereceksin.
Merhaba. şimdi benim anlamadığım birşey var. Daha önceden admob reklamı eklerken Sdk yı kütüphaneye ekliyorduk. Şimdi eklemiyor muyuz ? Projenizi indirip çalıştırdım ama reklam kodlarında hata verdi. Yani import kısımlarında.
Hayır artık AdMob Sdk eklemiyoruz. Onun yerine Google Play Service lib ekliyoruz. İndiridiğiniz uygulamanın çalışabilmesi için Google Play Service lib i projenize eklemeniz lazım.
merhaba öncelikle böyle yararlı bir paylaşım için çok teşekkürler çok işime yaradı. Benim sormak istediğim buton1 ve buton2 yi bizim res/layout *.xml dosyamızda oluşturmamız mı gerekiyor? öyleyse bunu nasıl yapabiliriz?
Kendi projenizde nasıl kullanacağınızı açıklarsanz yardımcı olmaya çalışırım. İllaki buton ile kullanmanıza gerek yok.
ben uygulamadan çıkarken kendiliğinden açılmasını istiyorum reklamın
ama nasıl yapacağımı bilmiyorum
uygulamadan back butonu ile çıkacaktır. Uygulama açılınca onCreate metodu içinde loadGecisReklam() ile reklamı yüklersin hazırda durur. Kullanıcı back butonuna bastığında reklamın açılması için back butonunu handle etmen lazım ve içerisinde reklamı açtırman lazım. Onuda şöyle yapabilirsin
public void onBackPressed()
{
if (gecisReklam.isLoaded()) {//Eğer reklam yüklenmişse kontrol ediliyor
gecisReklam.show(); //Reklam yüklenmişsse gösterilecek
} else {//reklam yüklenmemişse veya gösterilmişsse
super.onBackPressed(); //uygulamadan çıkar
}
}
dediğin gibi yapmaya çalıştım ama başaramadım. bu konuda baya acemiyim zaten kodları yazıyorum sen bir bakabilir misin?
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
public class MainActivity extends Activity {
private InterstitialAd gecisReklam;
WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gecisReklam = new InterstitialAd(this);
gecisReklam.setAdUnitId(“ca-app-pub-5109907576492964/………….”);
mWebView = (WebView) findViewById(R.id.webView1);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl(“http://xxx.com”);
}
public void loadGecisReklam() {
AdRequest adRequest = new AdRequest.Builder()
.build();
gecisReklam.loadAd(adRequest);
}
public void onBackPressed()
{
if (gecisReklam.isLoaded()) {
gecisReklam.show();
} else {
super.onBackPressed();
}
}
}
hallettim teşekkür ederim.
teşekkürler paylaşım için kullanıcı girdiğinde direkt reklam cıksın buton kullanmak istemiyorum teşekkürler…
bunu nasıl yapabilirim
Geçiş reklamları gösterilmeden önce yüklenmesi gerekir o yüzden uygulamaya girer girmez gösteremezsin
Merhaba, bir sorum olacak yardımcı olursanız çok sevinirim. Yaptığım uygulamaları telefonumda deniyorum ve dediğiniz şekilde LogCat ten device id’ye ulaşamıyorum. Telefonda bunu öğrenmenin bir yolu var mı acaba?
Google Play de AdMob Device Id Finder diye aratırsan bir uygulama çıkıyor. Onu deneyebilirsin. Ama benim gösterdiğim yollada bulunması lazım. Logcat i mi kuramadın?
Allah razı olsun ya valla süper açıklamalar ama halledemiyorum malesef. Napıcaz bakalım
nerede takıldın ?
hocam şimdi bir önceki eclipse ile ilgili olan kısmı yapmaya çalıştım. Eclipse i açıp file new-project yapıp ardından çıkan pencereden android’i seçip alt başlığından Android project from existing code’a basıp next dedim. Sonra ordan google play service kısmını seçtim sizin yaptığınız gibi. alt tarafta gözüktü ama finish dediğimde hiçbir tepki vermiyor. Öyle kaldım. Yani oyunumu unity’de apk aldım sonrasında işlemler nasıl ilerliycek hiçbir fikrim yok şu an.
Unity hakkında hiç bir bilgim yok ama benim örnek kodu indirip çalıştıramadın mı. Google Play Service lib import etmekte mi zorluk çektin?
Hocam işte sizin buradaki kodları nerede açmam gerekiyor onu anlamadım. Eclipse’te dediğim gibi Google Play Service lib ‘i seçiyorum deminde söylediğim yolu kullanarak. Alt kısımda çıkıyor ama package explorer kısmında sizde olduğu gibi gözükmüyor. Acaba atladığım bir şey mi var.
iletişim bölümünden mesaj atabilir misin?
Sayin hocam, benim 15 butonum var anasayfamda mesela 1. 5. ve 10. butona tiklandiginda bunu gostermesini istiyorum bunu nasil yapabilirim ?
sayfa açılınca onCreate metodu içinde loadGecisReklam() ile reklamı yüklüyeceksin.
1.5.15 butonların tıklandığında çalısan metodun içine showGecisReklam(); yükleyi çağıracaksın. Reklam kapatıldıgında tekrardan yüklenip hazır kalması için reklamın çarpı butonuna basıldığında çalısan public void onAdClosed() bu method içinde tekrar loadGecisReklam() ile yükleme yapıcaksın.
Bu cok buyuk bi istek fakat bana 1 tanesi icin eger mumkunse kod yazabilir misin cunku beceremedim hocam
Kusura bakma o şekilde yardım edemiyoruz. Zamanımız kısıtlı.
hocam bir uygulamada hem geçiş hem banner reklamı aynı anda kullanabilirmiyiz. mesela ana menüde bir kez tam ekran reklam çıktıktan sonra hemen üstte banner yer alcak ve oyunun çoğu yerlerinde sadece banner yer alcak. yani geçiş reklamı sadece bir kez menüde yer alcak. ancak projede 2 reklam tipide aktif olcak ?
Evet kullanabilirsin. İkisi içinde admob sitesinden ayrı ayrı reklam oluşturacaksın aynı projede kullanmadada sorun olmaz. Çünkü ikisi birbirinden ayrı çalışıyor.
aradığım cevaptı teşekkürler ilginiz için 🙂
Önemli değil:) Kolay gelsin…
load ile yüklemeyi yaptıktan hemen sonra çağırınca reklam gelmiyor-henüz yüklenmemiş oldugu için. bu çağırma işlemini buton tıklanmadan hemen load olduktan sonra göstermenin bir yolu yokmu? eski sistemde loadın hemen ardından adlistener ile reklam kendiliğinden çıkıyordu şimdi adlistener yaptıgımda reklam kapanır kapanmaz tekrar açılıyor. özet geçmek gerekirse oncreate metodunda load yapıp hemen ardından reklamı nasıl gösterebilirim?
Yukarıdaki kodu incelediniz mi? AdListener üç farklı methodu mevcut içinde
1. Reklam yüklendiğinde çalışıyor(onAdLoaded())
2. Yüklenirken Hata verdiğinde(onAdFailedToLoad())
3. Reklam Kapatıldığında (onAdClosed())
incelerseniz daha iyi anlayabilirsiniz.
cevabınız için teşekkür ederim ancak, onAdLoaded ile reklamı gösterdiğimde daha uygulama doğru düzgün açılmadan reklam geliyor ve reklamı kapatır kapatmaz tekrar açılıyor. eski sdk ile yaptıgım uygulamada uygulama başladıktan 5-6 saniye sonra reklam geliyordu, kapatınca tekrar açılmıyordu.bunu yapmamın bir yolu yokmu? uygulamalarımda reklamları butonlara veya sayfa geçişlerine koymam mümkün değil 🙁
Reklamın hemen cıkmasının sebebi activty yüklenir yüklenmez reklamında yükleniyor olması bunun böyle olmasını istemiyorsan 3 4 sn sonra cıkmasını istiyorsan tavsiyem timer kullanman.Timer la 3 4 sn sonra loadGecirReklam() çağırırsın.Reklam kapatıldığında tekrar çağırılıyorsa bunun sebebi
onAdClosed() metodunun içinde bir daha loadGecisReklamı
çağırıyor olman. Kapatılınca tekrar yüklensin hazırda
beklesin istiyorsun o da yüklenince tekrar onAdLoaded()
fonksiyonunu çağırıyor.onAdLoaded() fonksiyonun içinde showGecisReklam() reklamı tekrar gösteriyor.
Timer ilede yapmayı denedim fakat bu kezde belirttiğim süre içerisinde reklam tekrar tekrar çıkıyor. reklam ile alakalı kodlarım bunlar..ne yaptıysam olmuyor. sanırım banner reklam ile idare etmek zorundayım.
gecisreklam = new InterstitialAd(this);
gecisreklam.setAdUnitId(“ca-app-pub-xxx”);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(“xxxxx”)
.build();
gecisreklam.loadAd(adRequest);
gecisreklam.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Toast.makeText(getApplicationContext(), “Reklam Yüklendi.”, Toast.LENGTH_LONG).show();
gecisreklam.show();
}
public void onAdClosed(){
Toast.makeText(getApplicationContext(), “Reklam Kapatıldı.”, Toast.LENGTH_LONG).show();
}
});
Bir sefer çalıştıktan sonra timer ı stopp edeceksin . Yoksa sürekli çalışır.
buda zamanlama için reklam her kapandıgında tekrar çalıştıran handler kodum. zamanınızı aldığım ve kalabalık ettiğim için kusura bakmayın bu son mesajım daha sizi rahatsız etmiycem 🙂
final Handler handler = new Handler();
Runnable task = new Runnable() {
@Override
public void run() {
gecisreklam.show();
handler.postDelayed(this, 7000);
}};
handler.removeCallbacks(task);
handler.post(task);
this.interstitialAd = new InterstitialAd((Context)(this));
this.interstitialAd.setAdUnitId(“xxxxxxx”);
AdRequest adRequest = new AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).addTestDevice(“xxxxx”).build();
this.interstitialAd.loadAd(adRequest);
this.interstitialAd.setAdListener((AdListener)(new AdListener(){
public void onAdLoaded() {
if (MainActivity.this.interstitialAd.isLoaded()) {
MainActivity.this.interstitialAd.show();
return;
}
}
}));
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}
protected Object getErrorReason(int n) {
// TODO Auto-generated method stub
return null;
}
public void showInterstitial(View view) {
this.interstitialAd.show();
}
Bu kod benim yazdığım kodlar değil. Gördüğüm kadaryla
MainActivity.this.interstitialAd.show(); her seferinde çağırılıyor. Birtane int tanımla mesala x=0;
if(x==0){
MainActivity.this.interstitialAd.show();
x++;
}
deyip deneyebilirsin. Mantık olarak anlatmaya çalıştım
Taha bey sizden rica etsem benim uygulamama siz reklam koyarmısınız lütfen ben yapamıyorum artık denemediğim yol kalmadı lütfen eposta adresinizi verirseniz sizinle iletişim kurabilirim
Mert o şekilde yardım etmiyoruz kusura bakma . Hata ne ise burda paylaşırsan çözümlemeye çalışırız.
aşağıda yazdığım koda durmadan ekrana reklam geliyor ben sadece bir kere gelmesini istiyorum ilginiz için teşekkürler..
uygulamalarda butonları gizliyemiyor muyuz?
reklam göster veya reklam yükle butonlarını
İkisinide kullanmayabilirsin.Orda sadece anlatmak amaçlı kullandık.Mantığını kavramak amaçlı.Butonları kaldırırsın loadGecisReklam() metodunu direk onCreate metodun içine koyarsın. ShowGecisReklam() metodunuda istediğin yerde çağırıp reklamını gösterirsin.Diğer yorumlarıda okursan daha çok fikir edinebilirsin.
public class Anasayfa extends Activity {
private InterstitialAd gecisReklam;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.anasayfa);
// Geçiş Reklamımızı oluşturuyoruz
gecisReklam = new InterstitialAd(this);
gecisReklam.setAdUnitId(“ca-app-pub-7020051436874371*******”);//Reklam İd miz.Admob da oluşturduğumuz geçiş reklam id si
gecisReklam.setAdListener(new AdListener() { //Geçiş reklama listener ekliyoruz
@Override
public void onAdLoaded() { //Geçiş reklam Yüklendiğinde çalışır
Toast.makeText(getApplicationContext(), “Reklam Yüklendi.”, Toast.LENGTH_LONG).show();
}
@Override
public void onAdFailedToLoad(int errorCode) { //Geçiş Reklam Yüklenemediğinde Çalışır
Toast.makeText(getApplicationContext(), “Reklam Yüklenirken Hata Oluştu.”, Toast.LENGTH_LONG).show();
}
public void onAdClosed(){ //Geçiş Reklam Kapatıldığında çalışır
Toast.makeText(getApplicationContext(), “Reklam Kapatıldı.”, Toast.LENGTH_LONG).show();
//Geçiş reklam kapatıldığı zamanda yeni reklam yükleme işlemimizi başlatabiliriz.
//loadGecisReklam();
}
});}
public void loadGecisReklam() {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(“B3EEABB8EE11C2BE770B********”)
.build();
//Reklam Yükleniyor
gecisReklam.loadAd(adRequest);
}
public void showGecisReklam() {
// Tekrar reklam yüklenene kadar disable edilecek
if (gecisReklam.isLoaded()) {//Eğer reklam yüklenmişse kontrol ediliyor
gecisReklam.show(); //Reklam yüklenmişsse gösterilecek
} else {//reklam yüklenmemişse
Toast.makeText(getApplicationContext(), “Reklam Gösterim İçin Hazır Değil.”, Toast.LENGTH_LONG).show();
}
}
}
böyle de reklam gelmiyor hocam
http://www.mobilhanem.com/android-webview-ile-admob-banner-ve-gecis-reklamlarini-birlikte-kullanma/
Bu dersimi inceleyebilirsin .Orda butonsuz da kullanım var.
bu projeyi çalıştırınca geçiş reklamı gelmiyor hocam.
showGecisReklam() fonksiyonu, public void onBackPressed() içinde oldugu için 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();
}
}
O dersimde geçiş reklamı back butonuna basınca geliyor.Evet showGecisReklam() fonksiyonu, public void onBackPressed() içinde oldugu için back butonuna basınca açılıyor. O konu hakkında sorumuzu konunun altından sorarsan sevinirim.
benim yaşadığım sıkıntı geçiş reklamını butonsuz gostermek oldugu için buraya yazdım hocam. çünkü ben geçiş reklamı ekleme dersindeki butonları kaldırınca reklam gelmiyor.dediğiniz yöntemi de denedim butonları sıldıkten sonra loadgecisreklam() fonksiyonunu oncreat içinde tanımladım showgecisreklam() fonksiyonuda onun altında tanımladım ama reklam gelmiyor. ki gelse bile ilk reklam kapandıktan sonra diğer reklamların geliş kontrolunu nasıl yapacağımı da bilmiyorum.aşagıda arkadaşlar timer demiş o timer admob dan geçiş reklamı aldıgımız zaman bizim belirlediğimiz saniye mi acaba?
loadgecisreklam()
onCrete içinde tanımladıktan sonra hemen altında showgecisreklam()ı çağırsan çalışmaz çünkü önce reklamın yüklenmesi lazım. Oncreate de loadgecisreklam() çağırdıktan sonra showGecisReklamını ya belli bir süre sonra (timer ile) yada kullanıcının bir etkileşimi ile(butona basmak vs) ile göstermen lazım.
hocam ozetle showgecisreklam() fonksiyonu butonsuz veya başka bişey olmadan kendiliğinden gelmez diyebilir miyiz? ben otomatik geldiğini ve süresini de admobta geçiş reklamı oluştururken süre aralığı seçiyoruz ya ordan ayarladığımızı düşünüyordum
showgecisReklam() metodunu
public void onAdLoaded() metodunun içine koyarsan reklam yüklendiği zaman geçiş reklamı gösterilir.Kullanıcı etkileşimine kalmaz iş.
allah razı olsun hocam istediğim cevap buydu. aynı zamanda allah sabır versin fazla ugraştırıyoruz sizi. şimdi tek bişey var aklıma takılan reklam yüklenince geliyor ya admobda süreyi ne kadar uzun seçersek o kadar geç mi gelecek geçiş reklamımız?
Oradaki timeout zamanı reklamın kaç sn sonra kapanacağı ile ilgili.Kendisi otomatik kapanıyor. Belirlediğin sn sonunda.Ama bu konuda pekde emin değilim çnkü denemedim hiç.
peki timerla süreyi nasıl uzatabiliriz hocam? benim aklıma onAdLoaded() fonk. içindeki showgecisreklam() fonk. öncesi for dongüsüyle süre uzatmak geldi,ama orda da sayı ne kadar fazla olsa da süre yine kısa olacak.timer hakkında da biraz bilgi verseniz.çünkü sürekli gelen reklamlar kullanıcıları baya sıkıyor
Burdaki süreden kastın nedir? Hangi süreyi uzatmak istiosun?
reklamın geliş süresi
yüklendikçe reklam geliyor
hocam uygulamamızı yayınladıgımız zaman, device idmiz olan “Use AdRequest.Builder.addTestDevice(“C521B8BE*********)” kısmını kaldırmasak, google uygulamayı indiren cihazları da test cihazı olarak görür mü?
2.sorum : aynı reklam id’sini farklı uygulamalarda kullanmanın dezavantajı var mı?
1. si hayır görmez. O id sadece senin cihazının id si. Kaldırmana gerek yok.
2. Reklam oluşturmak çok basit.Google da oluşturmamızı istiyor.O yüzden bence her uygulama için farklı reklam oluştur.
Merhaba, paylaşımınız için teşekkürler ellerinize sağlık. Bu yazınızdan yola çıkarak uygulamama admob ekledim fakat değişik bir sorunla karşılaştım. Sorun şu istatistiklere baktığım zaman tıklanma sayısının gösterim sayısından fazla olduğunu görüyorum. Hiç birşey anlamadım. Şuan google hesabımı her an kapatır diye endişeleniyorum:) Neden olabilir acaba bu konuda yardımcı olabilir misiniz?
Ben istatistik kısmını bilmiyorum. Ben hiç kendi projelerimde kullanmadım.Ama tıklanma sayısı gösterim sayısından fazla olması çok normal bir durum tam tersi olsa sıkıntı olur diye düşünüyorum.
Hocam çok yararlı oldu sagol fakat device id test etme aşaması bittikten sonra kaldırıcaz mı yoksa hep kalıcakmı
Yararlı olduysa ne mutlu:) device id test aşamasından sonra kaldrmanı önermem sonucta aynı cihazla baska geliştrmelerde yapıcaksn uygulaman için her seferinde eklemek zahmetli olur. İşin özü device id nin orda kalmasının herhangi bir sakıncası bulunmamaktadır.
Merhabalar, yukarıdaki belirttiğiniz gibi uygulamama hepsini yaptım fakat,
manifeste eklediğimiz bu satırların
“@integer/google_play_services_version” <= bu satırında hata veriyor, bulunamadığını söylüyor. Integer'ı bizmi oluşturacağız yoksa daha başka bir problemmi var ? =S
Google Play Service import edememiş olabilirsin. Benimde başıma gelmişti Google Play Service silip tekrar yüklemiştim.Eğer doğru import ettiğinden eminsen yanlış yani eski google play service import etmişsin.google-play-services_lib diye arat bilgisayarında birden fazla cıkacaktır.doğru olanı import etmeye çalış.Hangisi doğru anlaman için bu klasör hangi api klasörünün nin altında olduğuna bak.
Kolay Gelsin.
hocam bu dosyayı nereye ekleyeceğiz sonra ?
Hangi dosyayı anlayamadım?
ya hocam şöyle söyleyim ben ufak bişey yaptım oyun olarak play’e atıcam üyeliğimi falan açtım reklam alıcam uygulamaya öncelikle uygulamayı yükledikten sonra mı reklam alıyoruz ? öyleyse nereden nasıl düzelticem pek anlayamadım açıkçası
Hayır kullandığın Activitylere ekliyeceksin . Hangi activity de cıkmasını istiyorsan o Activitylere ekliyeceksin burdaki kodları
yani 1.bölümde çıkmasını istiyorsam oraya event oluşturup mu ekliceğim ? aktivity derken pek bişey bilmiyorum öğrenme amaçlı soruyorum kusura bakmayın
Eclipse’te File -> Import -> Existing Android Project -> Browse dedikten sonra Android Sdk ile birlikte gelen google-play-services_lib(Bilgisayarınız Search kısmından daha rahat bulabilrsinz) klasörünü buluyor ve browse diyoruz.
BU KLASÖRÜ BULAMADIK HOCAM YANLIŞ MI BAKIYORUZ ?
O zaman Sdk Manager açıp oradan kontrol edermisin Google Play Service indirmişmisiniz?
Merhaba Taha hocam butonsuz çıkışa geçiş reklamı eklemek istiyorum yardımcı olabilir misiniz?
Geri butonuyla uygulamadan çıkmak isterken mi ?
evet hocam, şimdi benim applerde bu şekilde kodlama var çalışıyor fakat admob eski sdk olduğu için update yapacağım yeni kodları lazım, çıkışta geri butonuyla ile çalışan geçiş reklamı.
http://www.mobilhanem.com/android-back-button-handle-etme/ bu dersimde back buttonu handle etmeyi anlattım. ilk sefer tıklandıgında showGecisReklam methodunu cagırırsın. İkincide ise birsey yapmazsın kendisi uygulamadan cıkar
Teşekkürler hocam takıldığım nokta olursa ilgili konunun altına yazarım. Sitenizden faydalanıyoruz. Selametle kalın
Tabi sorabilirsiniz. Sizde selametle kalın.
Kolay Gelsin..
Merhaba Taha Hocam, birşey sormak istiyorum burada bahsettiğiniz BANLANMA olayı sadece uygulamamıza GEÇİŞLİ REKLAM yaptığımız zamanda mı geçerli ? yoksa Alt Banner olayında da Device ID almamız gerekiyor mu ? Bunu öğrenmek istedim.
( Android Projesi dışında Phonegap uygulama yazıyorum. Orada da bu şekilde Device ID almamız gerekiyor mu Bilginiz var mı ? )
Evet Admob Banner reklam olması birşeyi değiştirmez onda da Device Id eklemen gereklidir.
Merhaba Taha Hocam bir soru soracaktım fakat ilgili konuyu sitede aradım bulamadığım için buraya yazdım kategori hatasından dolayı kusura bakma.
Admob reklamlarında tam filtreleme nasıl yapılıyor, islami içerikli uygulamalar yapıyorum bir çok kategori ve reklamları filtrelememe rağmen tekrar başka bir tarzda yine çıkıyorlar. Mesela linkteki (https://apps.admob.com/#monetize/pubcontrols:arc) filtrelemeleri yapıyorum bu hem sürekli yapılması gereken bir işlem (birkaç günde bir) hem de % 100 çözüm sağlamayan bir yöntem. Benim yapmak istediğim özellikle müstehcen reklamları engellemek, mesela sadece şu şu şu reklamlar çıksın tarzı bir reklam seçme de olabilir…
% 100 filtrelemeyi nasıl sağlayabilirim.
Teşekkürler
Bunu Admob’un reklam ayarlarından yapabilirsin. Başka türlü bir filtreleme yapma şansın yoktur.
C# ile Unity üzerindeb yapıyorum yinede çalışır mı ? Java bilmiyorum.
Unity projelerede de admob ekleniyor ama farklı şekilde entegre ediyorlar burdaki gibi değil.
Hocam eline saglik da ben cozemedigim bir sikinti yasiyorum reklam bazi telefonlarda hata veriyor bazi telefonlarda ise vermiyor api ile ilgili problem oldugunu dusunuyorum ama cozemedim Sizce neden gosterildikten sonra hata veriyor olabilir reklam
Hata nerede oluşuyor,nasıl bir hata oluşuyor ,uygulama crash oluyor mu? bunlarında bilgisini paylaşırsan yardımcı olmaya çalışalım.
Hocam mrb birde şunu sorucaktım
bu uygulamayı yaptik diyelim
bunun proje isimlerini nasıl değiştircez
reklam ekleme diye çıkıyor
onları misal google uygulama diye değiştircem
nasıl değiştircem
Bu ipucumuzu inceleyebilirsin
http://www.mobilhanem.com/android-studio-package-name-degistirme/
BU yaptıgınız projede banner reklam üste onu nasıl sayfanın altına alabilirim ?
BU yaptıgınız projede banner reklam üste reklamı sayfanın altına nasıl sabitleyebilirim ?
merhaba, android:layout_alignParentBottom=”true” sayfanın en altına sabitleyebilirsin yardımcı olması açısından bu dersimize bakabilirsin http://www.mobilhanem.com/android-banner-reklami-ekran-ustunde-top-altinda-bottom-gosterme/
arkadaşlar isterseniz buradan da bakabilirsiniz türkçe olarak çok güzel anlatılmış
https://www.youtube.com/watch?v=R9sp_QGd_0U
selam taha hocam bir sorum olacak. Ben android uygulamama reklam koyarken testdevice olarak tanıtmayı atlamıştım senin yazını görünce ekledim ama eklemediğimde bir kaç kez tıkladım test ederken. Fakat test cihazımdaki gmail hesabı ile admob’un bağlı olduğu hesap birbirinden farklıydı. Beni admob’un bloklama ihtimali var mı hocam.
Bir kaç tıklama ile hesap banlanmaz rahat olabilirsin.
unity için nasıl olacak peki
Bu kodları unity için kullanamazsın. Bizim sitemizde unity’e entegre etmek ile ilgili ders bulunmamaktadır.
Peki yardımcı olabilir misiniz
Hocam merhaba, reklama tıklama ile çalışacak bi fonksiyon var mı? Reklama tıklandığında bikaç işlem gerçekleştirmek istiyorum.
hocam reklam gösterimim YANLIŞLIKLA YAPILAN TIKLAMALARI TEŞVİK EDEN DÜZEN – GEÇİŞ REKLAMLARI yüzüne durduldu gerekli düzenlemeleri yaptım tekrar play store ye aynı id ile mi yüklemem gerekiyor yoksa yeni bir reklam id si mi oluşturayım
Allah belanizi versin sizin yuzunuzden reklamlardan biktik cumlenizin alayina belalar dolansin
belaler kendine döner. nabıcak milletin işi gücü yok da senin gibi beleşçiler için uygulamamı yazacak
[…] Admob geçir reklam ekleme dersimiz için tıklayınız. […]
Kodları yazınca hata veriyor çalıştırmıyor bazı kodların rengi kırmızıya dönüyor button Toast vs. gibi kodlarda oluyor bu. Yardımcı olabilir misiniz 2 gündür bakmadığım kaynak kalmadı . Eğer elinizde duruyorsa kaynak dosyalarını atar mısınız öyle daha kolay olur ya da neden kırmızı olduğu hakkında bilgi verir misinz. Teşekkrüler
Merhaba,her aktivity icin ayri banner olusturup onu mu kullaniyoruz yoksa tek alip bir uygulamanin bazi yerlerinde kullansak oluyor mu?Bu diger reklam turleri icinde gecerli