|
|
|
# Android Push SDK 开发指南
|
|
|
|
|
|
|
|
请仔细阅读本文档,以便于您更好的集成sdk的功能
|
|
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
|
|
|
|
|
|
## 1.文档介绍
|
|
|
|
|
|
|
|
### 1.1 文档目的
|
|
|
|
|
|
|
|
利用 Android Push SDK 可以与云直播服务进行对接,在Android端使用视频的推流功能。当前 Android Push SDK 的版本具有直播、聊天、美颜等功能。
|
|
|
|
|
|
|
|
### 1.2 术语和缩写解释
|
|
|
|
|
|
|
|
无
|
|
|
|
### 1.3 最低版本要求
|
|
|
|
Android 4.3
|
|
|
|
|
|
|
|
## 2. SDK使用介绍
|
|
|
|
**在清单文件中配置权限**
|
|
|
|
|
|
|
|
```xml
|
|
|
|
......
|
|
|
|
<uses-permission android:name="android.permission.CAMERA"/>
|
|
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
|
|
|
|
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
|
|
|
<uses-permission android:name="android.permission.FLASHLIGHT"/>
|
|
|
|
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
|
|
|
|
<uses-feature
|
|
|
|
android:name="android.hardware.camera"
|
|
|
|
android:required="true"/>
|
|
|
|
<uses-feature android:name="android.hardware.camera.autofocus"/>
|
|
|
|
......
|
|
|
|
```
|
|
|
|
|
|
|
|
### 2.1 源码集成
|
|
|
|
|
|
|
|
#### 2.1.1 依赖库文件
|
|
|
|
|
|
|
|
**dwpush.jar** : sdk核心库
|
|
|
|
|
|
|
|
**engine-0.8.3.1.jar**:网络核心库
|
|
|
|
|
|
|
|
**dwrtmp.so** : sdk动态库
|
|
|
|
|
|
|
|
在项目build.gradle中配置SDK依赖库
|
|
|
|
|
|
|
|
```groovy
|
|
|
|
......
|
|
|
|
// 推流端核心库
|
|
|
|
implementation files('libs/dwpush.jar')
|
|
|
|
// 网络请求核心库,同播放端SDK相同,解耦出来便于使用
|
|
|
|
implementation files('libs/engine-0.8.3.1.jar')
|
|
|
|
......
|
|
|
|
```
|
|
|
|
#### 2.1.2 加载流程
|
|
|
|
|
|
|
|
复制libs包的jar到工程libs文件夹,将libdwrtmp.so各个cpu架构的库放在src/mian/jinLibs,您就可以使用提供的推流sdk功能了。
|
|
|
|
### 2.2 maven集成
|
|
|
|
|
|
|
|
2.1.0版本开始提供maven集成方式,如果需要使用maven远程引用需要在项目根目录build.gradle中的repositories节点添加
|
|
|
|
|
|
|
|
```groovy
|
|
|
|
maven {
|
|
|
|
http://nexus-app.bokecc.com/repository/sdk-group/
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
然后在需要引用的模块路径下的build.gradle中添加
|
|
|
|
|
|
|
|
```groovy
|
|
|
|
dependencies {
|
|
|
|
implementation 'com.bokecc:dwpush:2.2.0'
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### 2.3 混淆编译
|
|
|
|
|
|
|
|
dwpush.jar 已经混淆过,如果需要对应用进行混淆,需要在混淆的配置文件增加如下代码,防止dwpush的二次混淆:
|
|
|
|
|
|
|
|
```groovy
|
|
|
|
...
|
|
|
|
-keep public class com.bokecc.sdk.mobile.**{*;}
|
|
|
|
-keep public interface com.bokecc.sdk.mobile.**{*;}
|
|
|
|
...
|
|
|
|
```
|
|
|
|
|
|
|
|
## 3. SDK初始化
|
|
|
|
|
|
|
|
### 3.1 主动调用API
|
|
|
|
直播需要主动调用的方法在DWPushEngine.java(DWPushEngine为单例)中,如下:
|
|
|
|
|
|
|
|
| 方法 | 说明 |
|
|
|
|
| :-------------------------------------------------------- | :----- |
|
|
|
|
| init(Context context, boolean isLogOut, boolean isSecure) | 初始化 |
|
|
|
|
初始化必须在登录之前进行
|
|
|
|
|
|
|
|
@param context Application
|
|
|
|
|
|
|
|
@param isLogOut 是否开启日志输出
|
|
|
|
|
|
|
|
@param isSecure 是否使用HTTPS
|
|
|
|
|
|
|
|
```java
|
|
|
|
......
|
|
|
|
DWPushEngine.init(this, true, true);
|
|
|
|
......
|
|
|
|
```
|
|
|
|
|
|
|
|
## 4. 集成说明
|
|
|
|
|
|
|
|
请按照上述配置进行操作,就完成了SDK基本的配置 |
|
|
|
\ No newline at end of file |