基础功能

更新时间:2021-05-25

概述

本文主要介绍了 SDK 功能中的常用功能和注意事项,例如初始化、登录和登出、获取直播列表、打开开播页、用户状态监测、订单信息获取等。

1. 初始化

  1. Appdelegate.m 导入 LinkliveSDK.h
  2. 在启动方法中调用 SDK 初始化函数,设置 SDK 代理对象
  3. 在代理对象中实现 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;