JKBaseLib/README.md

117 lines
3.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# BASE And AD模块集成指南
#### base-lib and ad 集成指南
#### 项目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_and_ad = "1.0.0"
implementation "com.chuangketie.jk:lib_base:$lib_base_and_ad"
implementation "com.chuangketie.jk:lib_ad:$lib_base_and_ad"
//noinspection Aligned16KB
implementation "com.chuangketie.jk:lib_ad_open_ad_sdk:$lib_base_and_ad"
implementation "com.chuangketie.jk:lib_ad_GDTSDK.unionNormal:$lib_base_and_ad"
implementation "com.chuangketie.jk:lib_ad_mediation_gdt_adapter:$lib_base_and_ad"
```
## BASE
```java
new LibraryApp.Builder(this)
.addSlot(LOG_PRINT, "log_print")
//ANIMATION_SKIP 0:默认从右向左弹出; 1:淡入Fade; 2://缩放+透明度Scale + Fade; 3:缩放+透明度; 4:缩放+旋转;
.addSlot(ANIMATION_SKIP,"0")
//导航栏颜色 默认白色
.addSlot(NAVIGATION_BAR_COLOR,"#FFFFFF")
//dialog样式 默认0样式
.addSlot(DIALOG_LAYOUT,"0")
.initialize();//初始化
```
| 参数 | 类型 | 必填 | 说明 |
|-----------------|---------|------|----------|
| context | Context | ✓ | 应用上下文 |
| LOG_PRINT | String | ✕ | Log打印 |
| ANIMATION_SKIP | String | ✕ | 页面跳转动画 |
## AD
### 基础配置(必填项)
```java
new AdApp.Builder(this, Constants.APP_NAME, getChannel(), getAppSplash())
.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广告位
.addSlot(NO_AD,"true") //强制不开启广告
.initialize();
```
| 参数 | 类型 | 必填 | 说明 |
|-----------|---------|------|----------|
| context | Context | ✓ | 应用上下文 |
| APP_NAME | String | ✓ | 应用名称 |
| CHANNEL | String | ✓ | 渠道 |
| AppSplash | int | ✓ | 启动页id |
| APPID | String | ✕ | appid |
| CSJID | String | ✕ | csjid |
| AD_CODE_* | String | ✕ | 各类型广告位id |
### 调试模式
```java
// 开发阶段开启(正式环境需关闭)
- LogAd.setDebug(true);
```
### 最佳实践
- 初始化时机在Application.onCreate()中完成初始化
- 隐私合规‌:确保用户已同意隐私政策
- 版本兼容最低支持Android 7.0(API 24)
### 广告开关初始化失败监听
```java
// 重新请求广告开关
ADStateUtils.setSwitchRequestListener(new ADStateUtils.SwitchRequestListener() {
@Override
public void onSwitchRequestChanged() {
AdUtils.getAdvFlag();
}
});
```
### 注意事项
#### ⚠️ 如果开启了混淆
######   [混淆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)
```java
release {
minifyEnabled true // 启用代码混淆
shrinkResources true // 移除未使用资源(需配合混淆)
//激进优化(可能需额外规则适配)
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro',
//要添加的ad混淆
'proguard-rules-ad.pro',
//要添加的base混淆
'proguard-rules-base.pro'
signingConfig signingConfigs.release
}
```
### 注意事项
#### ⚠️ 正式发布前确认:
- 调试日志已关闭
- 所有广告位ID已测试通过
- 符合广告平台政策要求