Skip to content

Latest commit

 

History

History
196 lines (138 loc) · 6.62 KB

home.md

File metadata and controls

196 lines (138 loc) · 6.62 KB

一、配置项目

1. Gradle 添加依赖

项目根目录下的 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

2. 混淆 proguard-rules.pro

资源库中已自带混淆规则,通常情况下无需手动配置。

当然你也可以点击这里查看每个资源库的混淆规则: coregdtcsjbaidu

库中已自带各个广告SDK所需的配置,通常情况下不再需要手动添加。 可以在各个模块的 AndroidManifest.xml 文件中自行查看

二、初始化

1. 新建一个枚举类 AdProviderType,列举你接入的广告商

/*
 * 广告提供商枚举
 * 不需要的就删除,只保留需要的即可
 */
enum class AdProviderType(val type: String) {

    //芒果移动广告
    MG("mg"),

    //腾讯优量汇 也叫广点通
    GDT("gdt"),

    //穿山甲
    CSJ("csj"),

    //快手
    KS("ks"),

    //百度百青藤
    BAIDU("baidu")

}

2. 新建一个 静态类,并列举你项目中的所有广告位

/**
 * 所有广告位的别名
 *
 * 列举你项目中的所有广告位,并给每个广告位起个名字
 *
 * 用于初始化广告位ID 以及 广告的请求
 */
object TogetherAdAlias {

    //开屏
    const val AD_SPLASH = "ad_splash"

    //激励广告
    const val AD_REWARD = "ad_reward"

    //.....更多其他
}

3. 在 Applicatioin 的 onCreate() 方法里面调用初始化方法

同时需要配置所有 广告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"
            //......其他更多
        )

    }
}

更多自定义配置查看示例代码

三、请求和展示广告

开屏广告(请求成功后立即自动展示)(推荐)

开屏广告(请求成功后可手动控制展示时机)

激励广告(请求成功后立即自动展示)(推荐)

激励广告(请求成功后可手动控制展示时机)

全屏视频广告

全屏视频广告,该广告的效果播放全屏的视频,类似于激励视频广告,区别在于视频一定时间后可跳过,无需全程观看完。

Banner横幅广告

Interstitial插屏广告

原生模板广告的简单用法

原生模板广告在RecyclerView中使用

原生自渲染广告的简单用法

原生自渲染广告在RecyclerView中使用

原生广告自渲染方式支持开发者自由拼合素材,最大程度的满足开发需求;与原生模板方式相比,自渲染方式更加自由灵活,开发者可以使用其打造自定义的布局样式