配置方法
调用 SDK 的相关接口前,您需要调用如下方法配置 License:
iOS
建议在
[AppDelegate application:didFinishLaunchingWithOptions:]
中添加: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {NSString * const licenseURL = @"<获取到的licenseUrl>";NSString * const licenseKey = @"<获取到的key>";// TXLiveBase 位于 "TXLiveBase.h" 头文件中[TXLiveBase setLicence:licenseURL key:licenseKey];[TXLiveBase sharedInstance].delegate = 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);}@end
Android
建议在 application 中添加:
public class MApplication extends Application { public void onCreate() { super.onCreate(); String licenseURL = ""; // 获取到的 license url String licenseKey = ""; // 获取到的 license key TXLiveBase.getInstance().setLicence(appContext, licenseURL, licenseKey); TXLiveBase.setListener(new TXLiveBaseListener() { @Override public void onLicenceLoaded(int result, String reason) { Log.i(TAG, "onLicenceLoaded: result:" + result + ", reason:" + reason); } }); } }
注意:
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();