云直播直播带货功能接入文档
[TOC]
结构图
时序图
接入方式
本地集成
新增依赖库(动态库) |
接入方式 |
签名选择 |
HDSLiveStoreModule.framework |
下载zip包中 HDSLiveStoreModule 文件夹下,拖入项目中 |
Embed & Sign |
HDSInteractionEngine.framework |
下载zip包中 HDSInteractionEngine 文件夹下,拖入项目中 |
Embed & Sign |
cocoapods 集成
新增依赖库(动态库) |
接入方式 |
是否必须 |
HDSLiveStoreModule.framework |
在Podfile文件中添加: Pod 'HDSLiveStoreModule' |
是 |
HDSInteractionEngine.framework |
在Podfile文件中添加: Pod 'HDSInteractionEngine' |
是 |
新增 API
---------------- 前置条件 ----------------
房间互动功能配置信息(代理方法)
方法 |
注释 |
所在类文件 |
(void)onInteractionFunctionConfig: |
互动功能配置 |
CCSDK/RequestData.h |
示例代码
/// 互动功能配置
/// @param configModel 配置信息
- (void)onInteractionFunctionConfig:(HDSInteractionFunctionModel *)configModel;
HDSInteractionFunctionModel
参数 |
类型 |
注释 |
所在类文件 |
liveStoreModel |
HDSInteractionLiveStoreModel |
直播带货配置 |
CCSDK/PlayParameter.h |
HDSInteractionLiveStoreModel
参数 |
注释 |
所在类文件 |
liveStoreSwitch |
直播带货开关 0:关闭 1:开启 |
CCSDK/PlayParameter.h |
获取互动组件Token(主动方法)
方法 |
注释 |
所在类文件 |
(void)getInteractionTokenWithClosure: tokenClosure: |
获取互动组件 token |
CCSDK/RequestData.h |
示例代码
/// 获取互动组件 token
/// @param closure 操作回调 (result 操作状态, message 信息)
/// @param tokenClosure token回调 " result == YES 时返回token, result == NO 时返回 @""(空字符串) "
- (void)getInteractionTokenWithClosure:(completeHandler)closure
tokenClosure:(interactionTokenClosure)tokenClosure;
---------------- 初始化直播带货组件 ----------------
初始化直播带货组件SDK(主动方法)
方法 |
注释 |
所在类文件 |
(instancetype)initLiveStoreFuncWithConfig: closure: |
初始化直播带货功能 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
/// 初始化直播带货功能
/// @param config 配置项
/// @param closure 操作回调
- (instancetype)initLiveStoreFuncWithConfig:(HDSLiveStoreFuncConfig *)config
closure:(completeHandler)closure;
HDSLiveStoreFuncConfig
参数 |
类型 |
注释 |
所在类文件 |
userId |
String |
用户ID |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
userName |
String |
用户名 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
roomId |
String |
房间ID |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
token |
String |
token |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
viewerId |
String |
观看者Id |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
sourceType |
SourceType(枚举) |
来源类型 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
sourceSDKVersion |
String |
来源SDK版本号 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
uuid |
String |
用户唯一标识 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
typedef NS_ENUM(NSUInteger, SourceType) {
///云直播
SourceTypeLive,
///云课堂
SourceTypeClass,
///云点播
SourceTypeVod,
///获得直播
SourceTypeHDSLive,
};
重载直播带货功能(主动方法)
方法 |
注释 |
所在类文件 |
(void)reloadLiveStoreFuncWithClosure: |
重载直播带货功能 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
/// 重载直播带货功能
/// @param closure 操作回调
- (void)reloadLiveStoreFuncWithClosure:(completeHandler)closure;
---------------- 推送商品 ----------------
获取当前直播间正在进行的推送商品(主动方法)
方法 |
注释 |
所在类文件 |
(void)getPushingItem: closure: pushingItem: |
获取当前直播间正在进行的推送商品 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
/// 获取当前直播间正在进行的推送商品(最小事件间隔大于 2000 ms)
/// @param itemId 商品ID
/// @param closure 操作回调
/// @param pushItemClosure 进行中的推送回调
- (void)getPushingItem:(NSString *)itemId
closure:(completeHandler)closure
pushingItem:(pushItemClosure)pushItemClosure;
// 进行中的推送回调
typedef void (^pushItemClosure)(HDSPushItemModel *model);
HDSPushItemModel
参数 |
类型 |
注释 |
所在类文件 |
id |
String |
商品id |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
title |
String |
商品名称 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
cover |
String |
商品图片 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
originPrice |
Double |
商品原价(单位:分) |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
currentPrice |
Double |
商品现价(单位:分) |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
收到推送商品消息(代理方法)
方法 |
注释 |
所在类文件 |
(void)onPushItem: |
推送商品 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
// 推送商品
- (void)onPushItem:(HDSPushItemModel *)model;
HDSPushItemModel
参数 |
类型 |
注释 |
所在类文件 |
id |
String |
商品id |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
title |
String |
商品名称 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
cover |
String |
商品图片 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
originPrice |
Double |
商品原价(单位:分) |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
currentPrice |
Double |
商品现价(单位:分) |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
收到取消推送商品消息(代理方法)
方法 |
注释 |
所在类文件 |
(void)onCancelPushingItem: |
取消推送 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
// 取消推送
- (void)onCancelPushingItem:(HDSCancelPushItemModel *)model;
HDSCancelPushItemModel
参数 |
类型 |
注释 |
所在类文件 |
id |
String |
商品id |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
---------------- 获取商品列表 ----------------
获取商品列表(主动方法)
方法 |
注释 |
所在类文件 |
(void)getItemList: pageSize: closure: itemsModel: |
获取商品列表 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
/// 获取商品列表
/// @param pageNum 页码 (从 1 开始)
/// @param pageSize 每页展示条数
/// @param closure 操作回调
/// @param itemsClosure 商品列表回调
- (void)getItemList:(NSInteger)pageNum
pageSize:(NSInteger)pageSize
closure:(completeHandler)closure
itemsModel:(itemListClosure)itemsClosure;
typedef void (^itemListClosure)(HDSItemListModel *model);
HDSItemListModel
参数 |
类型 |
注释 |
所在类文件 |
records |
HDSSingleItemModel(Array) |
商品列表 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
pageNum |
HDSItemPageInformationModel(Model) |
分页信息 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
HDSSingleItemModel
参数 |
类型 |
注释 |
所在类文件 |
id |
String |
商品id |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
title |
String |
商品名称 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
cover |
String |
商品图片 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
desc |
String |
商品描述 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
tags |
Array |
商品标签 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
originPrice |
Double |
商品原价(单位:分) |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
currentPrice |
Double |
商品现价(单位:分) |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
buttonTitle |
String |
按钮文案 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
top |
Bool |
是否置顶 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
push |
Bool |
是否推送 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
score |
Integer |
商品序号 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
linkType |
Integer |
链接类型 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
platformLink |
Array |
多平台链接 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
4.8.0 new 新增属性
// 1 多平台链接,0 通用链接!
// 判断,如果是0,走接口获取商品地址,判断如果是1,遍历platformLink,取terminal是2的链接,没有置灰按钮
@property (nonatomic, assign) NSInteger linkType;
// 多平台链接
@property (nonatomic, strong) NSArray <HDSSingleItemPlatformLinkModel *>*platformLink;
4.8.0 new 新增类 (HDSSingleItemPlatformLinkModel )
参数 |
类型 |
注释 |
所在类文件 |
terminal |
Integer |
1 PC, 2 H5 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
link |
String |
链接 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
@interface HDSSingleItemPlatformLinkModel : NSObject
// 1 PC, 2 H5
@property (nonatomic, assign) NSInteger terminal;
// 链接
@property (nonatomic, copy) NSString *link;
@end
HDSItemPageInformationModel
参数 |
类型 |
注释 |
所在类文件 |
pageNo |
Integer |
当前页 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
pageSize |
Integer |
每页显示的数据条数 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
totalCount |
Integer |
商品总数 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
pageCount |
Integer |
总页码 |
HDSLiveStoreModule/HDSLiveStoreConfig.h |
---------------- 获取商品外链 ----------------
获取商品外链(主动方法)
方法 |
注释 |
所在类文件 |
(void)getItemLink: itemType: closure: itemLinkModel: |
获取商品外链 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
/// 获取商品外链(最小事件间隔大于 2000 ms)
/// @param itemId 商品ID
/// @param itemType 商品类型
/// @param closure 操作回调
/// @param itemLinkClosure 商品外链回调
- (void)getItemLink:(NSString *)itemId
itemType:(ItemType)itemType
closure:(completeHandler)closure
itemLinkModel:(itemLinkClosure)itemLinkClosure;
typedef NS_ENUM(NSUInteger, ItemType) {
///商品浮窗
ItemTypeFuchuang,
///列表展示商品
ItemTypeList,
};
typedef void (^itemLinkClosure)(HDSItemLinkModel *model);
HDSItemLinkModel
参数 |
类型 |
注释 |
所在类文件 |
link |
String |
商品外链 |
HDSLiveStoreModule/HDSLiveStoreFuncConfig.h |
---------------- 销毁直播带货 ----------------
销毁直播带货(主动方法)
方法 |
注释 |
所在类文件 |
(void)killAll |
销毁直播带货 |
HDSLiveStoreModule/HDSLiveStoreFunc.h |
示例代码
/// 销毁
- (void)killAll;