本文介绍如何初始化 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) { } };
SDK 配置参数说明如下表所示。
| 参数 | 是否必填 | 类型 | 说明 | 示例值 |
|---|---|---|---|---|
| AppID | 是 | String | App ID,从控制台应用管理获取。 | 123456 |
| AppName | 是 | String | App 英文名,从控制台应用管理获取。 | live |
| AppVersion | 是 | String | App 版本号,使用 BuildConfig.VERSION_NAME,合法版本号应包含大于、等于 2 个分隔符,如:"1.3.2" | 1.3.2 |
| AppChannel | 是 | String | 渠道号;业务自定义,如:小米应用商店 (xiaomi)、华为应用市场 (huawei) 等。 | google_play |
| LicenseUri | 是 | String | License 路径。 | assets:///license2/license2_test.lic |
初始化 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),关闭埋点上报。
默认情况下,SDK 通过内置默认上报域名上报埋点数据。自 1.51.3 版本开始,您可以选择使用内置双栈上报域名或自定义 URL 上报埋点数据。
setApplogDomainIpv6Enabled 设置为 true,SDK 可使用内置双栈上报域名上报埋点数据。该域名兼容 IPv4 和 IPv6 网络,适用于 App 需在仅支持 IPv6 的网络下上报埋点数据的场景。示例代码如下所示。Env.start(new Config.Builder() // 其他 SDK 配置。 .setApplogDomainIpv6Enabled(true) .build());
setApplogDomain 设置自定义 URL。该 URL 可以支持 IPv4 或 IPv6 访问。示例代码如下所示。Env.start(new Config.Builder() // 其他 SDK 配置。 .setApplogDomain("https://custom-report-url.com") .build());
说明
如果同时开启内置双栈上报域名并设置自定义 URL,SDK 仅使用自定义 URL 上报埋点数据。