项目根目录下的 build.gradle 文件中添加 JitPack
仓库
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
core
是必选,其他5个根据自身需求任选
1 ~ 5个组合搭配
dependencies {
//核心库( 必要 )
implementation 'com.github.ifmvo.TogetherAd:core:5.2.5'
//芒果 ( 可选 )
implementation 'com.github.ifmvo.TogetherAd:mg:5.2.5'
//腾讯优量汇 ( 可选 )
implementation 'com.github.ifmvo.TogetherAd:gdt:5.2.5'
//穿山甲 ( 可选 )
implementation 'com.github.ifmvo.TogetherAd:csj:5.2.5'
//快手联盟 ( 可选 )
implementation 'com.github.ifmvo.TogetherAd:ks:5.2.5'
//百度百青藤 ( 可选 )
implementation 'com.github.ifmvo.TogetherAd:baidu:5.2.5'
}
对应版本:芒果1.0.10;穿山甲5.6.0.2;优量汇4.510.1380;快手3.3.25;百度5.91
资源库中已自带混淆规则,通常情况下无需手动配置。
当然你也可以点击这里查看每个资源库的混淆规则: core、gdt、csj、baidu
库中已自带各个广告SDK所需的配置,通常情况下不再需要手动添加。 可以在各个模块的 AndroidManifest.xml 文件中自行查看
/*
* 广告提供商枚举
* 不需要的就删除,只保留需要的即可
*/
enum class AdProviderType(val type: String) {
//芒果移动广告
MG("mg"),
//腾讯优量汇 也叫广点通
GDT("gdt"),
//穿山甲
CSJ("csj"),
//快手
KS("ks"),
//百度百青藤
BAIDU("baidu")
}
/**
* 所有广告位的别名
*
* 列举你项目中的所有广告位,并给每个广告位起个名字
*
* 用于初始化广告位ID 以及 广告的请求
*/
object TogetherAdAlias {
//开屏
const val AD_SPLASH = "ad_splash"
//激励广告
const val AD_REWARD = "ad_reward"
//.....更多其他
}
同时需要配置所有 广告ID
和 广告位ID
注意:示例代码中的 ID
是各个平台中 Demo 的测试 ID
,可用于测试。正式环境下各位开发者请自行更换。
class App : Application() {
override fun onCreate() {
super.onCreate()
/**
* 尽量放在 Application 的 onCreate 方法中初始化,否则可能会影响填充率
*/
//初始化芒果
TogetherAdMg.init(context = this, adProviderType = AdProviderType.MG.type, mgAdAppId = "SGTSWGWKJA", mgAdAppKey = "efgQRSTZhijKopqr2345")
//初始化穿山甲
TogetherAdCsj.init(context = this, adProviderType = AdProviderType.CSJ.type, csjAdAppId = "5001121", appName = this.getString(R.string.app_name))
//初始化广点通
TogetherAdGdt.init(context = this, adProviderType = AdProviderType.GDT.type, gdtAdAppId = "1101152570")
//初始化百青藤
TogetherAdBaidu.init(context = this, adProviderType = AdProviderType.BAIDU.type, baiduAdAppId = "e866cfb0")
//初始化快手
TogetherAdKs.init(context = this, adProviderType = AdProviderType.KS.type, ksAdAppId = "90009")
/**
* 配置所有广告位ID
* 如果你的ID是服务器下发,也可以把配置ID放在其他位置,但是必须要在请求广告之前完成配置,否则无法加载广告
*/
TogetherAdMg.idMapMg = mutableMapOf(
TogetherAdAlias.AD_SPLASH to "10402",
TogetherAdAlias.AD_REWARD to "10401"
//......其他更多
)
TogetherAdCsj.idMapCsj = mutableMapOf(
TogetherAdAlias.AD_SPLASH to "801121648",
TogetherAdAlias.AD_REWARD to "901121365"
//......其他更多
)
TogetherAdGdt.idMapGDT = mutableMapOf(
TogetherAdAlias.AD_SPLASH to "8863364436303842593",
TogetherAdAlias.AD_REWARD to "2090845242931421"
//......其他更多
)
TogetherAdKs.idMapKs = mutableMapOf(
TogetherAdAlias.AD_SPLASH to 4000000042L,
TogetherAdAlias.AD_REWARD to 90009001L
//......其他更多
)
TogetherAdBaidu.idMapBaidu = mutableMapOf(
TogetherAdAlias.AD_SPLASH to "2058622",
TogetherAdAlias.AD_REWARD to "5925490"
//......其他更多
)
}
}
更多自定义配置查看示例代码
全屏视频广告,该广告的效果播放全屏的视频,类似于激励视频广告,区别在于视频一定时间后可跳过,无需全程观看完。
原生广告自渲染方式支持开发者自由拼合素材,最大程度的满足开发需求;与原生模板方式相比,自渲染方式更加自由灵活,开发者可以使用其打造自定义的布局样式