快速集成安卓版 IPC SDK

更新时间:2023-03-29 02:40:45下载pdf

安卓版 IPC SDK 依赖 智能生活 App SDK 中用户管理、设备配网、家庭管理、设备管理等部分,在此基础上实现了智能摄像机设备的功能。

准备工作

IPC SDK 基于智能生活 App SDK 进行拓展开发,请参考 集成安卓版智能生活 App SDK 完成准备工作。

快速集成

build.gradle 配置

  • 开发项目目录下的 build.gradle 配置如下:

    allprojects {
        repositories {
            ...
            maven {
                url "https://maven-other.tuya.com/repository/maven-releases/"
            }
    	...
        }
    }
    
  • app 目录下的 build.gradle 配置:

    defaultConfig {
    	ndk {
    	   abiFilters "armeabi-v7a","arm64-v8a"
    	}
    }
    packagingOptions {
            pickFirst 'lib/*/libc++_shared.so'
            pickFirst 'lib/*/libyuv.so'
            pickFirst 'lib/*/libopenh264.so'
    }
    dependencies {
    	...
    	implementation 'com.tuya.smart:tuyasmart-ipcsdk:4.0.0-4'
    	...
    }
    
    • IPC SDK 默认支持 armeabi-v7a、arm64-v8a。
    • IPC SDK 默认不支持 P2P 1.0 的设备,即 p2pType 取值为 1。如果需要使用,请添加 implementation 'com.tuya.smart:tuyasmart-ipc-camera-v1:3.20.0' 依赖。

AndroidManifest.xml 设置

AndroidManifest.xml 文件里配置相应的权限。

<!-- sdcard -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 网络 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

混淆配置

proguard-rules.pro 文件配置相应混淆配置。

-keep class com.tuyasmart.**{*;}
-dontwarn com.tuyasmart.**

P2P 1.0 的设备(p2pType 取值为 1)还需要引入以下混淆配置:

 -keep class com.tutk.**{*;}
 -dontwarn com.tutk.**

Demo App

智能生活 App SDK Demo App 中包含了 IPC 设备的控制面板模块。包含以下页面:

  • 直播页面:IPC 设备的 P2P 连接流程,包含实时视频播放,视频录制、截图、对讲等功能。
  • 回放页面:设备存储卡中视频片段的获取与播放,时间轴组件的使用。
  • 云存储页面:云存储服务的开通,状态判断,云存储视频和云存储事件的获取与播放。
  • 消息页面:告警事件的获取与展示。
  • 设置页面:IPC 标准设备功能的使用。