全部产品
Search
文档中心

视频直播:推流SDK License集成指南

更新时间:Feb 04, 2024

推流SDK升级到4.4.2及以上版本时,需要使用SDK License进行授权才可以使用。本文为您介绍推流SDK License的获取以及集成方式。

注意事项

  • 推流SDK 4.4.2以前的版本暂时无需License服务。当升级到4.4.2及以上版本,需要经License授权后才可以正常推流。

  • 一体化License可为同一个阿里云账号下的所有APP提供视频云SDK的接入授权。推流SDK从4.4.2版本开始,接入一体化License服务。

  • 当您同时申请视频直播推流SDK License和视频云一体化License其他服务时(例如美颜特效SDK License),LicenseKey和LicenseFile(证书文件)是相同的,只需配置一次即可(注意证书文件需使用最新的一份)。

    说明

    如果您之前仅申请了视频云一体化License服务中的其他License(例如美颜特效SDK License),后续使用推流SDK时,可以将您需要的SDK权限(即应用信息)发送申请至创建应用并绑定License,订正License的授权范围。否则,推流SDK会校验失败。

    仅订正License的授权范围,LicenseKey和LicenseFile不变,您不需要重新配置License,但在使用推流功能前必须注册推流SDK。

申请License授权

请单击推流SDK授权申请,填写对应信息,申请推流SDK License授权。收到申请后,我们将于2个工作日之内处理完开通申请。

说明
  • 推流SDK License免费提供。申请一次有效期为1年,过期后需重新申请。

  • 请确保申请信息齐全、格式规范,后续若有需要更换包名、签名文件或BundleID任意一项,需重新申请。

  • 如没有阿里云账号,请提前注册。注册步骤请参见注册阿里云账号

  • Android平台应用包名和签名信息(MD5)要求:

    • 要求:MD5格式小写、无冒号。

    • 包名和签名信息(MD5)获取:

      方法一:可使用签名获取工具来获取包名和签名信息,安装后按工具中的提示操作。

      方法二:可通过在SDK下载与发布记录下载的4.4.2及以后版本Android Demo源码中的SignatureUtils工具类,使用getSingInfo方法生成signature(即签名信息)。

配置License

申请License后,LicenseKey和LicenseFile会通过授权邮件发送给您,获取推流SDK License文件后,您需要按照以下操作配置License文件。

Android端配置License

  1. 将获取到的LicenseFile文件预置到assets目录下。

  2. AndroidManifest.xml中配置LicenseKey和LicenseFile,示例如下,将配置文件中的Your licenseKeyYour licenseFile.crt替换成您实际获取的值。

    <application>
    
        <!-- android:name: 元数据项名字,固定取值 -->
        <!-- android:value: 元数据项指定值,请填入您邮件获取到的LicenseKey -->
        <meta-data
            android:name="com.aliyun.alivc_license.licensekey"
            android:value="Your licenseKey" />
    
        <!-- android:name: 元数据项名字,固定取值 -->
        <!-- android:value: 元数据项指定值,请填入您邮件获取到的LicenseFile所在的assets路径 -->
        <meta-data
            android:name="com.aliyun.alivc_license.licensefile"
            android:value="assets/Your licenseFile.crt" />
    
    </application>
    重要

    如配置License后校验失败,您可以检查上述<meta-data>节点是否处于<application>元素下面,且<meta-data>的name是否正确。

iOS端配置License

  1. 将获取到的License文件导入到APP工程。

  2. 在Info.plist文件中添加两个key:

    • 第一个key为AlivcLicenseKey,value为LicenseKey的值。

    • 第二个key为AlivcLicenseFile,value为内置证书文件(相对于mainBundle)的路径。

    key

    value

    AlivcLicenseKey

    LicenseKey的值,取值示例:MoCTfuQ391Z01mNqG8f8745e23c8a457a8ff8d5faedc1****

    AlivcLicenseFile

    内置证书文件(相对于mainBundle)的路径。

注册推流SDK

在使用推流功能前必须进行注册,否则无法使用推流SDK功能。注册SDK之前,需要先完成配置License操作。

Android端注册SDK

请在较早的位置(使用推流SDK前)调用注册License接口

AlivcLiveBase.setListener(new AlivcLiveBaseListener() {
  @Override
  public void onLicenceCheck(AlivcLivePushConstants.AlivcLiveLicenseCheckResultCode result, String reason) {
    Log.e(TAG, "onLicenceCheck: " + result + ", " + reason);
  }
});
AlivcLiveBase.registerSDK();

通过AlivcLiveBase类,可以设置日志级别、设置本地日志路径、获取SDK版本等。

接入方需要调用AlivcLiveBase中的registerSDK方法,进行SDK License注册;并监控AlivcLiveBaseListener中的onLicenceCheck方法,异步接收License鉴权结果回调,确定提供的LicenseKey和LicenseFile是否校验通过。

说明

该回调仅在初始化pusher实例后触发。

iOS端注册SDK

请在较早的位置(使用推流SDK前)调用注册License接口

[AlivcLiveBase registerSDK];

通过AlivcLiveBase类,可以设置日志级别、设置本地日志路径、获取SDK版本等。

接入方需要监控License回调AlivcLiveBaseObserver中的onLicenceCheck方法,确定提供的LicenseKey和LicenseFile是否校验通过。