基础进阶
更新时间:2021-05-25
概述
本文主要介绍了 SDK 的进阶功能,包括金融、分享,推送、数据埋点、私信、等相关的处理。
进阶使用
金融系统
1. 订单充值回调
想要使用充值和送礼等金融功能,需要打通 SDK 和接入方的金融系统。
SDK提供了一个回调代理,点击 SDK 中充值按钮,SDK 会 生成订单号
,然后会把订单号通过 onBuyGoldWithOrderId
回调方法通知代理。
回调方法
/**
* activity activity
* source order type
* requestCode recharge status
* orderId orderId
*/
public void onBuyGoldWithOrderId(Activity activity,int source,int requestCode,String orderId);
2. 获取当前用户的金币余额
/**
* Get the current user's gold coin balance
* @param goldBalanceCallback: goldBalanceCallback Callback interface
* @param status status
* @param error error msg
* @param goldBalance gold coin balance
* void onResult(int status, String error, int goldBalance);
*/
LinkliveSDK.getInstance().queryGoldBalance(goldBalanceCallback);
3. 刷新当前金币数
一般在接入方充值成功之后调用,传入当前用户当时的金币数量
/** Refresh the current number of gold coins
* @param current_gold Current number of gold coins
*/
LinkliveSDK.getInstance().refreshCurrentGold(int current_gold);
分享功能
SDK 支持分享功能,SDK 提供分享所需要的数据,分享功能需要在接入方客户端进行实现 shareWithContent
代理方法完成分享。
回调方法
- 接入方实现此回调方法,在此回调方法中实现分享功能。
/**
* 分享代理回调方法
* @param activity activity
* @param linkliveShareInfo Sharing data examples
* @param iShareCallback Sharing status callback
**/
public void shareWithContent(Activity activity, LinkliveShareInfo linkliveShareInfo, IShareCallback iShareCallback);
分享数据
LinkliveShareInfo
public class LinkliveShareInfo {
// 媒体id
private String videoId;
// 主播名字
private String userName;
// 资源类型, 1: live room 2: h5
private int source;
// 标题
private String title;
// 内容
private String content;
// 链接url
private String url;
// 播主头像
private String captureUrl;
// 类型,1:分享来自于其他人,2:分享来自于自己
private int type;
}
推送功能
SDK 提供自定义推送功能,需要由 我方服务端
调用 接入方服务端
实现相关推送,可实现主播开播提示发送通知,点击通知栏进入直播间,私信消息通知等功能。可具体联系 LinkV 商务人员,进行了解对接推送功能。
调用示例
接入方客户端收到推送的 url 后,触发 routeWithURI
方法,打开直播间。
LinkliveSDK.getInstance().routeWithUri(getContext(), path);
数据埋点
SDK 目前已经通过代理方法 onDataTrack
对一些关键的数据回调给接入方,接入方可以针对数据做埋点统计等。
回调方法
/**
* Data buried point
* @param kewlDataTrackModel Data buried point model
**/
public void onDataTrack(KEWLDataTrackModel kewlDataTrackModel);
透传数据埋点类型
//透传数据模型
public class KEWLDataTrackModel {
// 看播
public static final int DataTrackActiveWatchLive = 1;
// 送礼
public static final int DataTrackActiveSendGift = 2;
// 关注
public static final int DataTrackActiveFollow = 3;
// 首页tab点击
public static final int DataTrackActiveTabClick = 4;
// 排行榜点击
public static final int DataTrackActiveRankClick = 5;
// 使用滤镜
public static final int DataTrackActiveUseFilter = 6;
// 点击开播按钮
public static final int DataTrackActiveLiveClick = 7;
// 开播权限授权状态
public static final int DataTrackActiveRequestPermission = 8;
// 开始直播
public static final int DataTrackActiveStartLive = 9;
// 主播分享直播
public static final int DataTrackActiveBroadCasterShare = 10;
// 成功修改个人信息
public static final int DataTrackActiveProfileModifySucc = 11;
// 拉流成功
public static final int DataTrackActivePullStreamSucc = 12;
// 发送评论
public static final int DataTrackActiveSendComment = 13;
// 点击礼物面板
public static final int DataTrackActiveGiftPanelClick = 14;
// 送礼成功
public static final int DataTrackActiveSendGiftSucc = 15;
// 观众分享直播
public static final int DataTrackActiveCustomerShare = 16;
// 榜单页点击关注
public static final int DataTrackActiveRankPageFollowClick=17;
}
透传数据模型类
public class KEWLDataTrackModel {
// required
// 上报类型
public int type;
// 用户id
public String uid;
// 用户区域
public String user_area;
// Watch Live
// 直播id
public String watch_live_video_vid;
// 主播昵称
public String watch_live_broadcaster_nick_name;
// 主播性别
public String watch_live_broadcaster_gender;
// 主播年龄
public String watch_live_broadcaster_age;
// Send Gift
// 礼物id
public String send_gift_id;
// 礼物价格
public String send_gift_price;
// Follow/UnFollow
// follow状态,(关注还是取消关注)
public boolean follow_is_follow;
// 被关注性别
public String follow_followers_gender;
// 被关注年龄
public String follow_followers_age;
// 拉流的流id
public String pull_stream_succ_vid;
// 评论id
public String send_comment_vid;
// 礼物面板点击的礼物id
public String panel_click_vid;
// 成功送出的礼物id
public String send_gift_succ_gift_id;
// 成功送礼的直播id
public String send_gift_succ_vid;
// 被观众分享的直播id
public String customer_share_vid;
// Tab Click
// 被点击的tab名字
public String tab_click_tab_name;
// User Filter
// 滤镜名字
public String use_filter_filter_name;
// Request Permission
// request_permission_per_type = 1 Camera
// request_permission_per_type = 2 Micro
// 权限类型(摄像头,麦克风)
public String request_permission_per_type;
// Rank Page Follow Click
// 榜单页面点击关注还是取消关注
public boolean rank_page_follow_click_follow_status;
// 榜单中被关注的uid
public String rank_page_follow_click_follow_uid;
}
私信
SDK 提供了私信的功能,可调用 SDK openMessageList
方法打开私信列表页面,具体是否开启私信功能可通过开发者平台进行配置,联系 LinkV 进行开启功能。
调用示例
私信列表页面
1. 调用该方法,进入 LinkliveSDK.getInstance().openMessageList(Context context);
2.设置私信未读消息的回调
/**
* Set the callback of unread messages in private messages
* @param listener Unread message monitoring
*/
LinkliveSDK.getInstance().setChatUnReadNumListener(UnReadListener unReadListener);
回调方法
未读消息数字
// update unread message number callback
// @param number chat unred number
public void updateNum(int unReadNum);
消息未读
数字
3. 获取私信 /**
* Get private messages Number of unread messages
*/
LinkliveSDK.getInstance().getChatUnReadNum();