推流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权限(即应用信息)发送至指定邮箱videosdk@service.aliyun.com,订正License的授权范围。否则,推流SDK会校验失败。
仅订正License的授权范围,LicenseKey和LicenseFile不变,您不需要重新配置License,但在使用推流功能前必须注册推流SDK。
申请License授权
视频直播服务提供直播推流SDK、美颜特效SDK、播放器SDK的License统一授权管理,您可以在视频直播控制台创建应用并绑定License授权,授权成功后,您可以获取到License和License Key文件。具体操作,请参见我的授权。
配置License
在视频直播控制台创建应用并绑定License授权成功后,可以获取到License和License Key文件。您需要按照以下操作配置License。
Android端配置License
- 将获取到的LicenseFile文件预置到assets目录下。
- 在
AndroidManifest.xml
中配置LicenseKey和LicenseFile,示例如下,将配置文件中的Your licenseKey和Your 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
- 将获取到的License文件导入到APP工程。
- 在Info.plist文件中添加两个key:
- 第一个key为AlivcLicenseKey,value为LicenseKey的值。
- 第二个key为AlivcLicenseFile,value为内置证书文件(相对于mainBundle)的路径。
key value AlivcLicenseKey LicenseKey的值,取值示例: MoCTfuQ391Z01mNqG8f8745e23c8a457a8ff8d5faedc1****
。AlivcLicenseFile 内置证书文件(相对于mainBundle)的路径。
注册推流SDK
在使用推流功能前必须进行注册,否则无法使用推流SDK功能。注册SDK前,需要先完成配置License操作。
Android端注册SDK
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是否校验通过。
iOS端注册SDK
[AlivcLiveBase registerSDK];
通过AlivcLiveBase类,可以设置日志级别、设置本地日志路径、获取SDK版本等。
接入方需要监控License回调AlivcLiveBaseObserver中的onLicenceCheck方法,确定提供的LicenseKey和LicenseFile是否校验通过。