You need to enable JavaScript to run this app.
导航
使用 License
最近更新时间:2023.10.11 19:17:23首次发布时间:2021.04.14 14:20:55

本文为您介绍 Android 点播 SDK 的 License 的使用说明。

License 获取

通过点播控制台获取,具体操作详情请见:应用管理

License 设置

  • 点播 SDK License 设置

    具体设置请见:快速开始>初始化点播 SDK

    // 初始化 TTSDK, 传入点播 License 地址
    String vodLicense = "assets:///license/vod.lic";
    Env.init(new Config.Builder()
            .setLicenseUri(vodLicense)
            // ... 省略其余初始化选项,可参考 “快速开始” 文档
            .build();
    
  • 点播和直播 SDK 同时集成 License 设置

    // 1. 初始化 TTSDK, 传入点播 License 地址
    String vodLicense = "assets:///license/vod.lic";
    Env.init(new Config.Builder()
            .setLicenseUri(vodLicense)
            // ... 省略其余初始化选项,可参考 “快速开始” 文档
            .build();
    
    // 2. 添加直播 License 地址
    String liveLicense = "assets:///license/live.lic";
    LicenseManager.getInstance().addLicense(assetsLicenseUri, null);
    

    正式版 License 支持续期/增加更多增值服务。您可在控制台申请续期/变更。

    注意

    • 申请通过后,将获得新的 License 文件。新 License 文件有变化,但 Url 和 LicenseID 保持不变。
    • App 只需替换当前 App 版本中的 License 文件即可,历史版本的 App 的 License 会自动更新。

License 检测

点播 SDK 初始化后,支持获取点播 SDK 和增值服务的鉴权状态。可以根据状态码来判断 License 是否可用,是否过期。

状态码SDK 中常量定义说明

0

C.LicenseStatus.LICENSE_STATUS_INVALID

  1. License 文件非法,或被篡改。
  2. 未添加 License,或路径设置错误。
1C.LicenseStatus.LICENSE_STATUS_OKLicense 鉴权通过。
2C.LicenseStatus.LICENSE_STATUS_EXPIREDLicense 已过期。
401C.LicenseStatus.LICENSE_STATUS_ERROR_PARAM_PACKAGE_NAME应用包名与购买 License 填写的包名不符。

402

C.LicenseStatus.LICENSE_STATUS_ERROR_PARAM_FEATURE_NAME

  1. License 中不包含该增值服务
  2. 增值服务名错误。
403C.LicenseStatus.LICENSE_STATUS_ERROR_PARAM_MODULE_NAME点播 SDK 枚举传递错误。

代码示例如下所示。

import com.pandora.ttlicense2.LicenseManager;
import com.pandora.ttlicense2.C;

// 查询点播 SDK 鉴权状态,1 表示鉴权通过,更多状态码见上表
int vodLicenseResult = LicenseManager.getInstance().checkSDKAuth(C.SDK.SDK_VOD_PLAY);

// 查询点播 H265 增值服务 License 的鉴权状态,1 表示鉴权通过,更多状态码见上表
int featureH265Result = LicenseManager.getInstance().checkFeatureAuth(C.SDK.SDK_VOD_PLAY,C.Feature.FEATURE_BVC1);

增值服务的详细说明如下所示。

增值服务SDK 中常量定义
H.265C.Feature.FEATURE_BVC1
H.266C.Feature.FEATURE_h266
自适应码率C.Feature.FEATURE_ABR
蒙版弹幕+外挂字幕C.Feature.FEATURE_SUBTITLE_MASK
客户端超分C.Feature.FEATURE_SUPER_RESOLUTION

License 鉴权失败处理

鉴权失败表现

License 鉴权失败分为两种表现。

  • 点播 SDK 鉴权失败
  • 高级功能/增值服务鉴权失败

点播 SDK 鉴权失败:鉴权失败时,视频无法启播,并会从抛出onError返回错误信息。代码示例如下所示。

ttVideoEngine.setListener(new VideoEngineListener() {    
    // ...
    @Override
    public void onError(Error error) {
        Log.v("VideoPlay", "onError " + error);
        if (error.code == Error.LicenceFailed) {
            // license 鉴权失败
            // internalCode 为细分错误码
            switch (error.internalCode) {
                case Error.h265CheckFailed:
                    // H.265 增值服务鉴权失败
                    break;
                case Error.h266CheckFailed:
                    // H.266 增值服务鉴权失败        
                    break;
                case Error.DashCheckFailed:
                case Error.BashCheckFailed:
                    // DASH 增值服务鉴权失败
                    break;
                default:
                    // 点播 SDK 鉴权失败
                    break;
            }
        } else {
            // 更多错误码参考文档:https://www.volcengine.com/docs/4/66441/
        }
    }
}

如果开启了 TTVideoEngineLog,logcat 会输出。

<TTVideoEngine>videoEngine failed:domain:kTTVideoErrorDomainVideoOwnPlayer, code:-30001, internalCode:0, description:version:null,10,Mi 10
        rom memory totle:114930200576,availe:72815374336
        ram memory totle:7806540,availe:2883304
        sdcard totle:114930200576,availe:72815374336
            error:play errorauth failed,authResult:0&&time:1616475725000
  • code:-30001 为鉴权失败错误码,auth failed 为错误信息。

  • internalCode:0 为细分错误码。

  • authResult:0 表示 License 模块的鉴权结果返回 0。通过查询 License 检测 部分提供的表格我们可以知道 0 表示 License 文件非法/未设置/路径设置错误。

    error.internalCode 细分错误码的详细说明如下所示。

    错误码SDK 中常量定义说明
    0-点播 SDK 播放鉴权失败
    -310000Error.h265CheckFailedH.265 增值服务鉴权失败

    -310001
    -310002

    Error.DashCheckFailed
    Error.BashCheckFailed

    DASH 高级功能鉴权失败

    -310003Error.h266CheckFailedH.266 增值服务鉴权失败

鉴权失败处理

针对鉴权失败的异常处理,有两种场景:

  • 集成阶段使用问题。

    集成 SDK 阶段,出现播放出错一般为使用问题,我们可以根据播放器抛错对照错误码表进行定位处理。

  • 线上 License 过期。

    如果 License 过期后,需要尽快续期 License,详情请见如何续期

    说明

    我们建议您提前两个月,在点播控制台进行续期/变更 License。