基础功能
更新时间:2020-10-16
概述
本文主要介绍了 SDK 功能中的常用功能和注意事项,例如初始化、登录和登出、获取直播列表、打开开播页、用户状态监测、跳转商品详情、获取购物车数量、跳转购物车页面、点击小窗、进入直播间、离开直播间、主动更新购物车数量等。
初始化SDK
- 在
Application
的onCreate
方法中设置SDK监听回调对象。 - 设置完成SDK监听回调后,调用 SDK 初始化函数
initSdk
,对 SDK 进行初始化操作。 - 实现必备接口
agreePrivacyPolicyWithCompletion
隐私协议授权方法。
设置SDK监听回调对象
在使用 SDK 之前需要设置 SDK 监听回调,创建一个类(例如:LinkliveImpl
)继承LinkliveInterfaceAbs
类。
调用示例:
public class LinkliveImpl extends LinkliveInterfaceAbs {
}
创建完成后调用setLinkliveInterface
方法进行设置SDK的监听回调。
调用示例:
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
//Set SDK callback
LinkliveSDK.getInstance().setLinkliveInterface(new LinkliveImpl());
}
}
initSDK 初始化SDK
从开发者平台 拿到appID
和appSecret
传入initSDK
方法中,进行初始化SDK。
- 调用示例
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
//Set SDK callback
LinkliveSDK.getInstance().setLinkliveInterface(new LinkliveImpl());
//The appid and app_secret are obtained after the application is created by registering the developer platform. The appid and app_secret below are for testing purposes only
String appID = getResources().getString(R.string.linklive_app_id);
String appSecret = getResources().getString(R.string.linklive_app_secret);
//initSDK
LinkliveSDK.getInstance().initSDK(this, appID,appSecret ,new TokenCallback() {
/**
* Token invalid callback
* @param url
* @param status
* @param rawResponse
*/
@Override
public void onTokenExpire(String url, int status, String rawResponse) {
}
/**
* Call back this function when the current user is blocked in the live broadcast room.
*/
@Override
public void onUserBlocked() {
}
});
}
}
实现必备回调方法
- 因为在观看直播和开播功能中会对当前的隐私协议授权状态做校验,没有得到授权会影响以上功能的使用,如果想要正常使用 SDK 中的全部功能需要在 agreePrivacyPolicyWithCompletion 方法返回正确的隐私协议授权状态。
- 调用示例
public class LinkliveImpl extends LiveMeLiveInterface {
/**
* Authorize the privacy agreement
* @param activity
* @param confirmCallback
*/
public void agreePrivacyPolicyWithCompletion(Activity activity, OnTermConfirmCallback confirmCallback) {
//Example
confirmCallback.onTermConfirm(true);
}
}
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
*/
LinkliveSDK.getInstance().onLoginSuccess(String originUid, String openID,String token);
// Called when the user logout
LinkliveSDK.getInstance().onLogout();
// login status check
LinkliveSDK.getInstance().isUserLogin();
3. 开始直播
开播过程中SDK会对当前客户端的摄像头和麦克风权限进行检测和申请,需要用户同意并授权才能使用直播功能,直播准备页面可以上传自定义直播封面、填写直播标题、选择直播标签、使用美颜滤镜开播。
/** Start broadcast
* @param context Context
*/
LinkliveSDK.getInstance().startBroadcast(Context context);
4. 跳转到指定直播间
SDK 提供 通过 vid 跳转到指定直播间的功能,传递 vid 给 SDK,SDK 会跳转到指定直播间。
/** Jump to the live room of the specified vid
* @param context Context
* @param vid vid
*/
LinkliveSDK.getInstance().jumpToLiveRoom(Context context, String vid)
5. 关闭当前显示的直播间
//关闭当前显示的直播间
LinkliveSDK.getInstance().closeLiveRoom();
6. 获取个人信息
/**
* Get personal information data
* @return AccountInfo personal information data
*/
AccountInfo accountInfo = LinkliveSDK.getInstance().getAccountInfo();
7. 触发登录
当用户没有登录时,点击直播间关注、送礼等会触发该回调方法,需在该方法中实现登录的相关操作。
/**
* Trigger login
* @param activity context
* @param flag
* @param from The source of the previous page
*/
public void startLogin(Context activity, int flag, int from);
8. 跳转商品详情回调
当点击直播间商品列表的商品条目和购买时会触发该回调方法,可在该方法中根据商品数据实现跳转商品详情的操作。
/**
* Jump to product details
* @param context
* @param map Commodity data
*/
public void onClickCommodity(Context context, Map<String,Object> map);
9. 获取购物车数量回调
当进入直播间时SDK会触发该回调方法,需在该方法中把当前购物车的商品数量回调给SDK进行刷新购物车数量。
/**
* Get the number of shopping carts
* @param context
* @param map Commodity data
*/
public void onGetCartCount(Context context,OnCompletionCallback onCompletionCallback);
10. 跳转购物车页面回调
当点击购物车按钮时会触发该回调方法,可在该方法中实现跳转购物车页面的操作。
/**
* Jump to shopping cart page
* @param context
*/
public void onClickCart(Context context);
11. 点击小窗回调
当从直播间跳转其他页面(比如跳转到商品详情页和跳转到购物车页面)时会显示小窗,可通过小窗观看直播。
当点击直播小窗时会触发该回调方法,可在该方法中实现点击小窗后的相关的操作。
/**
* Click on the small window callback
* @param context
*/
public void onClickLiveStreamWindow(Context context);
12. 进入直播间回调
当进入直播间时会触发该回调方法,可在该方法中进行进入直播间的相关操作。
/**
* Enter the live room
* @param context
* @param lmLiveScebe
*/
public void liveRoomWillAppear(Context context,LMLiveScebe lmLiveScebe);
13. 离开直播间回调
当离开直播间时会触发该回调方法,可在该方法中进行离开直播间的相关操作。
/**
* Leaving the live room
* @param context
* @param lmLiveScebe
*/
public void liveRoomWillDisappear(Context context,LMLiveScebe lmLiveScebe);
14. 主动更新购物车数量
当需要主动更新购物车数量时(比如加入购物车后)可调用该方法,进行更新直播间购物车数量的操作。
/**
* Update shopping cart quantity
* @param count Number of shopping carts
*/
LinkliveUIUtil.updateShopCartCount(count);