Merhaba Arkadaşlar,
mobilhanem.com üzerinden anlattığımız yayınladığımız derslere iOS’da Admob Geçiş Reklam Ekleme ile devam edeceğiz. ios admob banner reklam dersine buradaki linkten ulaşabilirsiniz.
Reklam geliri,uygulama yazanlar için en büyük gelir kaynaklarından biridir diyebiliriz.Geçiş reklamları ise banner reklmamlara göre daha fazla gelir getirmektedir.Ama önceki derslerimdede belirttiğim gibi kullanıcıyı fazla sıkmadan reklam gösterirsek uygulamamız daha kalıcı olur.Kullanıcıyı fazla sıkan reklamlı uygulamalar daha çabuk kaldırılırlar.
Ben ufak bir örnek ile uygulamamı örneklendirdim.Kaynak kodu indirerek daha rahat anlayabilirsiniz.
[wpdm_file id=30]
Öncelikle aşağıdaki libraryleri projemize eklememiz gerekmektedir.
-AdSupport
-AudioToolbox
-AVFoundation
-CoreGraphics
-CoreTelephony
-EventKit
-EventKitUI
-MessageUI
-StoreKit
-SystemConfiguration
Bu işlem bittikten sonra Build Settings altındaki search kısmında other linker flags diye aratalım ve Altta çıkan Other Linker Flags karşısına “-ObjC” yazalım.
NOT:Yukarıdaki kısımları İOS Admob Banner Reklam Ekleme dersimde örnek resimlerle anlattım o yüzden tekrar detaylıca anlatmayacağım oradan bakabilirsiniz.
Bundan sonrasında ise fazla bir işlem kalmıyor.Bu linkten indirdiğimiz Google SDK‘yi zipten çıkardıktan sonra projemize dahil ediyoruz(Bunuda yukarıdaki linkte ayrıntılı bir biçimde anlatmıştım).Projemize dahil ettikten sonra gerekli işlemleri direk kod üzerinde yapıyoruz. Ben gerekli açıklamaları kod üzerinde anlatmaya çalıştım.
ViewController.h
////// ////// #import#import "GADInterstitial.h" //Alttaki Delegate kısmını unutmayalım eklemezsek uygulamamız uyarı verecektir @interface ViewController : UIViewController @property(nonatomic, strong) GADInterstitial *interstitial;//interstitial reklam referansı @property(nonatomic, strong) UIImageView *imageView;//imageView referansı - (IBAction)reklamGoster:(id)sender;//reklamGoster butonu @end
Yukarıda dikkat etmemiz gereken konu “GADInterstitialDelegate>” i import etmeyi unutmayalım.
ViewController.m
////// ////// #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (IBAction)reklamGoster:(id)sender { self.interstitial = [[GADInterstitial alloc] init]; //Reklamı init ediyoruz self.interstitial.adUnitID = @"ca-app-pub-3940256099942544/4411468910";//Reklam ID mizi koyuyoruz //Delegate self diyerek interstitialDidReceiveAd,didFailToReceiveAdWithError,interstitialWillDismissScreen metodlarının otomatik çağırılmasını sağlıyoruz self.interstitial.delegate = self; [self.interstitial loadRequest:[GADRequest request]];//Reklamımızı Yüklüyoruz self.imageView = [[UIImageView alloc] init];//Reklamın gösterileceği imageView init ediyor yani başlatıyoruz self.imageView.frame = self.view.frame;//imageview frame boyutlarını Genel View'imizin yani cihazımınzın ekran boyutlarıyla aynı botutları set ediyoruz self.imageView.contentMode = UIViewContentModeScaleAspectFill; [self.view addSubview:self.imageView];//imageview'i genel view e ekliyoruz } - (void)interstitialDidReceiveAd:(GADInterstitial *)interstitial { [self.interstitial presentFromRootViewController:self];//reklamın gösterilmesini bu kısım yapıyor.Kendisi otomatik çağırılıyor. } - (void)interstitial:(GADInterstitial *)interstitial didFailToReceiveAdWithError:(GADRequestError *)error {//Reklam gösterilirken hata oluşursa çağırılıyor NSLog(@"Reklam Yüklenirken Hata Oluştu"); } - (void)interstitialWillDismissScreen:(GADInterstitial *)interstitial {//Reklam X butonu ile kapatıldığında çağırılıyor NSLog(@"Kapatıldı"); [self.imageView removeFromSuperview]; } @end
Evet arkadaşlar bu derste anlatmak istediklerim bu kadar.Tekrar belirtiyorum kaynak kodu incelemeniz daha çabuk anlamanızı sağlayacaktır.
Konu hakkında soru,görüş ve önerilerinizi konu altında yorum bırakabilirsiniz. Sizlerden ricamız facebook.com/mobilhanem sayfamızı beğenmenizdir.
Birdaha ki dersimde AFNetworking ile HttpPost ve JSON Parse etmeyi anlatacağım.O zamana kadar kendinize iyi bakın.
[wpdm_file id=30] 0
Swift ile nasıl yapabileceğimizi anlatsaydınız çok fayalı bir kaynak olurdu.
teşekkürler paylaşım için bir sorum olacak. birden fazla interstitial’ı kullanmak istiyorum nasıl yapabilirim
reklamı tekrar yüklemen gerekecek.
[self.interstitial loadRequest:[GADRequest request]];//Bu kod ile Reklamı istediğin yerde tekrar yükleyebilirsin.
Uygulama açılır açılmaz bu reklam gelsin istiyorum. Bunu nasıl yapabilirim ?
reklamGoster() methodunu direk viewDidLoad() içinde çağırırsan reklam açılışta gösterilecektir.
Yarın deneyip tekrar dönerim. Teşekkür ederim Taha Bey.
Önemli değil. Kolay Gelsin..
Oldu fakat bu sefer başka bir sorunla karşılaştık. Bunu iOs Webview ile beraber kullanamıyoruz. Sebebi ne olabilir ?
Sorun nerde çıkıyor. Neden kullanamıyorsunuz? Ayrıca şunuda dip not olarak vereyim. İos sadece webview uygulamalarını store’a koymuyor. Reject ediyor uygulamayı. Uygulama sadece webview açan bir uygulama ise Reject yemesi muhtemeldir.
Webview sorun değil. İçerde webview olan 4-5 uygulamam var. Mobil tasarım çok önemli o konuda. Sorun şurda. İki tane viewcontroller açıyoruz. Biri Gadıntersitial biri webview. değişkenleri çakışıyor. 1.kontrollerde webview var. İlk o geliyor diğeri açılmıyor. İlginiz için teşekkürler