配置查看 License

最近更新时间:2024-05-07 14:22:21

我的收藏

配置方法

调用 SDK 的相关接口前,您需要调用如下方法配置 License:
iOS 建议在 [AppDelegate application:didFinishLaunchingWithOptions:] 中添加:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString * const licenceURL = @"<获取到的licenseUrl>";
NSString * const licenceKey = @"<获取到的key>";

// TXLiveBase 位于 "TXLiveBase.h" 头文件中
[TXLiveBase setLicence:licenceURL key:licenceKey];
[TXLiveBase setObserver:self];
NSLog(@"SDK Version = %@", [TXLiveBase getSDKVersionStr]);
return YES;
}

#pragma mark - TXLiveBaseDelegate
- (void)onLicenceLoaded:(int)result Reason:(NSString *)reason {
NSLog(@"onLicenceLoaded: result:%d reason:%@", result, reason);
// 如果 result 不为 0,表示设置失败,需要进行重试
if (result != 0) {
[TXLiveBase setLicence:licenceURL key:licenceKey];
}
}
@end
Android 建议在 application 中添加:
public class MApplication extends Application { public void onCreate() { super.onCreate(); String licenceURL = ""; // 获取到的 licence url String licenceKey = ""; // 获取到的 licence key TXLiveBase.getInstance().setLicence(appContext, licenceURL, licenceKey); TXLiveBase.setListener(new TXLiveBaseListener() { @Override public void onLicenceLoaded(int result, String reason) { Log.i(TAG, "onLicenceLoaded: result:" + result + ", reason:" + reason); if (result != 0) { // 如果 result 不为 0,表示设置失败,需要进行重试 TXLiveBase.getInstance().setLicence(appContext, licenceURL, licenceKey); } } }); } }
注意:
1. License 是强线上检验逻辑,应用首次启动后调用 TXLiveBase#setLicence 时,需确保网络可用。 在App首次启动时,可能还没有授权联网权限,则需要等授予联网权限后,再次调用 TXLiveBase#setLicence 。
2. 监听 TXLiveBase#setLicence 加载结果:onLicenceLoaded 接口,如果失败要根据实际情况做对应重试及引导,如果多次失败后,可以限频,并业务辅以产品弹窗等引导,让用户检查网络情况。
3. TXLiveBase#setLicence 可以多次调用,建议在进入App 主界时面调用 TXLiveBase#setLicence, 确保加载成功。
4. 对于多进程的 App, 确保每个使用播放器的进程启动时,都调用了 TXLiveBase#setLicence。例如: Android 端使用独立进程播放视频的 App, 后台播放时进程被系统 kill 掉重启时,也要调用 TXLiveBase#setLicence。
5. 对于首次播放视频,来不及联网校验 License 的场景,播放器 SDK 对首次启动的播放校验逻辑进行了优化,可以通过TXPlayerGlobalSetting#setLicenseFlexibleValid 接口传入 true ,开启前 2 次播放校验 License 默认校验通过。iOS & Android 双端接口一致,11.6 版本开始支持。

查看方法

License 设置成功后(需稍等一段时间,具体时间长短依据网络情况而定),您可以通过调用如下方法查看 License 信息:
iOS
NSLog(@"%@", [TXLiveBase getLicenceInfo]);
Android
TXLiveBase.getInstance().getLicenceInfo();