23 Haziran 2014 Pazartesi

Delphi XE6 Admob

XE6 Admob


 Merhabalar, Bu yazımda sizlere Embarcadero'nun bizlere sunmuş olduğu nimetlerden bir tanesinden bahsetmek istiyorum. XE6 Admob sayesinde artık uygulamalarından para kazanmak gibi düşüncesi olanlara şimdiden söyliyim gözünüzü çok yükseklere dikmeyin :) Burada Admob hesap nasıl açılır UnitID nasıl bulunur gibi anlatımlara girmek istemiyorum Hz. Google'a sorabilirsiniz size seve seve yardımcı olacaktır :) Örnek projemiz için bize lazım olan ekipman: 1 Adet Android Cihaz :) Formumuza Eklenecek olan elemanlar: 1-) TBannerAd 2-)Label 3-)Button İşlemlere başlamadan önce "INTERNET" ve "ACCESS_NETWORK_STATE" yetkilerinin açılmış olması gerektiğini unutmayalım. Görselliğe uyması için TBannerAd nesnemizin Align özelliğini Top yaptıktan sonra formumuza labeli ve butonu yerleştiriyoruz. Formun OnCreate Eventine:
BannerAd1.AdUnitID := 'ADMOB ID BURAYA';

Buton İçerisine :
BannerAd1.LoadAd;

Ve biraz işe aksiyon katmak istersek Reklamın ne kadar zaman boyunca izlendiğini labelimize yazdıralım. Bu iş için öncelikle "Var" bloğumuz altına "ActionBeginDate: TDateTime; WastedSeconds: Integer;" değişkenlerini tanımlıyoruz. TBannerAd nesnemizin Event sekmesinden OnActionCanBegin  içerisine  admobun aktif olduğu saati kayıt etmesi için: OnActionCanBegin
ActionBeginDate := Now;

Ve reklamlar arası geçiş, Reklama tıklanma vb. eventler olduğu zaman bu TBannerAd nesnemizin OnActionDidFinish Eventine yansayacaktır ve bizde bunu yakalıyalım: OnActionDidFinish
var
Seconds: Integer;
begin
Seconds := SecondsBetween(ActionBeginDate, Now);
WastedSeconds := WastedSeconds + Seconds;
Label1.Text := IntToStr(WastedSeconds) + ' boyunca reklam izlenmiş ve bitmiş.'


 Bu sayede Loglarımızı da tutmuş olabiliriz. Ayrıca yazılımcı kusursuz değildir "UnitID" olsun başka birşey olsun TBannerAd nesnesinde de olabilir birçok sorun cıkabilir bunun için TBannerAd nesnesinin "OnDidFail" eventine yazacağımız kodlar TBannerAd nesnesinde herhangi bir hata çıktığı anda aktif olacak olan eventtir. OnDidFail
Label1.Text := 'Hata : ' + Error;

Delphi IDE üzerinde yapacağımız değişiklikler bu kadardır sıradaki ve son işlemimiz "AndroidManifest.template.xml" dosyası içerisindedir.  <activity>  tagının bitim </activity>nin bir alt satırına aşağıda verdiğimi eklemeniz gerekmektedir. "<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>"