本文为您介绍 Android 加载 SDK 的初始化和基本使用。
已开通 veImageX服务,未注册用户可注册账号免费试用。
已完成创建应用。
已完成加载 SDK 的集成准备。
日志上报功能需要完成 Applog 的初始化以及采样率设置。请在 Application 的onCreate
方法调用 initApplog()
和initCloudConfig()
,代码示例如下所示:
注意
setLogEnable
设为false
并删除setLogger
配置。@Override public void onCreate() { super.onCreate(); initCloudConfig(); // 初始化采样率配置 initAppLog(); // 如果您需要使用日志上报扩展功能,则请按照以下顺序初始化 AppLog,并在已获得用户授权并进入业务场景后调用 AppLog.start() 接口手动启动。如果无需使用日志上报请注释或删除 Applog 相关代码。 } private void initAppLog() { // Applog 初始化开始,如果无需使用数据统计扩展功能,请注释或删除 Applog 相关代码 final com.bytedance.applog.InitConfig config = new com.bytedance.applog.InitConfig("your_appid", "your_channel"); // appid和渠道,appid如不清楚请提交工单咨询,注意第二个参数 channel 不能为空 config.setUriConfig (UriConstants.DEFAULT); // 国内上报地址,国外则有SINGAPORE,AMERICA,SINGAPORE_ALI,REGION_DEFAULT(=SINGAPORE) config.setLogEnable(true) //是否在控制台输出日志,可用于观察用户行为日志上报情况,上线请关闭该能力 config.setLogger(new ILogger() { @Override public void log(String s, Throwable throwable) { Log.d("AppLog------->: ",""+s); // 指定为 debug 包才会打印日志 } }); config.setH5CollectEnable (false); // 关闭内嵌H5页面的无埋点事件 AppLog.setEncryptAndCompress(true); // 加密开关。false:关闭;true:开启 config.setAutoStart(false); AppLog.init(this, config); // 初始化结束 }
设置采样率配置,具体代码如下所示:
private void initCloudConfig() { CloudInitConfig initConfig = new CloudInitConfig( this, aid, //业务的 appId,应用管理获取 "xxx", //应用名称,业务方 app 名,根据实际业务填写 "xxx", //渠道,根据实际业务填写 "0.0.1", //versionName,App 版本号,根据实际业务填写 "1", //versionCode,App 版本 code,根据实际业务填写 "48144589260",//deviceId,设备 ID,根据实际业务填写 CloudInitConfig.CHINA // CHINA:国内;SINGAPORE:新加坡;US_EAST:海外 ); CloudControl.init(initConfig); }
SDK 在集成之前需要获取下表内参数。
参数 | 说明 |
---|---|
appID | SDK 用于打点监控上报的最小单元,简写为 aid。您可通过控制台我的应用获取。 |
deviceId | 设备 ID,根据实际业务填写,设备的唯一编号,用于统计区分使用。 |
appName | 应用名称,根据实际业务填写,用于统计使用。 |
versionName | App 版本号,根据实际业务填写,主要用于数据统计与配置拉取。 |
versionCode | App 版本 code,根据实际业务填写,主要用于数据统计与配置拉取。 |
channel | 渠道标识,根据实际业务填写。用于区分统计不同渠道来源的图片服务质量数据,如传入 huawei、oppo 等不同渠道标识。 |
请在app module
下继承AppGlideModule
,并通过GlideBuilder
添加监控工厂类StatisticsTraceListenerFactory
,代码示例如下所示:
@GlideModule(glideName = "ImgurGlide") public class ImgurGlideModule extends AppGlideModule { // Intentionally Empty. @Override public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) { super.applyOptions(context, builder); builder.setTraceListenerFactory(new StatisticsTraceListenerFactory()); } }
在确保已经获得用户授权并进入业务场景后,请调用以下方法手动启动 Applog 模块,开始日志上报和数据采集操作。
AppLog.start(); //启动 Applog 模块
BDGlide 基于开源 Glide 进行开发,其使用方式和官方 Glide 相同。且对 API 暂无修改,具体请参考 Glide 官方代码。