龙图安卓SDK扩展功能接入说明

1.文档说明

此文档主要是用于在游戏及应用开发商需要接入龙图SDK各渠道特殊功能时的补充文档。
此文档内功能仅接入过程是不能够测试的,需要通过龙图自动打包工具,打包以后才可以调试。

**请各位根据接入的地区查看需要的接口使用。

1.2 阅读对象

接入龙图BaseSDK的游戏及应用的android客户端开发者。

1.3 功能回调

因为此文档内接口回调接口为一个,根据接口内ID区分,所以建议在初始化就注册回调,回调接口使用在每个接口内有具体说明。

  1. LTBaseSDK.getInstance(this).LTBaseSDKSetExtendListener(mLTBaseExtendListener);

抖音功能接入

SDK说明

接入龙图BaseSDK的游戏及应用的android客户端开发者。

1.0 获取抖音功能实列

调用抖音功能,需要先获取功能实列。

1.0.1 接口介绍

  1. LTBase_DouYin_Charging mLTBase_DouYin_Charging = (LTBase_DouYin_Charging)
  2. LTBaseSDK.getInstance(LTBase_Demo_MainActivity.mMainActivity).LTBaseSDKGetChannelsObject();

1.1 展示抖音激励视频。

1.1.1 功能介绍

游戏调用此接口后,可以展示抖音激励视频。

1.1.2 接口使用说明

参数 参数说明 参数类型 是否必选
广告ID 抖音分配的广告ID String 必选
广告展示方式 固定值: “1” 竖屏 “2” 横屏 int 必选
奖励道具的名称 用户看完广告奖励的道具的名称 String 必选
奖励道具的数量 用户看完广告奖励的道具的数量 int 必选
回调 视频播放结果回调 LTBase_DouYin_showDyAdListener 必选
  1. /**
  2. * 加载抖音激励广告
  3. *
  4. * @param codeId 广告ID
  5. * @param orientation 广告展示方向 LGBaseConfigAdDTO.ORIENTATION_HORIZONTAL 横屏
  6. * LGBaseConfigAdDTO.ORIENTATION_VERTICAL 竖屏
  7. * @param rewardName 奖励道具的名称
  8. * @param rewardAmount 奖励道具的数量
  9. * @param listener 回调
  10. */
  11. public void LT_DouYin_loadDyAd(String codeId, int orientation, String rewardName, int rewardAmount, LTBase_DouYin_showDyAdListener listener);

1.1.3 接口使用说明

  1. /**
  2. * 展示抖音激励视频
  3. */
  4. mLTBase_DouYin_Charging.LT_DouYin_loadDyAd("945073805", LGBaseConfigAdDTO.ORIENTATION_VERTICAL,
  5. "金币", 100, mLTBase_DouYin_showDyAdListener);

1.1.4 功能回调说明

接收到的数据为激励视频 播放结果。

接口 接口说明
onShowDyAdFail 视频激励失败
onShowDyAdSuc 视频激励成功
onShowDyAdError 视频激励错误
onShowDyAdSkip 视频激励跳过
  1. /**
  2. * 激励视频结果回调
  3. */
  4. private LTBase_DouYin_showDyAdListener mLTBase_DouYin_showDyAdListener = new LTBase_DouYin_showDyAdListener() {
  5. @Override
  6. public void onShowDyAdFail() {
  7. Logs.i(LOGTAG, " 视频激励失败 ");
  8. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 视频激励失败 ", Toast.LENGTH_SHORT).show();
  9. }
  10. @Override
  11. public void onShowDyAdSuc() {
  12. Logs.i(LOGTAG, " 视频激励成功 ");
  13. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 视频激励成功 ", Toast.LENGTH_SHORT).show();
  14. }
  15. @Override
  16. public void onShowDyAdError() {
  17. Logs.i(LOGTAG, " 视频激励错误 ");
  18. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 视频激励错误 ", Toast.LENGTH_SHORT).show();
  19. }
  20. @Override
  21. public void onShowDyAdSkip() {
  22. Logs.i(LOGTAG, " 视频激励跳过 ");
  23. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 视频激励跳过 ", Toast.LENGTH_SHORT).show();
  24. }
  25. };

1.2 检测是否为游客账号

1.2.1 功能介绍

检测当前登录的用户,是否为渠道的游客账号。
可以用于判断是否展示绑定接口。

1.2.2 接口使用说明

  1. /**
  2. * 检查当前用户是否为游客,暂时只为抖音开放
  3. * @return true为游客, false 为非游客
  4. */
  5. public boolean LTBaseCheckUserisgGuest();

1.2.3 接口使用说明

  1. LTBaseSDK.getInstance(LTBase_Demo_MainActivity.mMainActivity).LTBaseCheckUserisgGuest();

1.3 绑定抖音正式账号

1.3.1 功能介绍

抖音的游客账号,绑定为抖音正式账号。

1.3.2 接口使用说明

  1. /**
  2. * 渠道的绑定账号,用于渠道需要主动触发绑定的情况
  3. *
  4. * @param listener 结果回回调
  5. */
  6. public void LTBaseChannelBindAccount(LTBaseAccountBindListener listener)

1.3.3 接口使用说明

  1. /**
  2. * 绑定账号
  3. */
  4. LTBaseSDK.getInstance(LTBase_Demo_MainActivity.mMainActivity).LTBaseChannelBindAccount(mLTBaseAccountBindListener);

1.3.4 功能回调说明

接收到的数据为激励视频 播放结果。

接口 接口说明
LTBaseBindSuccess 绑定成功
LTBaseBindFail 绑定失败
  1. /**
  2. * 绑定结果
  3. */
  4. private LTBaseAccountBindListener mLTBaseAccountBindListener = new LTBaseAccountBindListener() {
  5. @Override
  6. public void LTBaseBindSuccess(int i, String s) {
  7. Logs.i(LOGTAG, " 绑定成功 ");
  8. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 绑定成功 ", Toast.LENGTH_SHORT).show();
  9. }
  10. @Override
  11. public void LTBaseBindFail(int i, String s) {
  12. Logs.i(LOGTAG, "绑定失败");
  13. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, "绑定失败 ", Toast.LENGTH_SHORT).show();
  14. }
  15. };

1.4 检测是否可以录屏

1.4.1 功能介绍

检测当前设置是否支持录屏

1.4.2 接口使用说明

  1. /**
  2. * 是否允许屏幕录制。
  3. *
  4. * @return true 支持录屏 false 不支持录屏
  5. */
  6. public boolean LT_DouYin_checkSupScreenRecord()

1.4.3 接口使用说明

  1. mLTBase_DouYin_Charging.LT_DouYin_checkSupScreenRecord();

1.5 录屏

1.5.1 功能介绍

录制当前游戏屏幕

1.5.2 接口使用说明

参数值 参数说明
LGScreenRecordOperate.START 开始
LGScreenRecordOperate.PAUSE 暂停
LGScreenRecordOperate.RESUME 继续
LGScreenRecordOperate.STOP 结束
  1. /**
  2. * 录制屏幕:支持开始、暂停、继续、结束
  3. * <p>
  4. * 注意:
  5. * 只有调用结束录制屏幕,才会生成合法的视频文件,中断录屏流程将不会生成合法视频文件
  6. */
  7. public void LT_DouYin_SupSreenReoocrd(LGScreenRecordOperate operate, LTBase_DouYin_screenRecordListener listener) ;

1.5.3 接口使用说明

  1. // 录屏开始 举例
  2. mLTBase_DouYin_Charging.LT_DouYin_SupSreenReoocrd(LGScreenRecordOperate.START,
  3. mLTBase_DouYin_screenRecordListener);
  4. // 录屏结束 举例
  5. mLTBase_DouYin_Charging.LT_DouYin_SupSreenReoocrd(LGScreenRecordOperate.STOP,
  6. mLTBase_DouYin_screenRecordListener);

1.5.4 功能回调说明

接收到的数据为激励视频 播放结果。

接口 接口说明 参数说明
onScreenRecordSuc 录制成功 recordFilePath 录制成功后的视频地址
onScreenRecordFail 录制失败
  1. /**
  2. * 抖音录屏结果
  3. */
  4. private LTBase_DouYin_screenRecordListener mLTBase_DouYin_screenRecordListener = new LTBase_DouYin_screenRecordListener() {
  5. @Override
  6. public void onScreenRecordFail() {
  7. Logs.i(LOGTAG, " 录制失败 ");
  8. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 录制失败 ", Toast.LENGTH_SHORT).show();
  9. }
  10. @Override
  11. public void onScreenRecordSuc(String recordFilePath) {
  12. Logs.i(LOGTAG, " 录制成功 recordFilePath = " + recordFilePath);
  13. mRecordFilePath = recordFilePath;
  14. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 录制成功 ", Toast.LENGTH_SHORT).show();
  15. }
  16. };

1.6 打开交叉推广

1.6.1 功能介绍

打开交叉推广, 打开以后是抖音的一个悬浮广告框, 需要在抖音后台配置才有作用

1.6.2 接口使用说明

  1. /**
  2. * 交叉推广
  3. * @param x 展示坐标
  4. * @param y 展示坐标
  5. */
  6. public void LT_DouYin_showOverlapping_Recommend(int x, int y)

1.6.3 接口使用说明

  1. // 打开交叉推广
  2. mLTBase_DouYin_Charging.LT_DouYin_showOverlapping_Recommend(0, 0);

1.7 关闭交叉推广

1.7.1 功能介绍

关闭交叉推广框

1.7.2 接口使用说明

  1. // 关闭交叉推广
  2. public void LT_DouYin_closeOverlapping_Recommend()

1.7.3 接口使用说明

  1. // 关闭交叉推广
  2. mLTBase_DouYin_Charging.LT_DouYin_closeOverlapping_Recommend();

1.8 智能视频编辑

1.8.1 功能介绍

由抖音Ai系统对视频进行编辑,
编辑过程不可见,回调会返回编辑进度,游戏需要自行展示编辑中进度条。

1.8.2 接口使用说明

参数 参数说明 参数类型 是否必选
videoPath 需要编辑的视频路径 String 必选
isShare 是否吧编辑以后的视频进行分享 true 分享 false 不分享 boolean 必选
回调 编辑结果回调 LTBase_DouYin_aiEditorVideoShareListener 必选
  1. /**
  2. * 视频编辑
  3. *
  4. * @param videoPath 视频路径
  5. * @param isShare 是否分享 true 分享 false 不分享
  6. * @param listener 结果回调
  7. */
  8. public void LT_Douyin_aiEditorVideoShare(String videoPath, boolean isShare, LTBase_DouYin_aiEditorVideoShareListener listener);

1.8.3 接口使用说明

  1. // 视频编辑
  2. mLTBase_DouYin_Charging.LT_Douyin_aiEditorVideoShare(
  3. mRecordFilePath, false,
  4. mLTBase_DouYin_aiEditorVideoShareListener);

1.8.4 功能回调说明

接收到的数据为激励视频 播放结果。

接口 接口说明 参数说明
onScreenRecordSuc 视频编辑成功 aiEditedVideoPath 编辑成功后的视频地址 ,stayInDouYin 分享成功是否留在抖音
onEditingProgress 视频编辑进度 progress 视频编辑进度
onAiEditorVideoFail 视频编辑失败
  1. /**
  2. * 抖音视频编辑结果回调
  3. */
  4. private LTBase_DouYin_aiEditorVideoShareListener mLTBase_DouYin_aiEditorVideoShareListener
  5. = new LTBase_DouYin_aiEditorVideoShareListener() {
  6. @Override
  7. public void onAiEditorVideoFail() {
  8. Logs.i(LOGTAG, " 视频编辑失败 ");
  9. mAiScreenReocrdIng = false;
  10. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 视频编辑失败 ", Toast.LENGTH_SHORT).show();
  11. }
  12. @Override
  13. public void onAiEditorVideoSuc(String aiEditedVideoPath, boolean stayInDouYin) {
  14. Logs.i(LOGTAG, " 视频编辑成功 ");
  15. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 视频编辑成功 ", Toast.LENGTH_SHORT).show();
  16. }
  17. @Override
  18. public void onEditingProgress(int progress) {
  19. Logs.i(LOGTAG, " 视频编辑进度 progress = " + progress);
  20. }
  21. };

1.9 检查是否支持分享

1.9.1 功能介绍

检查当前设备是否支持分享

1.9.2 接口使用说明

  1. /**
  2. * 是否允许分享
  3. *
  4. * @return true 支持,false 不支持
  5. */
  6. public boolean LT_DouYin_checkSupDouYinShare()

1.9.3 接口使用说明

  1. // 是否允许分享
  2. mLTBase_DouYin_Charging.LT_DouYin_checkSupDouYinShare();

1.10 抖音分享

1.10.1 功能介绍

抖音分享:支持视频和图片分享

1.10.2 接口使用说明

LGDouYinShareDTO 参数介绍

参数 参数说明 参数类型 是否必选
type 分享类型,LGDouYinShareDTO.Type.VIDEO 视频, LGDouYinShareDTO.Type.PICTURE 图片 int 必选
pathList 资源列表,图片支持多张图片,视频只能添加一个 ArrayList 必选
回调 编辑结果回调 LTBase_DouYin_ShareListener 必选
  1. /**
  2. * 抖音分享接口
  3. *
  4. * @param douYinShareDTO 分享参数
  5. * @param listener 分享回调
  6. */
  7. public void LT_DouYin_SupDouYinShare(LGDouYinShareDTO douYinShareDTO, LTBase_DouYin_ShareListener listener);

1.10.3 接口使用说明

  1. // 抖音分享。
  2. LGDouYinShareDTO mLGDouYinShareDTO = new LGDouYinShareDTO();
  3. mLGDouYinShareDTO.type = LGDouYinShareDTO.Type.VIDEO;
  4. mLGDouYinShareDTO.pathList.add(mRecordFilePath);
  5. mLTBase_DouYin_Charging.LT_DouYin_SupDouYinShare(mLGDouYinShareDTO, mLTBase_DouYin_ShareListener);

1.10.4 功能回调说明

接收到的数据为激励视频 播放结果。

接口 接口说明 参数说明
onShareSuc 分享成功 stayInDouYin 分享成功是否留在抖音
onShareSaveAlbum 分享成功后,视频保存路径 filePathList 视频或者图片保存路径列表
onShareFail 分享失败
  1. /**
  2. * 抖音分享回调
  3. */
  4. private LTBase_DouYin_ShareListener mLTBase_DouYin_ShareListener = new LTBase_DouYin_ShareListener() {
  5. @Override
  6. public void onShareFail() {
  7. Logs.i(LOGTAG, " 分享失败 ");
  8. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 分享失败 ", Toast.LENGTH_SHORT).show();
  9. }
  10. @Override
  11. public void onShareSuc(boolean stayInDouYin) {
  12. Logs.i(LOGTAG, " 分享成功 stayInDouYin = " + stayInDouYin);
  13. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 分享成功", Toast.LENGTH_SHORT).show();
  14. }
  15. @Override
  16. public void onShareSaveAlbum(ArrayList filePathList) {
  17. Logs.i(LOGTAG, " 分享成功后视频保存成功 ");
  18. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity, " 分享成功后视频保存成功 ", Toast.LENGTH_SHORT).show();
  19. }
  20. };

1.11 发送自定义事件

1.11.1 功能介绍

发送抖音日志,自定义日志

1.11.2 接口使用说明

参数 参数说明
eventName 事件名,由运营同学分配
jsonObject 事件参数 ,json格式, 由运营同学分配
  1. /**
  2. * 发送自定义事件
  3. *
  4. * @param eventName 点位名称
  5. * @param jsonObject 自定义事件数据,可以为null
  6. */
  7. public void LT_DouYin_setOnEventV3(String eventName, JSONObject jsonObject)

1.11.3 接口使用说明

  1. // 发送一条 自定义事件
  2. JSONObject eventJson = new JSONObject();
  3. try {
  4. eventJson.put("sample1", "sample1");
  5. eventJson.put("sample2", "sample2");
  6. } catch (Exception e) {
  7. e.printStackTrace();
  8. }
  9. mLTBase_DouYin_Charging.LT_DouYin_setOnEventV3("diyevent", eventJson);