龙图安卓SDK抖音功能接入功能接入说明

SDK说明

接入龙图安卓SDK的游戏及应用的android客户端开发者。
使用此文档内接口,需要先接入龙图安卓SDK。

SDK配置说明

1 接入龙图安卓SDK后,需要配置抖音SDK需要的依赖库。

2 然后将 抖音SDKLibrary/libs目录下的jar 和 aar 复制到你的工程的
Application Module/libs文件夹(没有的话须手动创建),

3 复制 抖音SDKLibrary/res 目录下的内容到工程的res目录下

4 将以下代码添加到您app的build.gradle中:

  1. //必须 :该库因为SDK内部使用
  2. //noinspection GradleCompatible
  3. implementation 'com.android.support:cardview-v7:28.0.0'
  4. //必须:这个库是加载一些广告中gif文件 所以需要依赖
  5. implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.18'
  6. //必须:这个库是内部SDK用到 需要依赖
  7. implementation 'com.google.code.gson:gson:2.8.6'
  8. //必须:这个库保证版本在24以上即可
  9. //noinspection GradleCompatible
  10. implementation 'com.android.support:support-v4:26.1.0'

5 添加资源到 AndroidManifest.xml 内

  1. <!--必须要有的权限-->
  2. <uses-permission android:name="android.permission.INTERNET" />
  3. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  4. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  5. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  6. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  7. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  8. <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
  9. <uses-permission android:name="android.permission.GET_TASKS" />
  10. <!--最好能提供的权限-->
  11. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  12. <!-- 如果有视频相关的广告且使用textureView播放,请务必添加,否则黑屏 -->
  13. <uses-permission android:name="android.permission.WAKE_LOCK" />
  14. <!--录屏前台服务配置-->
  15. <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

6 添加抖音配置到 AndroidManifest.xml 内

  1. <provider
  2. android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
  3. android:authorities="${applicationId}.TTFileProvider"
  4. android:exported="false"
  5. android:grantUriPermissions="true">
  6. <meta-data
  7. android:name="android.support.FILE_PROVIDER_PATHS"
  8. android:resource="@xml/file_paths" />
  9. </provider>
  10. <provider
  11. android:name="com.bytedance.sdk.openadsdk.multipro.TTMultiProvider"
  12. android:authorities="${applicationId}.TTMultiProvider"
  13. android:exported="false" />
  14. <!--若使用录屏功能且targetsdkversion为29时必须配置,否则不用配置-->
  15. <service
  16. android:name="com.ss.union.sdk.videoshare.service.RecordMediaProjectService"
  17. android:enabled="true"
  18. android:foregroundServiceType="mediaProjection" />
  19. <uses-library
  20. android:name="org.apache.http.legacy"
  21. android:required="false" />

7 添加抖音参数,配置到 AndroidManifest.xml 内
抖音参数需要找运营同学获取

参数key 参数说明 是否必选 获取方式
LTDouYinAppId 抖音appid 必选 运营提供
LTDouYinChannel 渠道信息 必选 运营提供
LTDouYinAppName app名称 必选 运营提供
LTDouYinAppTestVison 该配置为 optional 如果申请了AB测试 那么可以配置,否则可以忽略 可选 运营提供
  1. <meta-data
  2. android:name="LTDouYinAppId"
  3. android:value="" />
  4. <meta-data
  5. android:name="LTDouYinChannel"
  6. android:value="" />
  7. <meta-data
  8. android:name="LTDouYinAppName"
  9. android:value="" />
  10. <!-- 没有AB测试可以不添加此项 -->
  11. <meta-data
  12. android:name="LTDouYinAppTestVison"
  13. android:value="" />

8 添加url scheme:
并将以下代码添加到您app的build.gradle中:
【您应用的深度转化url_scheme】 需要找运营获取。

  1. // 在android的defaultConfig中添加
  2. manifestPlaceholders.put("APPLOG_SCHEME", "【您应用的深度转化url_scheme】".toLowerCase())

9 适配Android10
前提:如果您的应用需要适配Android10(即设置targetSdkVersion=29) ##### 1.2.5.1 沙盒特性适配 因为Android10增加了沙盒特性,为保证在Android 10手机上功能正常,请在AndroidManifest.xml``application节点添加如下配置:

  1. <application
  2. android:requestLegacyExternalStorage="true">

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);

1.12 缓存抖音激励视频(可选)。

1.12.1 功能介绍

游戏调用此接口后,缓存抖音激励视频。
如果游戏不自己缓存,播放激励视频的时候会自动加载并缓存视频。

1.12.2 接口使用说明

参数 参数说明 参数类型 是否必选
广告ID 抖音分配的广告ID String 必选
广告展示方式 固定值: “1” 竖屏 “2” 横屏 int 必选
回调 视频播放结果回调 LTBase_Douyin_RewardVideoAdListener 必选
  1. /**
  2. * 缓存抖音激励视频
  3. *
  4. * @param codeid 广告ID
  5. * @param orientation 广告展示方向 LGBaseConfigAdDTO.ORIENTATION_HORIZONTAL 横屏
  6. * LGBaseConfigAdDTO.ORIENTATION_VERTICAL 竖屏
  7. */
  8. public void LT_Douyin_CacheRewardVideoAd(String codeid, int orientation, LTBase_Douyin_RewardVideoAdListener listener);

1.12.3 接口使用说明

  1. /**
  2. * 缓存抖音激励视频
  3. */
  4. mLTBase_DouYin_Charging.LT_Douyin_CacheRewardVideoAd("945073805", LGBaseConfigAdDTO.ORIENTATION_VERTICAL, mLTBase_Douyin_RewardVideoAdListener);

1.12.4 功能回调说明

接收到的数据为激励视频 缓存结果。

接口 接口说明
onError 视频激励失败
onRewardVideoAdLoadSuc 视频激励成功
  1. /**
  2. * 缓存视频回调
  3. */
  4. private LTBase_Douyin_RewardVideoAdListener mLTBase_Douyin_RewardVideoAdListener
  5. = new LTBase_Douyin_RewardVideoAdListener() {
  6. @Override
  7. public void onError(int code, String message) {
  8. Logs.i(LOGTAG, " RewardVideoAdListener onError code:" + code + " message:" + message);
  9. }
  10. @Override
  11. public void onRewardVideoAdLoadSuc() {
  12. Logs.i(LOGTAG, " RewardVideoAdListener onRewardVideoAdLoadSuc");
  13. }
  14. };

1.13 广告下载事件回调。(可选)

1.13.1 功能介绍

游戏调用此接口后,可以注册 广告下载事件回调。
主要是用于统计玩家点击广告以后,下载广告内app的事件。

1.13.2 接口使用说明

参数 参数说明 参数类型 是否必选
回调 下载回调 LTBase_DouYin_DownloadListener 必选
  1. /**
  2. * 广告下载事件
  3. */
  4. public void setDouYin_DownloadListener(LTBase_DouYin_DownloadListener listener);

1.13.3 接口使用说明

  1. /**
  2. * 注册广告下载事件回调
  3. */
  4. mLTBase_DouYin_Charging.setDouYin_DownloadListener(mLTBase_DouYin_DownloadListener);

1.13.4 功能回调说明

接收到的数据为下载事件流程。

接口 接口说明
onIdle 下载准备
onDownloadActive 下载中
onDownloadPaused 下载暂停
onDownloadFailed 下载失败
onDownloadFinished 下载完成
onInstalled 安装完成
  1. /**
  2. * 下载事件回调
  3. */
  4. private LTBase_DouYin_DownloadListener mLTBase_DouYin_DownloadListener = new LTBase_DouYin_DownloadListener() {
  5. @Override
  6. public void onIdle() {
  7. Logs.i(LOGTAG, " 可以下载了");
  8. }
  9. @Override
  10. public void onDownloadActive(long totalBytes, long currBytes, String fileName, String appName) {
  11. Logs.i(LOGTAG, " 下载中");
  12. }
  13. @Override
  14. public void onDownloadPaused(long totalBytes, long currBytes, String fileName, String appName) {
  15. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity,
  16. " 下载暂停 ", Toast.LENGTH_SHORT).show();
  17. }
  18. @Override
  19. public void onDownloadFailed(long totalBytes, long currBytes, String fileName, String appName) {
  20. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity,
  21. " 下载失败 ", Toast.LENGTH_SHORT).show();
  22. }
  23. @Override
  24. public void onDownloadFinished(long totalBytes, String fileName, String appName) {
  25. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity,
  26. " 下载完成 ", Toast.LENGTH_SHORT).show();
  27. }
  28. @Override
  29. public void onInstalled(String fileName, String appName) {
  30. Toast.makeText(LTBase_Demo_MainActivity.mMainActivity,
  31. " 安装完成 ", Toast.LENGTH_SHORT).show();
  32. }
  33. };