1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/TJHello-ADEasy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-EN.md 9.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 12:00 4b81b1d

ADEasy — автоматическая интеграция


Быстрая интеграционная платформа для всех рекламных платформ.

ADEasy использует технологию автоматической интеграции плагинов. Вам нужно только контролировать переключение каждой рекламы, чтобы получить доступ к рекламе.

Кроме того, ADEasy имеет ряд преимуществ. Функционально его система взвешивания может улучшить доход от агрегированных объявлений. В использовании он унифицирует интерфейс всех рекламных платформ, реализует простой и унифицированный метод вызова, отлично использует возможности Kotlin и обеспечивает чрезвычайно удобный пользовательский опыт.

Поддерживаемые рекламные платформы:

  • AdMob (баннер, межстраничное объявление, видео, межстраничное видео).
  • Unity (баннер, межстраничное объявление, видео, межстраничное видео).
  • Mi (баннер, межстраничное объявление, видео).
  • Yomob (межстраничное объявление, видео, межстраничное видео).
  • GDT (межстраничное объявление, видео, межстраничное видео).
  • Facebook (баннер, межстраничное объявление, видео).
  • ByteDance (баннер, межстраничное объявление, видео, межстраничное видео).
  • Vungle (баннер, межстраничное объявление, видео, межстраничное видео).
  • Baidu (баннер, межстраничное объявление, видео, межстраничное видео, заставка).
  • Oppo (баннер, межстраничное объявление, видео, межстраничное видео, заставка).
  • Vivo (баннер, межстраничное объявление, видео, заставка).
  • Mintegral (баннер, межстраничное объявление, видео, межстраничное видео, заставка).
  • Mintegral-GP (баннер, межстраничное объявление, видео, межстраничное видео, заставка).

Рекламные платформы, которые мы планируем поддерживать в будущем: IronSource.

Шаги по использованию

  • Шаг 1. Добавить плагин -> build.gradle (проект)

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'}
    }
}
  • Шаг 2. Применить плагин -> build.gradle(app)

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
    }
}
  • Описание API ADEasy:

boolean hasBanner() boolean hasInterstitial() boolean hasVideo() boolean showBanner() boolean showInterstitial() boolean showInterstitialVideo() boolean showVideo() boolean hideBanner() boolean hideInterstitial()//Not Support

  • Прочее:

Если вам нужно обновить веса, вы можете вызвать метод ADEasy.changeWeight.

  • Версия AD SDK: x.3.xxxx*

В запросе представлен код на языке Kotlin, который описывает структуру и функциональность приложения для работы с рекламными баннерами, видео и межстраничными объявлениями. В коде используются абстрактные классы, методы переопределения, а также методы установки и получения данных из рекламных сетей.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/TJHello-ADEasy.git
git@api.gitlife.ru:oschina-mirror/TJHello-ADEasy.git
oschina-mirror
TJHello-ADEasy
TJHello-ADEasy
master