2025-07-09 16:38:10 +08:00
|
|
|
|
# BASE And AD模块集成指南
|
2025-07-06 16:09:29 +08:00
|
|
|
|
|
2025-07-09 16:38:10 +08:00
|
|
|
|
#### base-lib and ad 集成指南
|
2025-07-06 16:20:48 +08:00
|
|
|
|
#### 项目gradle
|
|
|
|
|
|
```java
|
|
|
|
|
|
maven {
|
|
|
|
|
|
url "http://124.221.136.193:3000/app-lib/JKBaseLib/raw/master/maven"
|
|
|
|
|
|
allowInsecureProtocol = true // 允许HTTP
|
|
|
|
|
|
metadataSources {
|
|
|
|
|
|
artifact() // 强制校验POM文件
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 模块的gradle
|
|
|
|
|
|
```java
|
2025-07-09 16:38:10 +08:00
|
|
|
|
|
|
|
|
|
|
implementation ('com.chuangketie.jk:base-lib:1.0.0@aar') {
|
|
|
|
|
|
transitive = true // 确保嵌套依赖被加载
|
|
|
|
|
|
}
|
|
|
|
|
|
implementation ('com.chuangketie.jk:ad-lib:1.0.0@aar') {
|
2025-07-06 16:20:48 +08:00
|
|
|
|
transitive = true // 确保嵌套依赖被加载
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-07-09 16:38:10 +08:00
|
|
|
|
## BASE
|
|
|
|
|
|
```java
|
|
|
|
|
|
new LibraryApp.Builder(this)
|
|
|
|
|
|
.addSlot(LOG_PRINT, "log_print")
|
|
|
|
|
|
.addSlot(ANIMATION_SKIP,"0")
|
|
|
|
|
|
.initialize();//初始化
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
|-----------------|---------|------|----------|
|
|
|
|
|
|
| context | Context | ✓ | 应用上下文 |
|
|
|
|
|
|
| LOG_PRINT | String | ✕ | Log打印 |
|
|
|
|
|
|
| ANIMATION_SKIP | String | ✕ | 页面跳转动画 |
|
|
|
|
|
|
|
2025-07-06 16:09:29 +08:00
|
|
|
|
|
2025-07-09 16:38:10 +08:00
|
|
|
|
## AD
|
2025-07-06 16:09:29 +08:00
|
|
|
|
### 基础配置(必填项)
|
2025-07-06 16:12:27 +08:00
|
|
|
|
```java
|
|
|
|
|
|
new AdApp.Builder(this, Constants.APP_NAME, getChannel(), getAppSplash())
|
2025-07-06 16:05:36 +08:00
|
|
|
|
.addSlot(AD_APPID, "app_id") // APPID
|
|
|
|
|
|
.addSlot(AD_CSJID, "csj_id") // CSJID
|
|
|
|
|
|
.addSlot(AD_CODE_SPLASH, "splash_id") // 添加横幅广告位
|
|
|
|
|
|
.addSlot(AD_CODE_REWARD, "reward_id") // 激励视频广告位
|
|
|
|
|
|
.addSlot(AD_CODE_FEED1, "feed1_id") // 信息流1广告位
|
|
|
|
|
|
.addSlot(AD_CODE_FEED2, "feed2_id") // 信息流2广告位
|
|
|
|
|
|
.addSlot(AD_CODE_FEED3, "feed3_id") // 信息流3广告位
|
|
|
|
|
|
.addSlot(AD_CODE_BANNER, "banner_id") // banner广告位
|
|
|
|
|
|
.addSlot(AD_CODE_Draw, "draw_id") // draw广告位
|
2025-07-09 16:02:54 +08:00
|
|
|
|
.addSlot(NO_AD,"true") //强制不开启广告
|
2025-07-06 16:12:27 +08:00
|
|
|
|
.initialize();
|
|
|
|
|
|
```
|
2025-07-06 15:55:38 +08:00
|
|
|
|
|
|
|
|
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
|-----------|---------|------|----------|
|
|
|
|
|
|
| context | Context | ✓ | 应用上下文 |
|
|
|
|
|
|
| APP_NAME | String | ✓ | 应用名称 |
|
|
|
|
|
|
| CHANNEL | String | ✓ | 渠道 |
|
|
|
|
|
|
| AppSplash | int | ✓ | 启动页id |
|
|
|
|
|
|
| APPID | String | ✕ | appid |
|
|
|
|
|
|
| CSJID | String | ✕ | csjid |
|
|
|
|
|
|
| AD_CODE_* | String | ✕ | 各类型广告位id |
|
|
|
|
|
|
|
2025-07-06 16:09:29 +08:00
|
|
|
|
### 调试模式
|
2025-07-06 16:12:27 +08:00
|
|
|
|
```java
|
2025-07-06 16:05:36 +08:00
|
|
|
|
// 开发阶段开启(正式环境需关闭)
|
2025-07-06 16:12:27 +08:00
|
|
|
|
- LogAd.setDebug(true);
|
|
|
|
|
|
```
|
2025-07-06 15:55:38 +08:00
|
|
|
|
|
2025-07-06 16:09:29 +08:00
|
|
|
|
### 最佳实践
|
2025-07-06 16:12:27 +08:00
|
|
|
|
- 初始化时机:在Application.onCreate()中完成初始化
|
|
|
|
|
|
- 隐私合规:确保用户已同意隐私政策
|
|
|
|
|
|
- 版本兼容:最低支持Android 7.0(API 24)
|
2025-07-06 15:55:38 +08:00
|
|
|
|
|
2025-07-06 16:20:48 +08:00
|
|
|
|
### 广告开关初始化失败监听
|
2025-07-06 16:09:29 +08:00
|
|
|
|
```java
|
2025-07-06 16:20:48 +08:00
|
|
|
|
// 重新请求广告开关
|
2025-07-06 16:05:36 +08:00
|
|
|
|
ADStateUtils.setSwitchRequestListener(new ADStateUtils.SwitchRequestListener() {
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public void onSwitchRequestChanged() {
|
|
|
|
|
|
AdUtils.getAdvFlag();
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
2025-07-06 16:09:29 +08:00
|
|
|
|
```
|
2025-07-06 15:55:38 +08:00
|
|
|
|
|
2025-07-06 16:09:29 +08:00
|
|
|
|
### 注意事项
|
2025-07-06 15:55:38 +08:00
|
|
|
|
#### ⚠️ 正式发布前确认:
|
2025-07-06 16:10:45 +08:00
|
|
|
|
- 调试日志已关闭
|
|
|
|
|
|
- 所有广告位ID已测试通过
|
|
|
|
|
|
- 符合广告平台政策要求
|
2025-07-06 15:55:38 +08:00
|
|
|
|
|