Bu kılavuz AdPlus Android SDK kullanımına ait geliştiricilerin ihtiyaç duyacağı bilgileri içermektedir.
Bu bölümde android uygulamanıza AdPlus reklamlarını ekleyebilmeniz için gereken adımlar yer almaktadır.
SDK'yı uygulamanıza ekleyebilmeniz için build.gradle dosyalarınızda çeşitli eklemeler yapmanız gerekmektedir. İlk adım olarak uygulamanın SDK'sının barınmakta olduğu yolu proje seviyesinde bulunan build.gradle dosyasına aşağıdaki şekilde eklemeniz gereklidir.
repositories {
google()
mavenCentral()
maven {
url "https://gowitssp.jfrog.io/artifactory/default-maven-virtual"
}
}
Ardından app seviyesinde bulunan build.gradle dosyanıza aşağıdaki şekilde kütüphanenin importunu yapmalısınız.
// Add repository for SSP SDK
implementation 'com.gowit:ssp-android-sdk:0.0.15'
// SSP SDK uses 3rd party dependencies for network operations, and if you want to exclude them from your build,
// you can add SSP SDK with those exclusions:
implementation ('com.gowit:ssp-android-sdk:0.0.15') {
exclude group: 'com.squareup.retrofit2', module:'retrofit'
exclude group: 'com.squareup.okhttp3', module: 'okhttp'
}
Sonrasında yapacağınız gradle sync işleminin arkasından kütüphane projenize dahil edilmiş olacaktır.
SDK nın modüllerine erişmek için ilk önce InventoryID'niz ile konfigürasyon dosyanızı oluşturmalısınız.
val config = SspSdkConfiguration.Builder()
.setInventoryId("XXXXXXX") // inventory id
.setSspLogLevel(SspLoggerLevel.ERROR) // SDK sistemi loglama seviyesi.
.build()
Ardından SSPSdk nesnemizi oluşturmak için aşağıda bulunan örnek kodu kullanabilirsiniz.
lateinit var sspSdk: SspSdk
sspSdk = SspSdk.getInstance(
context = this,
sspSdkConfiguration = config,
sspClientMetaData = sspClientMetaData, // SspClientMetaData objemizi ilerleyen bir zamanda da yaratabiliriz. Optional bir alandır.
sspSdkInitializationListener = this // SspSdkInitializationListener objemizi eğer kütüphane durumunu izlemek istersek yaratıp burada ekleyebiliriz.
)
Bu bölümde android uygulamanızda AdPlus reklamlarını özelleştirmeniz için gereken adımlar yer almaktadır.
Reklam isteklerini özelleştirmek için yarattığımız SspSdk nesnesi üzerindeki SspClientMetaData objesini kullanabilirsiniz.
Özelleştirmek için kullanılan parametreler aşşağıdaki gibidir.
val yob: Long?, //Cihaz sahibinin doğum yılı.
val sspGender: SspGender?, //Cihaz sahibinin cinsiyeti.
val cat: IABCategory?, //Sayfa iceriğinin IAB kategorileri.
val lt: Long?, //Eğer cihaz konum alıyorsa enlem verisi.
val ln: Long?, //Eğer cihaz konum alıyorsa boylam verisi.
val app_v: String?, //Uygulamanın versiyonu.
val customPageURL : String? = null, // Custom Page Url
val referrer: String? = null // Referrer Url
Bu parametreleri reklam isteği oluşturmadan önce belirlemelisiniz.
Bu bölümde android uygulamanızda AdPlus reklamlarını oluşturmanız için gereken adımlar yer almaktadır.
Banner reklamlar sayfanızın içeriğine dahil olacak şekilde görünecek ebatları ve pozisyonu belirlenebilen statik görünümlü reklamlardır. Bir sayfada birden çok banner reklam yer alabilir.
Banner reklam isteği oluşturmadan önce yarattığımız SspSdk nesnesi üzerindeki SspBannerAdListener arayüzünü uyguladığınız aktivite veya fragmentınızı belirtmelisiniz.
Bu arayüz aşşağıdaki gibi tanımlanmıştır.
interface SspBannerAdListener {
fun adReceived(identifer: Int?, bannerAd: SspBannerAd)
fun adFailedToLoad(identifer: Int?, reason: SspResult)
fun adWillAppear(identifer: Int?) {}
}
Bu parametreyi belirledikten sonra reklam isteğinizi aşağıdaki methodu çağırarak oluşturabilirsiniz. AdUnitID'nizi method içine aktarmanız zorunludur.
fun requestBanner(adUnitId: String, size: Size, identifier: Int? = null): SspRequestResponse {}
Reklam isteğiniz başarılı bir şekilde oluşturulduktan sonra, bu isteğin sonucu SspBannerAdListener arayüzünü uyguladığınız sınıfınıza iletilecektir.
Reklam isteğiniz sonucunda, gösterilecek reklam olması halinde
fun adReceived(identifer: Int?, bannerAd: SspBannerAd)
methodu çağırılacaktır.
Bu aşamada reklamı göstermek istedğiniz ViewGroup objenizi SDK ya göndermeniz gerekmektedir. Bu işlem için bu kod örneği aşşağıdaki gibidir.
override fun adReceived(identifer: Int?, bannerAd: SspBannerAd) {
identifer?.let { id ->
if (id == 0) {
bannerAd.show(findViewById<FrameLayout>(R.id.frameLayout1))
} else if (id == 1) {
bannerAd.show(findViewById<LinearLayout>(R.id.linearLayout1))
}
}
}
Reklam isteğiniz sonucunda ya da reklam gösterilmesi sırasında bir hata oluşması halinde
fun adFailedToLoad(identifer: Int?, reason: SspResult)
methodu çağırılacaktır.
Reklam isteği ile ilgili tüm işlemler tamamlandıktan sonra, reklam nesnesi arayüze eklenmeden hemen önce eğer uygulandı ise
// optional
fun adWillAppear(identifer: Int?) {}
methodu çağırılacaktır.
Interstitial reklamlar çalıştığı uygulamanın tümünü kaplayacak şekilde görünecek dinamik görünümlü reklamlardır. Bir sayfada sadece bir interstitial reklam yer alabilir.
Interstitial reklam isteği oluşturmadan önce yarattığımız SspSdk nesnesi üzerindeki SspInterstitialAdListener arayüzünüzü uyguladığınız sınıfınızı belirtmelisiniz.
Bu arayüz aşağıdaki gibi tanımlanmıştır.
interface SspInterstitialAdListener {
fun interstitialAdReceived(identifier: Int?, sspInterstitialAd: SspInterstitialAd)
fun interstitialAdFailedToLoad(identifier: Int?, reason: SspResult)
fun interstitialAdClicked(identifier: Int?) {}
fun interstitialAdClosed(identifier: Int?) {}
fun interstitialAdWillAppear(identifier: Int?) {}
}
Bu parametreyi belirledikten sonra reklam isteğinizi aşağıdaki methodu çağırarak oluşturabilirsiniz. AdUnitID'nizi method içine aktarmanız zorunludur.
fun requestInterstitial(adUnitId: String, size: Size, identifier: Int? = null): SspRequestResponse
Reklam isteğiniz başarılı bir şekilde oluşturulduktan sonra, bu isteğin sonucu SspInterstitialAdListener arayüzünü uyguladığınız sınıfınıza iletilecektir.
Reklam isteğiniz sonucunda, gösterilecek reklam olması halinde
fun interstitialAdReceived(identifier: Int?, sspInterstitialAd: SspInterstitialAd)
methodu çağırılacaktır.
Bu aşamada reklamı göstermek istediğiniz ViewGroup objenizi SDK ya göndermeniz gerekmektedir. Bu işlem için bu kod örneği aşağıdaki gibidir.
override fun interstitialAdReceived(identifier: Int?, sspInterstitialAd: SspInterstitialAd) {
sspInterstitialAd.show(this)
}
Reklamın gösterileceği aktivitenin uygulamanızın AndroidManifest.xml dosyasında belirtilmiş application tagi altında olması gereklidir.
<activity android:name="com.gowit.sspandroidsdk.adunit.interstitial.SspInterstitialAdActivity" android:configChanges="keyboardHidden|orientation|screenSize"/>
Açılan reklamın kapatılması durumunda arayüzünüzün aşağıdaki methodu çağırılacaktır.
fun interstitialAdClosed(identifier: Int?) {}
Reklam gösterimi sırasında karşılaşılan bir sorun durumunda ise aşağıdaki method çağıralacaktır.
fun interstitialAdFailedToLoad(identifier: Int?, reason: SspResult)
Reklam isteği ile ilgili tüm işlemler tamamlandıktan sonra, reklam nesnesi arayüze eklenmeden hemen önce eğer uygulandı ise.
fun interstitialAdWillAppear(identifier: Int?) {}
methodu çağırılacaktır.
- Android Studio 3.2 ve ustu
- Android API level 21 ve ustu