基础功能
更新时间:2021-05-25
概述
本文主要介绍了 SDK 功能中的常用功能和注意事项,例如初始化、登录和登出、获取直播列表、打开开播页、用户状态监测、订单信息获取等。
1. 初始化
- 在
Appdelegate.m
导入LinkliveSDK.h
- 在启动方法中调用 SDK 初始化函数,设置 SDK 代理对象
- 在代理对象中实现
agreePrivacyPolicyWithCompletion
方法,应用在欧盟发布同时需要在代理对象中实现hasAgreeGDPR
方法。
初始化SDK
#import <LinkliveSDK/LinkliveSDK.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[LinkliveSDK sharedInstance] initSDKWithAppid:appID appSecret:appSecret];
[LinkliveSDK sharedInstance].delegate = self;
return(YES);
}
实现必备代理
因为在观看直播和开播功能中会对当前的隐私协议授权状态做校验,没有得到授权会影响功能的使用,如果想要正常使用SDK中的全部功能需要在agreePrivacyPolicyWithCompletion返回正确的隐私协议授权状态。
- (BOOL)agreePrivacyPolicyWithCompletion:(void (^)(BOOL hasAgree) )completionBlock
{
return YES;
}
如果应用在欧盟地区发布,需要GDPR授权,如果授权失败,直播和开播功能不可用。
- (BOOL)hasAgreeGDPR {
return YES;
}
2. 登录账号
接入方 APP 在登录成功后,需要通过 server to server
交互 获取到 openID 和 token 后调用 SDK 接口进行绑定登录。具体获取 openID 和 token 可参考 服务端 SDK 集成 文档。
/// Called when login LinkV acount server successfully
/// @param originUid origin user uid
/// @param openID LinkV openID
/// @param token LinkV user token
- (void)onLoginSuccessWithOriginUid:(NSString *)originUid openID:(NSString *)openID token:(NSString *)token;
/// Called when the user logout
- (void)onLogout;
/// login status check
- (BOOL)isUserLogin;
3. 开始直播
开播过程中SDK会对当前客户端的摄像头和麦克风权限进行检测和申请,需要用户同意并授权才能使用直播功能,直播准备页面可以上传自定义直播封面、填写直播标题、选择直播标签、使用美颜滤镜开播。调用 fetchVideoListData 方法实现直播。
/// Start broadcast
- (void)startBroadcast;
4. 跳转到指定直播间
SDK 提供 通过 调用jumpToLiveRoomWithVid方法跳转到指定直播间的功能,传递 vid 给 SDK,SDK 会跳转到指定直播间。
/// Jump to the live room of the specified vid
/// @param vid vid
- (void)jumpToLiveRoomWithVid:(NSString *)vid;
5. 跳转登录
当用户没有登录时,点击直播间关注、送礼等会触发该回调方法,需在该方法中实现登录的相关操作。
/// Trigger login
- (void)startLogin;
6. 跳转商品详情回调
当点击直播间商品列表的商品条目和购买时会触发该回调方法,可在该方法中根据商品数据实现跳转商品详情的操作。
/// Jump to product details
/// @param commodityModel Commodity data
- (void)onAddToCart:(NSDictionary *)commodityModel complete:(void (^)(BOOL success, NSInteger count))completionBlock;
7. 获取购物车数量回调
当进入直播间时SDK会触发该回调方法,需在该方法中把当前购物车的商品数量回调给SDK进行刷新购物车数量。
/// Jump to product details
/// @param count cart count
- (void)updateShopCartCount:(NSInteger)count;
8. 跳转购物车页面回调
当点击购物车按钮时会触发该回调方法,可在该方法中实现跳转购物车页面的操作。
/// Jump to shopping cart page
- (void)onClickCart;
9. 点击小窗回调
当从直播间跳转其他页面(比如跳转到商品详情页和跳转到购物车页面)时会显示小窗,可通过小窗观看直播。
当点击直播小窗时会触发该回调方法,可在该方法中实现点击小窗后的相关的操作。
/// Click on the small window callback
- (void)onClickLiveStreamWindow;
10. 进入直播间回调
当进入直播间时会触发该回调方法,可在该方法中进行进入直播间的相关操作。
/// Enter the live room
/// @param scene
- (void)liveRoomWillAppear:(LMLiveScebe)scene;
11. 离开直播间回调
当离开直播间时会触发该回调方法,可在该方法中进行离开直播间的相关操作。
/// Leaving the live room
/// @param lmLiveScebe
- (void)liveRoomWillDisappear:(LMLiveScebe)scene;
12. 主动更新购物车数量
当需要主动更新购物车数量时(比如加入购物车后)可调用该方法,进行更新直播间购物车数量的操作。
/// Update shopping cart quantity
/// @param count Number of shopping carts
- (void)updateShopCartCount:(NSInteger)count;