JKBaseLib/README.md

123 lines
4.1 KiB
Markdown
Raw Permalink Normal View History

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
}
```
#### 模块的gradle
```java
//Base_And_Ad
def lib_base = "1.0.1"
implementation "com.chuangketie.jk:lib_base:$lib_base"
def lib_ad = "1.0.1"
implementation "com.chuangketie.jk:lib_ad:$lib_ad"
def lib_ad_aar = "1.0.0"
2025-11-26 14:50:26 +08:00
//noinspection Aligned16KB
implementation "com.chuangketie.jk:lib_ad_open_ad_sdk:$lib_ad_aar"
implementation "com.chuangketie.jk:lib_ad_GDTSDK.unionNormal:$lib_ad_aar"
implementation "com.chuangketie.jk:lib_ad_mediation_gdt_adapter:$lib_ad_aar"
2025-11-26 14:50:26 +08:00
def lib_iMusic = "1.0.0"
implementation "com.chuangketie.jk:lib_iMusic:$lib_iMusic"
2025-07-06 16:20:48 +08:00
```
2025-07-09 16:38:10 +08:00
## BASE
```java
new LibraryApp.Builder(this)
.addSlot(LOG_PRINT, "log_print")
2025-07-09 16:51:24 +08:00
//ANIMATION_SKIP 0:默认从右向左弹出; 1:淡入Fade; 2://缩放+透明度Scale + Fade; 3:缩放+透明度; 4:缩放+旋转;
.addSlot(ANIMATION_SKIP,"0")
2025-07-31 10:15:14 +08:00
//导航栏颜色 默认白色
.addSlot(NAVIGATION_BAR_COLOR,"#FFFFFF")
//dialog样式 默认0样式
.addSlot(DIALOG_LAYOUT,"0")
2025-07-09 16:38:10 +08:00
.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-31 10:25:08 +08:00
### 注意事项
#### ⚠️ 如果开启了混淆
2025-07-31 10:33:09 +08:00
######   [混淆AD地址](http://124.221.136.193:3000/app-lib/JKBaseLib/src/branch/master/app/proguard-rules-ad.pro)    [混淆BASE地址](http://124.221.136.193:3000/app-lib/JKBaseLib/src/branch/master/app/proguard-rules-base.pro)
2025-07-31 10:26:04 +08:00
```java
2025-07-31 10:25:08 +08:00
release {
minifyEnabled true // 启用代码混淆
shrinkResources true // 移除未使用资源(需配合混淆)
//激进优化(可能需额外规则适配)
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro',
2025-07-31 10:29:11 +08:00
//要添加的ad混淆
'proguard-rules-ad.pro',
//要添加的base混淆
'proguard-rules-base.pro'
2025-07-31 10:25:08 +08:00
signingConfig signingConfigs.release
}
2025-07-31 10:26:04 +08:00
```
2025-07-31 10:25:08 +08:00
2025-07-06 16:09:29 +08:00
### 注意事项
2025-07-06 15:55:38 +08:00
#### ⚠️ 正式发布前确认:
2025-11-26 14:50:26 +08:00
- 如有其他本地lib,不建议其他本地lib的build.gradle开启混淆
2025-07-06 16:10:45 +08:00
- 调试日志已关闭
- 所有广告位ID已测试通过
- 符合广告平台政策要求
2025-07-06 15:55:38 +08:00