本文介绍如何初始化 Android 拉流 SDK。视频直播 SDK 只需要初始化一次。
调用 Env.start 配置 SDK。
开启日志上报功能后,您可以结合日志信息对线上问题进行分析,帮助定位问题原因。SDK 默认关闭日志上报功能。您可以在初始化 SDK 时开启日志上报,并按需设置日志输出级别。
说明
仅 1.50.2 及以上版本支持开启日志上报功能。
// 日志配置。 LogConfig config = new LogConfig.Builder(mApplicationContext) .setEnable(true) // 开启日志上报功能。 .setLogLevel(LogConfig.LogLevel.Info) // 设置日志输出级别。默认值为 Debug。 .build(); // SDK 配置。 Env.start(new Config.Builder() .setApplicationContext(sApplicationContext) .setAppID(填写申请的 AppID) .setAppName(填写申请的应用名称) .setAppVersion(BuildConfig.VERSION_NAME) // 合法版本号应大于、等于 2 个分隔符,如:"1.3.2" .setAppChannel("TTSDKDemo") .setLicenseUri("assets:///license/live.lic") .setLicenseCallback(mLicenseCallback) // License 加载的状态回调 .setBizType(BIZ_TYPE_LIVE) // 初始化视频直播 SDK .setLogConfig(config) .build()); // 开启 License 模块 logcat 输出。建议排查问题时开启,发包时关闭。 // LicenseManager.turnOnLogcat(true); // License 回调对象 LicenseManager.Callback mLicenseCallback =new LicenseManager.Callback() { @Override public void onLicenseLoadSuccess(@NonNull String licenseUri, @NonNull String licenseId) { licenseID = licenseId;//License ID,用于获取License的信息 } @Override public void onLicenseLoadError(@NonNull String licenseUri, @NonNull Exception e, boolean retryAble) { } @Override public void onLicenseLoadRetry(@NonNull String licenseUri) { } @Override public void onLicenseUpdateSuccess(@NonNull String licenseUri, @NonNull String licenseId) { licenseID = licenseId; } @Override public void onLicenseUpdateError(@NonNull String licenseUri, @NonNull Exception e, boolean retryAble) { } @Override public void onLicenseUpdateRetry(@NonNull String licenseUri) { } }; // License 信息获取。 License license = LicenseManager.getInstance().getLicense(licenseID);//licenseID 从mLicenseCallback 回调函数中获取 if (license != null) { StringBuilder builder = new StringBuilder(); builder.append("License id:" + license.getId()).append("\n") .append("License package:" + license.getPackageName()).append("\n") .append("License test:" + license.getType()).append("\n") .append("License version:" + license.getVersion()).append("\n"); if (license.getModules() != null) { String names = ""; for (License.Module module : license.getModules()) { names = "module name:" + module.getName() + ", start time:" + TimeUtil.format(module.getStartTime(), Times.YYYY_MM_DD_KK_MM_SS) + ", expire time:" + TimeUtil.format(module.getExpireTime(), Times.YYYY_MM_DD_KK_MM_SS) + "\n"; builder.append("License modules:" + names); } } }
SDK 配置参数说明如下表所示。
参数 | 是否必填 | 类型 | 说明 | 示例值 |
|---|---|---|---|---|
AppID | 是 | String | App ID,从控制台应用管理获取。 |
|
AppName | 是 | String | App 英文名,从控制台应用管理获取。 |
|
AppVersion | 是 | String | App 版本号,使用 BuildConfig.VERSION_NAME,合法版本号应包含大于、等于 2 个分隔符,如:"1.3.2" |
|
AppChannel | 是 | String | 渠道号;业务自定义,如:小米应用商店 (xiaomi)、华为应用市场 (huawei) 等。 |
|
LicenseUri | 是 | String | License 路径。 |
|
初始化 SDK 时,可设置以下日志输出级别:
Verbose:输出 VERBOSE、DEBUG、INFO、WARNING 和 ERROR 级别的日志。Debug:输出 DEBUG、INFO、WARNING 和 ERROR 级别的日志。Info:输出 INFO、WARNING 和 ERROR 级别的日志。Warning:输出 WARNING 和 ERROR 级别的日志。Error:输出 ERROR 级别的日志。说明
在初始化 SDK 后,如需变更日志输出级别,可调用 setLogLevel。
为便于线上问题排查和质量数据分析,埋点上报功能默认开启。如有特殊的数据保密要求,您可以在配置 SDK 前设置 Env.openAppLog(false),关闭埋点上报。