基础进阶
更新时间:2021-05-25
概述
本文主要介绍了 SDK 的进阶功能,包括金融、分享,推送、数据埋点、私信、等相关的处理。
进阶使用
金融系统
想要使用充值和送礼等金融功能,需要打通 SDK 和接入方的金融系统。
SDK 提供了一个回调代理,点击 SDK 中充值按钮,SDK 会生成订单,然后会把订单号通过 onBuyGoldWithOrderId
代理方法抛出去。
代理方法
/**
* orderId 订单id
* source 订单类型
* success 充值状态
* coinCount 充值金币数量
**/
- (void)onBuyGoldWithOrderId:(NSString *)orderId source:(LMRechargeSource)source completion:(void (^)(BOOL success, NSInteger coinCount, NSString * orderId) )completionBlock;
分享功能
SDK 支持分享功能,SDK 提供分享所需要的数据,分享功能需要在接入方客户端进行实现 shareWithContent
代理方法完成分享。
代理方法
- 接入方实现此代理方法,在此代理方法中实现分享功能。
/**
* @desc 分享代理回调方法
* @param shareContent 分享数据实例
* @param superView 分享面板展示容器视图
**/
- (void)shareWithContent:(LMVideoShareContent *)shareContent superView:(UIView *)superView;
分享数据
LMVideoShareContent
@property (nonatomic, copy) NSString *subject; /* 标题 */
@property (nonatomic, copy) NSString *content; /* 内容 */
@property (nonatomic, copy) NSString *contentURL; /* 链接url */
@property (nonatomic, copy) NSString *imageURL; /* 图片链接 */
@property (nonatomic, strong) NSString *vid; /* 媒体id */
@property (nonatomic, strong) NSString *streamerName; /* 主播名字 */
@property (nonatomic, assign) NSInteger sourceType; /* 资源类型 */
@property (nonatomic, strong) UIImage *image; /* 图片 */
@property (nonatomic, strong) NSURL *videoUrl; /* 视频url */
@property (nonatomic, assign) CMLShareContentType type;
数据埋点
SDK 目前已经通过代理方法 onDataTrack
对一些关键的数据回调给接入方,接入方可以针对数据做埋点统计等。
代理方法
- (void)onDataTrack:(KEWLDataTrackModel *)dataTrackModel;
数据信息
@interface KEWLDataTrackModel : NSObject
/* required */
@property (nonatomic, assign) DataTrackType type; /*上报类型 */
@property (nonatomic, copy) NSString *uid; /* 用户id */
@property (nonatomic, copy) NSString *user_area; /* 用户区域 */
/* Watch Live */
@property (nonatomic, copy) NSString *watch_live_video_vid; /* 直播id */
@property (nonatomic, copy) NSString *watch_live_broadcaster_nick_name; /* 主播昵称 */
@property (nonatomic, copy) NSString *watch_live_broadcaster_gender; /* 主播性别 */
@property (nonatomic, copy) NSString *watch_live_broadcaster_age; /* 主播年龄 */
/* Send Gift */
@property (nonatomic, copy) NSString *send_gift_id; /* 礼物id */
@property (nonatomic, copy) NSString *send_gift_price; /* 礼物价格 */
/* Follow/UnFollow */
@property (nonatomic, assign) BOOL follow_is_follow; /* follow状态,(关注还是取消关注) */
@property (nonatomic, copy) NSString *follow_followers_gender; /* 被关注性别 */
@property (nonatomic, copy) NSString *follow_followers_age; /* 被关注年龄 */
@property (nonatomic, copy) NSString *pull_stream_succ_vid; /* 拉流的流id */
@property (nonatomic, copy) NSString *send_comment_vid; /* 评论id */
@property (nonatomic, copy) NSString *panel_click_vid; /* 礼物面板点击的礼物id */
@property (nonatomic, copy) NSString *send_gift_succ_gift_id; /* 成功送出的礼物id */
@property (nonatomic, copy) NSString *send_gift_succ_vid; /* 成功送礼的直播id */
@property (nonatomic, copy) NSString *customer_share_vid; /* 被观众分享的直播id */
@property (nonatomic, copy) NSString *tab_click_tab_name; /* 被点击的tab名字 */
@property (nonatomic, copy) NSString *use_filter_filter_name; /* 滤镜名字 */
@property (nonatomic, copy) NSString *request_permission_per_type; /* 权限类型(摄像头,麦克风) */
@property (nonatomic, assign) BOOL rank_page_follow_click_follow_status; /* 榜单页面点击关注还是取消关注 */
@property (nonatomic, copy) NSString *rank_page_follow_click_follow_uid; /* 榜单中被关注的uid */
@end
推送功能
SDK 提供自定义推送功能,需要由 我方服务端
调用 接入方服务端
实现相关推送,可实现主播开播提示发送通知,点击通知栏进入直播间
,私信消息通知,功能等。可具体联系 LinkV 商务人员,进行了解对接推送功能。
调用示例
接入方客户端收到推送的 url 后,触发 routeWithURI
方法,打开直播间。
[[LinkliveSDK sharedInstance] routeWithURI:path];
私信
SDK 提供了私信的功能,可调用 SDK openMessageList
方法打开私信列表页面,具体是否开启私信功能可通过开发者平台进行配置,联系 LinkV 进行开启功能。
调用示例
私信列表页面
1. 调用该方法,进入 [[LinkliveSDK sharedInstance] openMessageList];
消息未读
数字
2. 用该方法,获取私信 [[LinkliveSDK sharedInstance] getChatUnReadNum];
代理方法
未读消息数字
/// update unread message number callback
/// @param number chat unred number
- (void)updateChatUnReadNum:(NSInteger)number;