ADEasy — автоматическое интегрирование
QQ группа для общения (425219113)
Перед использованием программы внимательно прочитайте: «Заявление об отказе от ответственности и лицензионное соглашение».
ADEasy — это набор инструментов для автоматического интегрирования рекламных SDK на всех платформах.
Описание:
Поддерживаемые рекламные платформы:
AdMob (баннер, межстраничное объявление, видео, межстраничное видеообъявление) Unity (баннер, межстраничное объявление, видео, межстраничное видеообъявление) Mi (баннер, межстраничное объявление, видео) GDT (Tencent优量汇 2.0) (баннер, межстраничное видеообъявление, видео, заставка, нативное) Facebook (баннер, межстраничное объявление, видео) ByteDance (穿山甲) (баннер, межстраничное объявление, видео, полноэкранное видеообъявление, заставка, нативное) Vungle (баннер, межстраничное объявление, видео, межстраничное видеообъявление) Baidu (баннер, межстраничное объявление, видео, межстраничное видеообъявление, заставка) Oppo (баннер, межстраничное объявление, видео, межстраничное видеообъявление, заставка) Vivo (баннер, межстраничное объявление, видео, заставка) Mintegral (баннер, межстраничное объявление, видео, межстраничное видеообъявление, заставка) Mintegral-GP (баннер, межстраничное объявление, видео, межстраничное видеообъявление, заставка) OneWay (межстраничное объявление, видео, межстраничное видеообъявление, заставка, нативное).
Платформы, которые планируется поддерживать в будущем: IronSource.
buildscript {
repositories {
maven { url 'https://tjhello.gitee.io/publiclib/'}
}
dependencies {
classpath "com.TJHello.plugins:ADEasy:8.3.2102-t42"//8.x версия плагина поддерживает только gradle4.2.x, 4.1.x и ниже, необходимо использовать версию 7.3.2102-t41
}
}
apply plugin: 'ad-easy'
ADEasyExt{
adSwitch = true //Общий переключатель рекламы
inChina = true //Обязательно - внутри страны true - за границей false
debug = true //Этот переключатель связан с переключателем отладки рекламы, версия release автоматически установит значение false
//Следующие параметры настраиваются по мере необходимости, по умолчанию false
//adMobId = "ca-app-pub-xxxxx" //Идентификатор admob, обязательный для подключения admob, и его необходимо изменить на правильный идентификатор, иначе admob выйдет из строя.
//adMob = true //Переключатель admob
adUnity = true //Переключатель Unity
adMi = true //Переключатель Mi
adGdt = true //Переключатель Tencent优量汇
adFacebook = true//Переключатель Facebook
adByteDance = false//Переключатель ByteDance
adVungle = false//Переключатель Vungle
adOppo = false//Переключатель Oppo
adVivo = false//Переключатель Vivo
adMintegral = false//Переключатель Mintegral - Китай
adMintegralGp = false//Переключатель Mintegral - за рубежом
adOneWay = false//Переключатель OneWay
//umeng = ['key'] //Разрешить ли ADEasy управлять Umeng, ['key','deviceType(необязательно, по умолчанию 1)','pushSecret(необязательно, по умолчанию null)']
//abTest = true //ABTest переключатель https://github.com/TJHello/ABTest
//exclude = ['xxxx'] //Исключить пакет
}
android {
defaultConfig {
//Когда количество методов превышает лимит
multiDexEnabled true
}
//Поддержка java8, можно использовать некоторые удобные грамматические функции
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
//Количество методов превысило лимит
implementation 'com.android.support:multidex:1.0.3'
}
ADEasy.init(this, this) }
// Создание рекламного конфигуратора (обязательно, используется при сбое получения онлайн-конфигурации или в офлайн-режиме) override fun createAdPlatformConfig(group: String): PlatformConfig? { when (group) { ADInfo.GROUP_ADMOB -> { return AdConfig.createAdmob() .addParameter("ca-app-pub-3940256099942544/6300978111", ADInfo.TYPE_BANNER) // тестовый id .addParameter( "ca-app-pub-3940256099942544/1033173712", ADInfo.TYPE_INTERSTITIAL ) .addParameter( "ca-app-pub-3940256099942544/5224354917", ADInfo.TYPE_VIDEO, 10 ) // разрешено добавлять несколько параметров одного типа, но разных кодов (Banner пока не поддерживает эту функцию) // .addParameter("ca-app-pub-394025609994***/**354917",ADInfo.TYPE_VIDEO,10) .initWeight(10) } } return null }
// После завершения инициализации ADEasy можно вызывать методы, которые будут работать override fun onInitAfter() {
}
override fun attachBaseContext(base: Context) { super.attachBaseContext(base) // Решение проблемы с превышением лимита методов MultiDex.install(base) }
**Step4. Конфигурация AppActivity (AppActivity.kt, AppActivity.java)**
```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.kt, TestActivity.java)
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 ->
Toast.makeText(this,"Close Video :$isReward", Toast.LENGTH_LONG).show()
}
}
btShowInterstitialVideo.setOnClickListener {
adEasy.showInterstitialVideo {
Toast.makeText(this,"Close InterstitialVideo",Toast.LENGTH_LONG).show()
}
}
btShowInterstitial.setOnClickListener {
adEasy.showInterstitial {
Toast.makeText(this,"Close Interstitial",Toast.LENGTH_LONG).show()
}
}
btShowBanner.setOnClickListener {
adEasy.showBanner()
}
btHideBanner.setOnClickListener {
``` **adEasy.hideBanner()**
}
}
override fun onLoadData() {
}
override fun onCreateBanner(): ViewGroup? {
return bannerLayout
}
//退出应用时请调用 ADEasy.exitApp(context)
}
### adEasy API
boolean hasBanner() //есть ли баннер boolean hasInterstitial() //есть ли межстраничное объявление boolean hasVideo() //есть ли поощрительное видео boolean showBanner() //показать баннер boolean showInterstitial() //показать межстраничное объявление boolean showInterstitialVideo() //показать поощрительное видео на межстраничном объявлении boolean showVideo() //показать поощрительное видео boolean hideBanner() //скрыть баннер void showSplash()//показать заставку void showNative(ViewGroup viewGroup,String tag,Int position){}//показать нативное объявление
void hangLifeUp() //приостановить жизненный цикл, используется для всплытия окна согласия на конфиденциальность и т. д., необходимо вызвать перед adEasy.onCreate void hangLifeDown() //возобновить приостановленный жизненный цикл, продолжить выполнение void notShowInterstitialOnce() //пропустить однократное отображение запроса на показ межстраничного объявления, используется при первом переходе на главную страницу, чтобы не показывать межстраничные объявления, необходимо вызвать перед adEasy.onCreate void isAutoShowBanner() //автоматически ли отображается страница баннера, необходимо вызвать перед adEasy.onCreate void isAutoShowInterstitial()//автоматически ли показывается межстраничное объявление, необходимо вызвать перед adEasy.onCreate void closeAD() //закрыть функцию объявлений текущей страницы, необходимо вызвать перед adEasy.onCreate
ADEasy.init() //инициализация интерфейса ADEasy.agreePrivacy() //согласиться с политикой конфиденциальности, обязательно вызвать ADEasy.setDebug() //связать отладочную версию объявления, одновременно открыть журнал, в режиме выпуска автоматически устанавливается значение false ADEasy.openLog() //открыть журнал ADEasy.toTestMode() //перейти в тестовый режим онлайн-конфигурации — только для онлайн-режима ADEasy.setInterstitialTime() //установить интервал автоматического показа межстраничных объявлений (в миллисекундах), необходимо вызвать после завершения инициализации ADEasy.getInstance() //получить новый экземпляр ADEasy ADEasy.changeWeight() //изменить вес определённой платформы ADEasy.isInit() //завершена ли инициализация ADEasy.getOLParameter() //получить параметры онлайн, требуется включить онлайн-функцию и настроить онлайн-параметры ADEasy.toOfflineMode() //перевести в автономный режим ADEasy.exitApp() //вызвать при выходе из приложения, связано с выходом из партнёрской сети ADEasy.setInitListener() //установить прослушиватель инициализации для всех объявлений платформы ADEasy.getConfigManager() //получить менеджер конфигурации объявлений, можно изменить значения параметров управления объявлениями. Необходимо вызвать после onInitAfter
### Прочее
Присоединяйтесь к группе QQ для консультаций (425219113)
### Версия ADEasy
Пример: 1.0.1001-a01
1: номер версии плагина автоматизации [0-99]
0: номер обновления версии SDK [0-999]
1001 -> номер основной версии
1: изменение структуры [0-9]
0: функциональное изменение [0-99]
01: небольшое изменение, исправление ошибок [0-99]
a01 -> тестовая версия
a: альфа-тест (прошёл проверку в реальной среде проекта)
b: бета-тест (прошёл клиентскую проверку в реальной среде)
t: внутренний тест
### Соответствие версий SDK
x.3.xxxx (постоянно обновляется)
Yomob (удалено)
MI:5.0.6
Unity:3.4.8
ByteDance:3.4.1.0
Admob:19.3.0
GDT:4.310.1180
Vungle:6.7.0
Facebook:5.9.1
Baidu:5.86
Vivo:4.2.0.0
Oppo:3.5.1
Mintegral:14.4.41
OneWay:2.4.5
Huawei:13.4.35.300
x.2.xxxx
Yomob:1.8.7 MI:5.0.0 Unity:3.4.6 ByteDance:3.1.0.0 Admob:19.2.0 GDTSDK:4.232.1102 Vungle:6.7.0 Facebook:5.9.1 Baidu:5.86
x.1.xxxx
Yomob:1.8.7 MI:3.0.0 Unity:3.3.0 ByteDance:2.9.5.0 Admob:19.0.1 GDTSDK:4.190.1060 Vungle:6.5.2 Facebook:5.8.0
x.0.xxxx
Yomob:1.8.5 MI:2.5.0 Unity:3.3.0 ByteDance:2.8.0 Admob:18.3.0 GDTSDK:4.110.980 Vungle:6.5.2 Facebook:5.6.0
### Журнал обновлений плагина автоматизации
v8
1、Поддержка Android Studio gradle 4.2.x
v7
1、поддержка режима AAB
v6
1、Поддержка Android Studio gradle 4.1.x
v5
1、Рефакторинг всего модуля, переход на чистую реализацию Kotlin. 2、Добавлены платформы Oppo, Vivo, Mintegral, OneWay, Huawei, Baidu. 3、Поддержка Android Studio 3.3.1–4.0.1
v4
1、Исправление некоторых проблем, когда при горячей модификации manifests удаление элементов не приводило к эффекту. 2、Исправление некоторых случаев, когда горячая модификация переключателя платформ не приводила к динамическому изменению в месте добавления manifests. 3、Новая поддержка автоматической интеграции рекламы ByteDance.
v3
1、Увеличение поддержки ABTest, inChina, exclude, appkey и appToken.
### Журнал обновления основной программы
8.3.2102-t42 (постоянно обновляется)
1、исправление ошибок, оптимизация использования API. 2、поддержка TopOn агрегатного SDK. 3、соответствие государственной политике, обязательное использование ADEasy.agreePrivacy().
6.3.2102-t09
1、рефакторинг кода, полное отделение логики рекламной платформы в отдельный модуль. Решение проблемы с обнаружением пакета совместной работы Ov. 2、новые платформы Oppo, Vivo, Mintegral, Huawei и Baidu, обновление нескольких платформ. 3、открытие локального управления рекламой, изменение API управления конфигурацией. Например: ADEasy.getConfigManager(). 4、исправление и оптимизация большого количества проблем, общее повышение стабильности системы.
4.2.1306-t05 обновлено 2020-07-31
1、поддержка GDT, ByteDance и Baidu для заставки. 2、возможность изменения параметров конфигурации управления рекламой в коде. 3、поддержка тестового режима онлайн-функциональности. 4、другие оптимизации.
4.2.1304-t03 обновлено 2020-06-29
1、обновление всех платформ SDK, добавлена поддержка рекламы Baidu. 2、исправление ошибки, которая могла привести к сбою при использовании онлайн-настройки. 3、упрощение и организация кода, оптимизация общей логики загрузки рекламы по весу. 4、исправление проблемы с обратным вызовом Yomob рекламы. 5、исправление неточности определения бренда телефона.
4.1.1303-t11 обновлено 2020-06-25
1、небольшие исправления ошибок и некоторые незначительные корректировки.
3.1.1303-t10 обновлено 2020-05-20 (День святого Валентина)
1、новая функция планирования потоков для загрузки рекламы. 2、новая онлайн-функция конфигурации. 3、новая функция классификации журналов по уровням. 4、новая функция автоматического управления партнёрской сетью Yum. 5、новая функция поддержки ABTest. 6、исправление нескольких ошибок, большая оптимизация.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )