有奖捉虫:行业应用 & 管理与支持文档专题 HOT

第一步:集成

平台支持
平台
SDK 及兼容性
SDK 及 Demo
Android
最低兼容 Android 5.1(SDK API Level 22),建议使用 Android 5.1 (SDK API Level 22)及以上版本。
1. 填写 申请表 进行申请。
2. 完成申请后,相关工作人员将联系您进行需求沟通,并提供对应 SDK 及 Demo。
集成方法 详情请参见 集成指南

第二步:接入准备

说明:
开始使用 SDK 前,我们还需要获取AccessIdAccessToken,获取方式如下:
AccessId: 指外部访问 IoT Video(Consumer Version) 云平台的唯一性身份标识。
AccessToken: 登录成功后 IoT Video(Consumer Version) 云服务器返回的AccessToken
1. 获取 AccessId
用户自有账号体系可以采用云对接的方式实现账户体系相关业务,详情请参见 终端用户注册
2. 获取 AccessToken 用户自有账号体系可以采用云对接的方式实现账户体系相关业务,详情请参见 终端用户接入授权

第三步:SDK 初始化

1. 初始化 在您的 App 调用 SDK 相关功能之前(建议在 Application 类中)进行如下设置:
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();

// 初始化
IoTVideoSdk.init(getApplicationContext(), null);

//*** 需要收集SDK日志时,请设置日志文件夹路径以及日志级别 ***
// 1.设置日志文件夹路径
IoTVideoSdk.setLogPath("日志路径")//eg: getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS) + File.separator + "xLog"
// 2.设置日志级别
IoTVideoSdk.setDebugMode(IoTVideoSdk.LOG_LEVEL_DEBUG)
}
}
2. 注册 账号注册登录成功后,即可获取到 accessId、accessToken,调用 SDK 注册接口:
IoTVideoSdk.register(accessId, accessToken);
说明:
对设备的操作都依赖于上述两个参数的加密校验,非法参数将无法操作设备。

第四步:配网

通过 SDK 集成 和初始化,我们已经可以正常使用 SDK,即可为设备配置上网环境。
1. 设备联网 设备配网模块用来为设备配置上网环境,目前支持以下配网方式:
有线配网
扫码配网
AP 配网
说明:
并非任意设备都支持以上所有配网方式,具体支持的配网方式由硬件和固件版本决定。详情请参见 设备配网
2. 设备绑定 具体操作请参见 终端用户绑定设备接口 进行设备绑定。

第五步:监控

使用内置的多媒体模块可以轻松实现设备监控。
1. 布局添加 IotVideoView
<com.tencentcs.iotvideo.iotvideoplayer.IoTVideoView
android:id="@+id/tencentcs_gl_surface_view"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="H,16:9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

2. 使用
import com.tencentcs.iotvideo.iotvideoplayer.*;

//监控播放器
MonitorPlayer monitorPlayer = new MonitorPlayer();
//如果是多源设备(NVR),创建监控播放器时应指定源ID,该方法的三个参数分别代表:设备ID、视频清晰度、源ID
//monitorPlayer.setDataResource(mDeviceId, definition, sourceId);
//如果设备不支持多源,不要设置源ID
monitorPlayer.setDataResource(mDeviceId);
IoTVideoView mVideoView = findViewById(R.id.tencentcs_gl_surface_view);
monitorPlayer.setVideoView(mVideoView);
//开始播放
monitorPlayer.play()
//暂停
monitorPlayer.stop()
//释放
monitorPlayer.release()
具体操作请参见 多媒体

第六步:消息管理

监听物模型、事件消息和 App 上线通知
//ProReadonly状态消息
IotVideoSdk.getMessageMgr().addModelListener(new IModelListener() {
@Override
public void onNotify(ModelMessage data) {
//todo
}
});

//Event事件消息
IotVideoSdk.getMessageMgr().addEventListener(new IEventListener() {
@Override
public void onNotify(EventMessage data) {
//todo
}
});

//App上线通知
IoTVideoSdk.getMessageMgr().addAppLinkListener(new IAppLinkListener() {
@Override
public void onAppLinkStateChanged(int i) {
//todo
}
});
获取物模型
//获取ProReadonly/ProWritable数据
IotVideoSdk.getMessageMgr().readProperty(123456789, "ProReadonly", new com.tencentcs.iotvideo.messagemgr.IResultListener<ModelMessage>() {
@Override
public void onStart() {

}

@Override
public void onSuccess(ModelMessage msg) {

}

@Override
public void onError(int errorCode, String errorMsg) {

}
});
设置物模型
//发送Action/ProWritable数据
IotVideoSdk.getMessageMgr().writeProperty(123456789, "ProWritable._logLevel",
"{"setVal":0}", new com.tencentcs.iotvideo.messagemgr.IResultListener<ModelMessage>() {
@Override
public void onStart() {

}

@Override
public void onSuccess(ModelMessage msg) {

}

@Override
public void onError(int errorCode, String errorMsg) {

}
});
具体操作请参见 消息管理

第七步:云存储

获取回放的 m3u8 列表
在购买云存储服务后,可以通过以下方式查询设备上传到云端的 m3u8 列表:
VasMgr.getVasService().cloudStoragePlayback(mDevice.getDevId()/**设备ID**/, 28800/**时区**/,
mPlaybackStartTime/**开始时间**/,
mPlaybackEndTime/**结束时间**/, new SubscriberListener() {
@Override
public void onStart() {

}

@Override
public void onSuccess(@NonNull JsonObject response) {
//成功获取到回放m3u8列表
}

@Override
public void onFail(@NonNull Throwable e) {
//获取到回放m3u8列表失败
});
具体操作请参见 云存储