增值服务 2.0

更新时间:2024-11-14 05:35:21下载pdf

增值服务 UI 业务包提供 IPC 增值服务 v2.0 框架下的各类 IPC 增值服务,涵盖了 C 端用户在增值服务购买和使用过程中的全部功能,包括商品展示、下单购买、服务查询和订单展示等。

通过与 IPC 增值服务业务包的对接,您能够快速便捷地集成和应用多项增值服务,例如 IPC 云存储服务、托管服务、视频巡检服务、4G 流量服务以及 AI 事件服务等。

SDK 和 UI 业务包需要更新至 v5.17.0 及以上版本,才能使用增值服务 v2.0。

准备工作

在集成之前,请先熟悉 UI 业务包 的准备工作和接入流程。详情请参考 框架接入

接入组件

项目配置

在模块 build.gradle 中,配置 dependencies 依赖。

dependencies {
    api enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:${biz_bom_version}")
    api "com.thingclips.smart:thingsmart-bizbundle-camera"
    api "com.thingclips.smart:thingsmart-bizbundle-miniapp"
    api "com.thingclips.smart:thingsmart-bizbundle-homekit"
    api "com.thingclips.smart:thingsmart-bizbundle-ipckit"
    api "com.thingclips.smart:thingsmart-ipcsdk:${ipc_sdk_version}}"
     //... 其他配置
    api "com.thingclips.smart:thingsmart:${sdk_version}}"
}
  • 为了提升性能和用户体验,强烈建议使用小程序 UI 业务包。
  • H5 增值服务业务包不再迭代,请及时切换至小程序 UI 业务包。

注意事项

  • 调用接口之前,务必确认用户已登录。
  • 增值服务和平台配置相关,使用对应功能前,确认设备支持该增值服务。
  • 接口返回具体 URL,通过 UrlRouter.execute(urlBuilder) 进行页面跳转。
  • 分享设备不能购买增值服务。

增值服务首页

接口说明

 void fetchValueAddedServiceUrl(CameraVASParams params, OperationCallBack callback);
参数 类型 说明
params CameraVASParams 请求参数
callback OperationCallBack 回调

CameraVASParams

参数 类型 说明
devId String 设备 ID
spaceId String 空间 ID,传入 homeId
languageCode String 标准语言码
hybridType int 程序类型,ThingIPCConstant
categoryCode String 增值服务品类码,ThingIPCConstant
extInfo Object 扩展信息

增值服务品类码常量

ThingIPCConstant 常量 说明
ThingIPCConstant.CATEGORY_CODE_SECURITY_CLOUD_SERVICE 云存储服务
ThingIPCConstant.CATEGORY_CODE_AI_SERVICE AI 事件服务
ThingIPCConstant.CATEGORY_CODE_TRAFFIC_SERVICE 4G 流量充值服务
ThingIPCConstant.CATEGORY_CODE_AI_INSPECTION_SERVICE 巡检报告服务

程序类型常量

ThingIPCConstant 常量 说明
ThingIPCConstant.HYBRID_TYPE_H5 H5 页面
ThingIPCConstant.HYBRID_TYPE_MINI_APP 小程序

巡检报告页

接口说明

   void fetchInspectionDetailUrl(CameraVASInspectionParams params, OperationCallBack callback);

参数 类型 说明
params CameraVASInspectionParams 请求参数
callback OperationCallBack 回调

CameraVASInspectionParams

字段 类型 描述
spaceId String 空间 ID,传入 homeId
devId String 设备 ID
time long 时间,从 CameraMessageBean 中获取
reportId String 报告 ID,即 CameraMessageBeangetExtendParams 属性中的inspectionReportId
languageCode String 标准语言码
hybridType int 程序类型,ThingIPCConstant
extInfo Object 扩展信息

示例代码


CameraVASParams cameraVASParams = new CameraVASParams();
cameraVASParams.devId = mDevId;
cameraVASParams.spaceId = FamilyManagerUtils.getCurrentHomeId()+"";
cameraVASParams.languageCode = "zh";
cameraVASParams.categoryCode = ThingIPCConstant.CATEGORY_CODE_AI_INSPECTION_SERVICE;
cameraVASParams.hybridType = ThingIPCConstant.HYBRID_TYPE_MINI_APP;
ThingIPCSdk.getIPCVAS().fetchValueAddedServiceUrl(cameraVASParams, new OperationCallBack(){

            @Override
            public void onSuccess(int sessionId, int requestId, String data, Object camera) {
                Bundle bundle = new Bundle();
                bundle.putString("url", data);
                UrlBuilder builder = new UrlBuilder(mContext, "miniApp").putExtras(bundle);
                UrlRouter.execute(builder);
            }

            @Override
            public void onFailure(int sessionId, int requestId, int errCode, Object camera) {

            }
        });

//巡检报告
CameraMessageBean *messageBean;
CameraVASInspectionParams params = new CameraVASInspectionParams();
params.devId = mDevId;
params.spaceId = FamilyManagerUtils.getCurrentHomeId()+"";
params.languageCode = "zh";
params.time = messageBean.getTime();
params.reportId = messageBean.getExtendParams() == null ? "" : String.valueOf(messageBean.getExtendParams().get("inspectionReportId"));
params.hybridType = ThingIPCConstant.HYBRID_TYPE_MINI_APP;

ThingIPCSdk.getIPCVAS().fetchInspectionDetailUrl(params, new OperationCallBack(){

    @Override
    public void onSuccess(int sessionId, int requestId, String data, Object camera) {
        Bundle bundle = new Bundle();
        bundle.putString("url", data);
        UrlBuilder builder = new UrlBuilder(mContext, "miniApp").putExtras(bundle);
        UrlRouter.execute(builder);
    }

    @Override
    public void onFailure(int sessionId, int requestId, int errCode, Object camera) {

    }
});

云存储

是否支持云存储

跳转云存储购买页前,请先确认设备是否支持云存储服务,可通过 支持云存储 进行判断。

查看和播放云存储视频

开通云存储服务后,可以查看和播放云存储视频。详细 API 请参考 云存储