# appzxhy

用来当母包使用,master就是商业化的分支
其中不同的分支,比如：master-recovery 就是文件恢复的母包。

## Business 模块架构

`com.simplecleaner.app.business` 是应用的核心业务逻辑模块，负责处理广告、推送、计费、服务等关键功能。

### 📁 目录结构

```
business/
├── ads/           # 广告管理模块
├── helper/        # 工具类模块
├── service/       # 后台服务模块
├── push/          # 推送通知模块
└── billing/       # 计费订阅模块
```

### 🎯 核心功能模块

#### 1. 广告管理模块 (`ads/`)

**主要功能**: 统一管理多种广告平台的广告展示

**核心组件**:
- **`AdsMgr.kt`** - 广告管理器，统一入口
  - 管理AdMob、AppLovin等广告平台
  - 支持开屏、插屏、原生、横幅广告
  - 广告初始化、加载、展示控制

- **`AdEvent.kt`** - 广告事件管理
- **`AdState.kt`** - 广告状态管理
- **`LimitUtils.kt`** - 广告展示限制工具
- **`AdCountDownDialog.kt`** - 广告倒计时对话框

**子模块**:
- **`admob/`** - Google AdMob广告实现
  - `AdOpenMgr.kt` - 开屏广告管理
  - `AdInterMgr.kt` - 插屏广告管理
  - `AdNativeMgr.kt` - 原生广告管理
  - `AdBannerMgr.kt` - 横幅广告管理
  - `AdmobEvent.kt` - AdMob事件处理

- **`applovin/`** - AppLovin广告实现
  - `MaxOpenMgr.kt` - 开屏广告管理
  - `MaxInsertMgr.kt` - 插屏广告管理
  - `MaxNativeMgr.kt` - 原生广告管理
  - `AdMaxEvent.kt` - AppLovin事件处理

**广告类型**:
- 开屏广告 (Open Ad)
- 插屏广告 (Interstitial Ad)
- 原生广告 (Native Ad)
- 横幅广告 (Banner Ad)

#### 2. 工具类模块 (`helper/`)

**主要功能**: 提供各种业务工具和辅助功能

**核心组件**:
- **`EventUtils.kt`** - 事件上报工具
  - 统一的事件上报接口
  - 支持加密数据传输
  - 设备信息收集和上报
  - 网络请求和错误处理

- **`InstallHelper.kt`** - 安装来源追踪
  - Google Play安装来源获取
  - 用户来源分析（自然用户/渠道用户）
  - 安装事件上报

- **`AESHelper.kt`** - AES加密工具
  - 数据加密和解密
  - 使用GCM模式保证安全性
  - 支持Base64编码

- **`NewComUtils.kt`** - 配置管理工具
  - 远程配置获取和解析
  - 配置缓存管理
  - 配置更新机制

#### 3. 后台服务模块 (`service/`)

**主要功能**: 提供后台常驻服务

**核心组件**:
- **`StayJobService.kt`** - 常驻Job服务
  - 使用JobScheduler保持应用活跃
  - 前台服务通知管理
  - 定时任务执行

- **`StayNotification.kt`** - 常驻通知管理
  - 创建和管理常驻通知
  - 通知样式定制
  - 通知更新机制

#### 4. 推送通知模块 (`push/`)

**主要功能**: 管理应用内推送通知

**核心组件**:
- **`MyNotificationManager.kt`** - 通知管理器
  - 通知队列管理
  - 发送限制控制
  - 通知统计

- **`NotificationUiUtil.kt`** - 通知UI工具
  - 通知样式构建
  - 自定义RemoteViews
  - 通知渠道管理

- **`NotificationHoverUtils.kt`** - 悬停通知
  - 悬停通知发送
  - 定时通知管理
  - 协程任务控制

- **`NotificationBeanUtils.kt`** - 通知数据工具
  - 通知数据解析
  - 图片下载和处理
  - 圆角图片生成

#### 5. 计费订阅模块 (`billing/`)

**主要功能**: Google Play订阅管理

**核心组件**:
- **`GoogleSubUtil.kt`** - Google订阅工具
  - 订阅产品查询
  - 购买流程管理
  - 订阅状态监控
  - 购买验证和确认
  - 支持年、月、周订阅

**订阅功能**:
- 产品详情获取
- 购买流程处理
- 订阅状态管理
- 购买事件上报
- Firebase Analytics集成

### 🔧 核心业务流程

#### 1. 应用初始化流程
```
1. InstallHelper.init() - 获取安装来源
2. NewComUtils.requestCfg() - 获取远程配置
3. AdsMgr.init() - 初始化广告SDK
4. 配置解析和缓存
```

#### 2. 广告展示流程
```
1. 检查广告开关配置
2. 验证展示限制条件
3. 加载广告内容
4. 展示广告
5. 事件上报
```

#### 3. 推送通知流程
```
1. 检查推送限制条件
2. 生成通知内容
3. 发送通知
4. 悬停通知处理
5. 统计上报
```

#### 4. 订阅购买流程
```
1. 连接Google Play Billing
2. 查询产品详情
3. 发起购买流程
4. 处理购买结果
5. 更新VIP状态
6. 事件上报
```

### 📊 数据上报

**事件类型**:
- 广告相关事件 (ad_*)
- 安装来源事件 (install_referrer)
- 用户类型事件 (user_type)
- 订阅购买事件 (google_billing_*)
- 服务状态事件 (StayJobService_*)

**上报内容**:
- 设备信息 (厂商、系统版本、设备ID)
- 应用信息 (版本号、包名、渠道)
- 用户行为 (广告点击、购买行为)
- 错误信息 (网络错误、解析错误)

### 🔒 安全机制

1. **数据加密**: 使用AES-GCM加密敏感数据
2. **来源验证**: 验证安装来源的真实性
3. **配置验证**: 远程配置的完整性检查
4. **购买验证**: Google Play购买结果验证

### 🚀 性能优化

1. **缓存机制**: 配置和广告内容缓存
2. **异步处理**: 使用协程处理耗时操作
3. **资源管理**: 及时释放广告和图片资源
4. **网络优化**: 请求超时和重试机制

### 📱 兼容性

- **Android版本**: 支持Android 5.0+ (API 21+)
- **广告平台**: AdMob、AppLovin
- **计费平台**: Google Play Billing Library
- **推送服务**: Firebase Cloud Messaging

### 🔄 配置管理

**远程配置项**:
- 广告开关和配置
- 推送通知设置
- 用户类型标识
- 功能开关控制

**本地缓存**:
- 配置数据缓存
- 安装来源缓存
- VIP状态缓存
- 事件上报状态

这个business模块为应用提供了完整的商业化基础设施，包括广告变现、用户分析、订阅收入等核心功能。



