推流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
将获取到的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
请在较早的位置(使用推流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是否校验通过。