海康威视云眸_海康云眸使用说明

海康威视云眸_海康云眸使用说明SDK集成步骤:1.将从官网https://www.hik-cloud.com/poseidon/index.html#/download上下载的HikCloudOpenSDK-1.0.3.aar放到libs目录下,

海康威视云眸_海康云眸使用说明"

功能:

这里仅用到了视频监控;

官网上的功能:

1. 快速搭建云监控系统

   扫码快速添加设备,提供海量设备管理与流媒体并发能力,随时随地查看云端视频,无需任何运营及运维管理成本投入

2. 让门店标准化管理更简单

  远程巡查考评、员工考勤签到、异常POS单回溯,提供高效标准化管理工具,让门店现场变的触手可及

3. 掌握数据,指导运营优化

  提供门店客流量统计、区域滞留分析、到店顾客群体分析、会员/回头客分析、车牌识别推送等功能,帮助企业掌握营销场景情况及顾客画像 ,丰富线下数据

SDK集成步骤:

1. 将从官网https://www.hik-cloud.com/poseidon/index.html#/download  上下载的HikCloudOpenSDK-1.0.3.aar放到libs目录下,并在build.gradle中添加:

android{
    defaultConfig {
        ...
        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    ...
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

   并添加依赖:

dependencies {  
    implementation(name: 'CloudOpenSDK-x.x.x',ext:'aar') //x.x.x对应的是SDK的版本号  
    implementation 'com.google.code.gson:gson:2.8.5'  
    implementation 'com.squareup.okhttp3:okhttp:3.8.1'  //3.8.1或以上
    implementation 'javax.jmdns:jmdns:3.4.1'  
}

2. 配置权限

//网络状态权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
//网络权限
<uses-permission android:name="android.permission.INTERNET"/>
//录音权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />
//存储权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3. SDK初始化:

   3.1 先通过接口:https://api2.hik-cloud.com/oauth/token   获取accessToken,返回的数据中除了accessToken外,还有一个accessToken的剩余过期时间expires_in

private void getAuthToken() {
        OkHttpUtils.post().url("https://api2.hik-cloud.com/oauth/token")
                .addParams("client_id",Const.CLIENT_ID)
                .addParams("client_secret",Const.CLIENT_SECRET)
                .addParams("grant_type","client_credentials")
                .addParams("scope","app").build()
                .execute(new StringCallback() {
            @Override
                    public void onError(Call call, Exception e, int id) {
                        Log.e(TAG,"initIot e="+e.toString());
                    }

                    @Override
                    public void onResponse(String response, int id) {
                        Log.e(TAG,"initIot response="+response.toString());
                        //{"access_token":"136f9a7c-89b2-430c-9f22-eca69d90e4e4","token_type":"bearer","refresh_token":null,"scope":"app","expires_in":258213}
                        try {
                            JSONObject object = new JSONObject(response);
                            SPUtils.setData("access_token",object.getString("access_token"));
                            long expiresTime = object.getLong("expires_in");
//                            DateUtils.periodToString(Const.expiresTime*1000);
                            Date date = DateUtils.getDateAfterSeconds(new Date(),expiresTime);
                            initIot();
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                });
    }

  默认情况下,Access Token 有效期为7天,开发者需要对 Access Token的有效性进行判断,若调用API时返回Http状态码为401,则说明Access Token已失效,重新获取即可。

3.2 用获取到的accessToken,对SDK进行初始化;

private void initIot() {
        CloudOpenSDK.getInstance().setLogDebugMode(true)  默认日志开关状态:打开,正式发布需要关掉
                //sdk数据缓存加密开关(例如SP存储),放在init()方法前设置
                .setDataCacheEncrypt(true,"123456")
                .init(this, SPUtils.getString("access_token"), new OnCommonCallBack() {
            @Override
                    public void onSuccess() {
                        Log.d(TAG, "初始化成功");
                    }

                    @Override
                    public void onFailed(Exception e) {
                        Log.d(TAG, "初始化失败"+e.toString()+","+e.getMessage()+",");
                        if (e.getMessage().equals("认证失败")) {
                            getAuthToken();
                        }
                    }
                });
    }

4. 代码混淆:

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

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

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

-dontwarn com.neutral.netsdk.**
-keep class com.neutral.netsdk.** { *;}

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

-dontwarn com.hikvision.audio.**
-keep class com.hikvision.audio.** { *;}

-dontwarn com.hikvision.keyprotect.**
-keep class com.hikvision.keyprotect.** { *;}

-dontwarn com.hikvision.sadp.**
-keep class com.hikvision.sadp.** { *;}

-dontwarn com.hikvision.netsdk.**
-keep class com.hikvision.netsdk.** { *;}

-dontwarn com.hikvision.wifi.**
-keep class com.hikvision.wifi.** { *;}

-dontwarn com.hikvision.cloud.sdk.**
-keep class com.hikvision.cloud.sdk.** { *;}

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

-dontwarn okhttp3.**
-keep class okhttp3.** { *;}

-dontwarn com.mediaplayer.audio.**
-keep class com.mediaplayer.audio.** { *;}

-dontwarn org.MediaPlayer.PlayM4.**
-keep class org.MediaPlayer.PlayM4.** { *;}

-dontwarn com.sun.jna.**
-keep class com.sun.jna.**{*;}

#Gson混淆配置
-keepattributes Annotation
-keep class sun.misc.Unsafe { *; }
-keep class com.idea.fifaalarmclock.entity.*
-keep class com.google.gson.stream.* { *; }

#引用mars的xlog,混淆配置
-keep class com.tencent.mars.** {
 public protected private *;
}

 

 

今天的文章海康威视云眸_海康云眸使用说明分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/67111.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注