广告类型模块
1. 激励视频广告
-
类 : ATRewardVideoAd
-
核心方法 : load() 、 show()
-
回调 : ATRewardVideoListener
2. Banner广告
-
类 : ATBannerView
-
核心方法 : loadAd() 、 destroy()
-
回调 : ATBannerListener
3. 插屏广告
-
类 : ATInterstitial
-
核心方法 : load() 、 show()
-
回调 : ATInterstitialListener
4. 原生信息流广告
-
类 : ATNative 、 NativeAd
-
核心方法 : makeAdRequest() 、 destory()
-
回调 : ATNativeNetworkListener 、 ATNativeEventListener
5. 开屏广告
-
类 : TaKuSplashActivity (Activity形式)
-
启动方式 :Intent跳转
6. 短视频内容
-
类 : ShortVideoActivity (集成快手SDK)
-
核心组件 : KsContentPage 、 KsScene
7. 短剧内容
-
类 : ShortPlayActivity 、 MyShortPlayActivity (集成穿山甲短剧SDK)
-
核心组件 : DJXSdk
三、回调机制模块
1. 广告事件回调接口
接口 用途 关键回调 ATRewardVideoListener 激励视频事件 onReward() 、 onRewardedVideoAdFailed() ATBannerListener Banner事件 onBannerLoaded() 、 onBannerShow() ATInterstitialListener 插屏事件 onInterstitialAdLoaded() 、 onInterstitialAdShow() ATNativeNetworkListener 原生广告网络事件 onNativeAdLoaded() ATNativeEventListener 原生广告交互事件 onAdImpressed() 、 onAdClicked()
2. 统一上报方法
```
private void appToGame(String msg, String extra, String type, String
data) {
// 向游戏端上报广告事件和数据
}
```
四、数据上报模块
1. 广告收益数据
-
CPM :千次展示收益
-
上报时机 :广告成功展示时
2. 广告信息对象
-
类 : ATAdInfo
-
关键属性 :ecpm、adnId、adnName等
五、风控模块
1. 设备信息收集
```
// 收集的设备信息包括:
-
IP地址
-
MAC地址
-
设备品牌/型号
-
Android版本
-
VPN状态
-
模拟器检测
-
SIM卡状态
-
应用安装情况(微信、抖音、快手)
-
设备标识符(OAID/IMEI)
```
2. 权限管理
-
所需权限 :位置、电话状态、存储
-
权限请求方式 :RxPermissions
六、生命周期管理模块
1. 广告资源释放
```
// Banner广告
mBannerView.destroy();
// 原生广告
mNativeAd.destory();
// 容器清理
mBannerContainer.removeAllViews();
```
2. 广告状态控制
```
private boolean canShowBanner = true; // Banner展示开关
```
七、配置常量模块
Constants.java 中定义的广告相关配置:
常量 说明 TAKU_APP_ID TopOn应用ID TAKU_APP_KEY TopOn应用密钥 TAKU_AD_ID 激励视频广告位ID TAKU_BANNER_ID Banner广告位ID TAKU_INSERT_ID 插屏广告位ID TAKU_NATIVE_ID 原生广告位ID GROMORE_APP_ID 穿山甲GroMore应用ID KS_SVIDEO_ID 快手短视频广告位ID VIDE_KS_APPID 快手应用ID
八、代码架构特点
1. 分层设计
```
应用层 → TopOn聚合层 → 各广告平台SDK层
```
2. 统一接口
所有广告类型遵循相同的调用模式:
```
创建实例 → 设置参数 → 设置回调 → 加载广告
```
3. 异步处理
采用监听器模式处理广告事件,避免阻塞主线程
4. 错误处理
完善的错误回调和日志记录机制