ADEasy — автоматическая интеграция
Быстрая интеграционная платформа для всех рекламных платформ.
ADEasy использует технологию автоматической интеграции плагинов. Вам нужно только контролировать переключение каждой рекламы, чтобы получить доступ к рекламе.
Кроме того, ADEasy имеет ряд преимуществ. Функционально его система взвешивания может улучшить доход от агрегированных объявлений. В использовании он унифицирует интерфейс всех рекламных платформ, реализует простой и унифицированный метод вызова, отлично использует возможности Kotlin и обеспечивает чрезвычайно удобный пользовательский опыт.
Поддерживаемые рекламные платформы:
Рекламные платформы, которые мы планируем поддерживать в будущем: IronSource.
buildscript {
repositories {
maven { url 'https://raw.githubusercontent.com/TJHello/publicLib/master'}
}
dependencies {
classpath "com.TJHello.plugins:ADEasy:5.3.2001-t41"
}
}
allprojects {
repositories {
maven { url 'https://raw.githubusercontent.com/TJHello/publicLib/master'}
}
}
apply plugin: 'ad-easy'
ADEasyExt{
adSwitch = true //Master switch
debug = true //Test mode(Automatically set to false in relearse mode)
inChina = false //much be
adMobId = "ca-app-pub-755515620*****~*****61045" //adMob id
adMob = true //admob
adYomob = true //yomob
adUnity = true //unity
adVungle = false//Vungle
adMi = true //mi
adGdt = true //GDT
adFacebook = true//Facebook
adByteDance = false//ByteDance
adOppo = false//Oppo
adVivo = false//Vivo
adMintegral = false//Mintegral-Chain
adMintegralGp = false//Mintegral-GooglePlay
//umeng = ['key'] //eg:['key','deviceType','pushSecret']
//abTest = true //ABTest switch https://github.com/TJHello/ABTest
//exclude = ['xxxx'] //exclude package
}
android {
defaultConfig {
//Unable to execute dex: method ID not in [0, 0xffff]: 65536
multiDexEnabled true
}
//Support java8
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
//Unable to execute dex: method ID not in [0, 0xffff]: 65536
implementation 'com.android.support:multidex:1.0.3'
}
class TJApplication : Application(),ADEasyApplicationImp{
override fun onCreate() {
super.onCreate()
ADEasy.setDebug(true)//ad debug and log output
ADEasy.channel = ADChannel.Order//about umeng channel
ADEasy.toOfflineMode()
ADEasyLog.addFilterType(//ad log filter
ADEasyLog.TYPE_HANDLER_BASE,
ADEasyLog.TYPE_ADEASY_DETAILED_STEPS,
ADEasyLog.TYPE_TOOLS_UMENG
)
ADEasy.init(this,this)
}
//Create ad configuration
override fun createAdPlatformConfig(group: String):
``` **Платформа конфигурации?**
PlatformConfig? { when(group){ ADInfo.GROUP_ADMOB->{ return AdConfig.createAdmob() .addParameter("ca-app-pub-3940256099942544/6300978111",ADInfo.TYPE_BANNER)//Test ID .addParameter("ca-app-pub-3940256099942544/1033173712",ADInfo.TYPE_INTERSTITIAL) .addParameter("ca-app-pub-3940256099942544/5224354917",ADInfo.TYPE_VIDEO,10)//video1 .addParameter("ca-app-pub-394025609994***/**354917",ADInfo.TYPE_VIDEO,10)//video2 .initWeight(10) } } return null }
**Переопределение функции onInitAfter():**
override fun onInitAfter(){}
**Присоединение базового контекста (Base):**
override fun attachBaseContext(base: Context) { super.attachBaseContext(base) MultiDex.install(base) }
**Шаг 4. Создание AppActivity (AppActivity):**
```kotlin
abstract class AppActivity : AppCompatActivity(),ADEasyActivityImp{
protected val adEasy by lazy { ADEasy.getInstance(this,this) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
adEasy.isAutoShowInterstitial(true)
onInitValue(savedInstanceState)
onInitView()
adEasy.onCreate()
onLoadData()
}
override fun onPause() {
super.onPause()
adEasy.onPause()
}
override fun onResume() {
super.onResume()
adEasy.onResume()
}
override fun onDestroy() {
super.onDestroy()
adEasy.onDestroy()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
adEasy.onActivityResult(requestCode,resultCode,data)
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
adEasy.onRequestPermissionsResult(requestCode,permissions,grantResults)
}
protected abstract fun onInitValue(savedInstanceState: Bundle?)
protected abstract fun onInitView()
protected abstract fun onLoadData()
override fun isActivityFinish(): Boolean {
return isFinishing
}
}
Пример (TestActivity):
class TestActivity : AppActivity() {
override fun onInitValue(savedInstanceState: Bundle?) {
adEasy.isAutoShowBanner(true)
}
override fun onInitView() {
setContentView(R.layout.test_activity_layout)
btShowVideo.setOnClickListener {
adEasy.showVideo{adInfo, isReward ->
LogUtil.i("[showVideo]:callback:$isReward")
}
}
btShowInterstitialVideo.setOnClickListener {
adEasy.showInterstitialVideo {
LogUtil.i("[showInterstitialVideo]:callback")
}
}
btShowInterstitial.setOnClickListener {
adEasy.showInterstitial {
LogUtil.i("[showInterstitial]:callback")
}
}
btShowBanner.setOnClickListener {
adEasy.showBanner()
}
btHideBanner.setOnClickListener {
adEasy.hideBanner()
}
}
override fun onLoadData() {
}
override fun onCreateBanner(): ViewGroup? {
return bannerLayout
}
}
boolean hasBanner() boolean hasInterstitial() boolean hasVideo() boolean showBanner() boolean showInterstitial() boolean showInterstitialVideo() boolean showVideo() boolean hideBanner() boolean hideInterstitial()//Not Support
Если вам нужно обновить веса, вы можете вызвать метод ADEasy.changeWeight.
В запросе представлен код на языке Kotlin, который описывает структуру и функциональность приложения для работы с рекламными баннерами, видео и межстраничными объявлениями. В коде используются абстрактные классы, методы переопределения, а также методы установки и получения данных из рекламных сетей.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )