# EasyAds-Android **Repository Path**: bayescom/EasyAds-Android ## Basic Information - **Project Name**: EasyAds-Android - **Description**: 🔥持续更新🔥EasyAds,全球热门的开源聚合SDK广告软件。帮助App开发者便捷接入国内多家主流广告 SDK包括:字节穿山甲、腾讯优量汇、百度百青藤、快手联盟。几行代码就可以快速实现开屏、Banner横幅、插屏、激励视频、原生信息流、全屏等广告形式。 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 16 - **Forks**: 9 - **Created**: 2021-11-30 - **Last Updated**: 2025-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: Android, android-sdk, easyads ## README # EasyAds-Android 快速指引 [![](https://jitpack.io/v/bayescom/EasyAds-Android.svg)](https://jitpack.io/#bayescom/EasyAds-Android) ## 1. 支持的SDK平台及广告位 | SDK平台 | 开屏 | 激励视频 | 横幅 | 插屏(弹窗) | 模板信息流 | 全屏视频 | draw信息流 | |-------|---|---|---|---|---|---|---| | 穿山甲 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 优量汇 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | | 百青藤 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | | 快手 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ## 2. 快速接入 下面介绍EasyAds的快速接入方法,开发中也可以参考[Example](https://github.com/bayescom/EasyAds-Android/tree/main/example)下的示例工程,快速了解。 ### 2.1 引入SDK **方式一(推荐)**: 使用Gradle 添加依赖,在项目根目录的build.gradle 文件中添加 `JitPack` 仓库 ``` allprojects { repositories { ... maven { url 'https://jitpack.io' } } } ``` 在项目module目录下的build.gradle 文件中添加SDK内容依赖 ``` dependencies { //EasyAds sdk(必须) implementation "com.github.bayescom:EasyAds-Android:1.1" //穿山甲广告SDK(建议) implementation(name: "open_ad_sdk_4908", ext: "aar") //优量汇广告SDK(建议) implementation(name: "GDTSDK_4492", ext: "aar") //百度广告SDK(可选) implementation(name: "Baidu_MobAds_SDK_9241", ext: "aar") //快手广告SDK(可选) implementation(name: "kssdk-ad-3334", ext: "aar") } ``` **方式二**: 将`EasyAds`项目以`Library`的形式导入APP项目工程。 ### 2.2 SDK分发策略配置 配置SDK的分发策略,可方便的实现流量的切分操作,实现多SDK的混合执行策略。 在EasyAds中,我们通过JSON文件的方式配置SDK的分发策略,开发者可根据自身流量分发的需求,按照EasyAds中提供的JSON配置格式及方法设置流量分发策略。 以开屏广告对接穿山甲和优量汇两个SDK为例,配置选择80%流量穿山甲->优量汇的顺序请求,20%流量优量汇->穿山甲的顺序请求,配置如下所示。 其中,suppliers字段下配置媒体在穿山甲和优量汇平台申请的广告代码位信息,rules字段下配置流量分发策略及比例; 策略JSON的配置说明详细见:[SDK策略配置JSON说明](https://github.com/bayescom/EasyAds-Android/wiki/2.-SDK%E5%88%86%E5%8F%91%E7%AD%96%E7%95%A5%E9%85%8D%E7%BD%AEJSON) 不同广告位的JSON策略配置示例见:[不同广告位JSON配置示例](https://github.com/bayescom/EasyAds-Android/tree/main/example/src/main/assets) ```json { "rules": [ { "tag": "A", "sort": [ 1, 2 ], "percent": 80 }, { "tag": "B", "sort": [ 2, 1 ], "percent": 20 } ], "suppliers": [ { "tag": "csj", "adspotId": "穿山甲广告位ID", "appId": "穿山甲应用ID", "index": 1 }, { "tag": "ylh", "adspotId": "优量汇广告位ID", "appId": "优量汇应用ID", "index": 2 } ] } ``` **注:** 为了方便开发者配置流量分发策略,我们也提供了在线可视化的便捷工具[EasyTools](http://easyads.bayescom.cn/#/tools),方便生成广告位的策略配置JSON。 ### 2.3 获取广告 以下步骤,为获取广告的必要步骤,**适用于所有广告位**。 不同广告位置的不同实现,可参考[Example示例](https://github.com/bayescom/EasyAds-Android/tree/main/example/src/main/java/com/easyads/demo); #### 2.3.1 初始化广告对象 初始化广告对象`EasyAdXXX`,以开屏为例 ``` EasyAdSplash easySplash = new EasyAdSplash(mActivity, adContainer, listener); ``` #### 2.3.2 设置执行策略 调用共有方法`setData(String strategyJson)`,给当前位置广告**赋予执行策略**,即2.2步骤中生成的SDK分发策略配置。 ``` easySplash.setData(FileUtil.getJson(mActivity, "splash_config.json")); ``` #### 2.3.3 调用获取广告 方式一:**请求并展示广告**。 ``` easySplash.loadAndShow(); ``` 方式二:先发起请求广告: ``` easySplash.loadOnly(); ``` 待广告成功拉取后,开发者可根据业务需求在合适的时机,决定调用展示广告方法。(**注意:广告会存在有效期,过久未调用展示,会导致广告失效**) ``` easySplash.show(); ``` #### 2.3.4 各广告位集成实现 * [开屏广告:EasyAdSplash](https://github.com/bayescom/EasyAds-Android/wiki/3.1-%E5%BC%80%E5%B1%8F%E5%B9%BF%E5%91%8A) * [插屏广告:EasyAdInterstitial](https://github.com/bayescom/EasyAds-Android/wiki/3.2-%E6%8F%92%E5%B1%8F%28%E5%BC%B9%E7%AA%97%29%E5%B9%BF%E5%91%8A) * [横幅广告:EasyAdBanner](https://github.com/bayescom/EasyAds-Android/wiki/3.3-%E6%A8%AA%E5%B9%85%E5%B9%BF%E5%91%8A) * [原生模板、信息流广告:EasyAdNativeExpress](https://github.com/bayescom/EasyAds-Android/wiki/3.4-%E5%8E%9F%E7%94%9F%E6%A8%A1%E6%9D%BF%E3%80%81%E4%BF%A1%E6%81%AF%E6%B5%81%E5%B9%BF%E5%91%8A) * [激励视频广告:EasyAdRewardVideo](https://github.com/bayescom/EasyAds-Android/wiki/3.5-%E6%BF%80%E5%8A%B1%E8%A7%86%E9%A2%91%E5%B9%BF%E5%91%8A) * [全屏视频广告:EasyAdFullScreenVideo](https://github.com/bayescom/EasyAds-Android/wiki/3.6-%E5%85%A8%E5%B1%8F%E8%A7%86%E9%A2%91%E5%B9%BF%E5%91%8A) * [DRAW视频信息流广告:EasyAdDraw](https://github.com/bayescom/EasyAds-Android/wiki/3.7-DRAW%E8%A7%86%E9%A2%91%E4%BF%A1%E6%81%AF%E6%B5%81%E5%B9%BF%E5%91%8A) ## 3. 进阶设置 ### 3.1 SDK全局配置 App多广告位情况下,想要优化SDK的广告位配置,可参考[SDK全局配置](https://github.com/bayescom/EasyAds-Android/wiki/4.-SDK%E5%85%A8%E5%B1%80%E9%85%8D%E7%BD%AE)优化管理你的众多广告位。 ### 3.2 自定义广告SDK渠道 想要使用其他的广告SDK,[自定义广告SDK渠道](https://github.com/bayescom/EasyAds-Android/wiki/5.-%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B9%BF%E5%91%8ASDK%E6%B8%A0%E9%81%93)可以帮你轻松加入任何广告SDK。 ## 4. SDK错误码 & 常见问题 调试遇到问题?欢迎查询SDK错误码及常见问题FAQ,帮助你快速解决对接中遇到的问题。 [SDK错误码](https://github.com/bayescom/EasyAds-Android/wiki/6.1-SDK%E9%94%99%E8%AF%AF%E7%A0%81) [常见问题](https://github.com/bayescom/EasyAds-Android/wiki/6.2-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) ## 技术支持 QQ群: EasyAds开源社区群 QQ群二维码: ![image](http://www.bayescom.com/uploads/20211220/43af3f34fc5a7bb50d84f94e374b3e98.png) 邮件技术支持: