50 行
1.1 KiB
Markdown
50 行
1.1 KiB
Markdown
|
|
# sdk-update
|
|||
|
|
|
|||
|
|
XuqmGroup Android SDK 更新模块。提供 App 版本检查和 APK 下载安装能力。
|
|||
|
|
|
|||
|
|
## 依赖
|
|||
|
|
|
|||
|
|
```kotlin
|
|||
|
|
implementation("com.xuqm:sdk-update:VERSION")
|
|||
|
|
implementation("com.xuqm:sdk-core:VERSION") // 必须
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
```kotlin
|
|||
|
|
val result = UpdateSDK.checkUpdate(
|
|||
|
|
appKey = XuqmSDK.appKey,
|
|||
|
|
platform = Platform.ANDROID,
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
if (result.needsUpdate) {
|
|||
|
|
UpdateSDK.downloadAndInstall(context, result.downloadUrl)
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## API
|
|||
|
|
|
|||
|
|
| API | 说明 |
|
|||
|
|
|-----|------|
|
|||
|
|
| `UpdateSDK.checkUpdate(appKey, platform)` | 检查 App 更新 |
|
|||
|
|
| `UpdateSDK.downloadAndInstall(context, url)` | 下载 APK 并调起系统安装器 |
|
|||
|
|
|
|||
|
|
### UpdateResult
|
|||
|
|
|
|||
|
|
```kotlin
|
|||
|
|
data class UpdateResult(
|
|||
|
|
val needsUpdate: Boolean,
|
|||
|
|
val versionName: String?,
|
|||
|
|
val versionCode: Int?,
|
|||
|
|
val downloadUrl: String?,
|
|||
|
|
val changeLog: String?,
|
|||
|
|
val forceUpdate: Boolean?,
|
|||
|
|
)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 工作原理
|
|||
|
|
|
|||
|
|
- `downloadAndInstall` 将 APK 下载到 `getExternalFilesDir(null)`,通过 `FileProvider` 触发系统安装
|
|||
|
|
- AndroidManifest 中已配置 `@xml/file_paths`(`external-files-path`)
|
|||
|
|
- 支持 WebSocket 实时推送更新通知
|