最近更新时间:2023.05.25 10:08:07
首次发布时间:2023.02.10 17:13:21
本文为您介绍 Android 加载 SDK 的初始化和基本使用。
已开通 veImageX服务,未注册用户可注册账号免费试用。
已完成创建应用。
已完成加载 SDK 的集成准备。
请完成 Applog 和 Fresco 的初始化,代码示例如下所示:
注意
setLogEnable
设为false
并删除setLogger
配置。@Override public void onCreate() { super.onCreate(); initApplog(); // 初始化Applog initFresco(); // 初始化Fresco } private void initApplog() { /* 初始化开始 */ final com.bytedance.applog.InitConfig config = new com.bytedance.applog.InitConfig("your_appid", "your_channel"); // 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(true); AppLog.init(this, config); /* 初始化结束 */ } private void initFresco() { String aid = "xxx"; // App ID,应用管理获取 String deviceId = "xxx"; // 设备 ID,根据实际业务填写 String versionName = "0.0.1"; // App 版本号,根据实际业务填写 String versionCode = "1"; // App 版本 code,根据实际业务填写 String channel = "xxx"; // 渠道,根据实际业务填写 String appName = "xxx"; // App 名称,业务方 app 名,根据实际业务填写 com.bytedance.fresco.cloudcontrol.InitConfig initConfig = new com.bytedance.fresco.cloudcontrol.InitConfig( this, aid, appName, channel, versionName, versionCode, deviceId, InitConfig.CHINA //国内版本设置为 CHINA;美东地区设置为 US_EAST;新加坡地区设置为 SINGAPORE; ); // 请保持以下初始化顺序! //初始化云控 CloudControl.init(initConfig); // 初始化TTNet FrescoTTNetFetcher frescoTTNetFetcher = new FrescoTTNetFetcher(initConfig); // 统计功能 Set<RequestListener> listeners = new HashSet<>(); listeners.add(new FrescoTraceListener()); // 开启用户感知日志上报 DraweeConfig.Builder draweeConfigBuilder = DraweeConfig.newBuilder().addGlobalControllerListener(new FrescoControllerListener()); // 开启大图监控日志上报 FrescoMonitor.setExceedTheLimitBitmapMonitorEnabled(true); //设置网络库 ImagePipelineConfig.Builder builder = ImagePipelineConfig.newBuilder(this) .setNetworkFetcher(frescoTTNetFetcher) .setRequestListeners(listeners) // HEIF功能配置 .setImageDecoderConfig(ImageDecoderConfig.newBuilder().addDecodingCapability( HeifDecoder.HEIF_FORMAT, new HeifDecoder.HeifFormatChecker(),new HeifDecoder.HeifFormatDecoder(false)).build());// true表示优先使用硬解,false表示优先使用软解,推荐设置false Fresco.initialize(this, builder.build(), draweeConfigBuilder.build()); }
InitConfig
构造参数均不能为null
。
InitConfig(@NonNull Application context, @NonNull String aid, @NonNull String appName, @NonNull String channel, @NonNull String versionName, @NonNull String versionCode, @NonNull String deviceId, int uriConfig)
部分参数说明如下所示:
参数 | 说明 |
---|---|
appID | SDK 用于打点监控上报的最小单元,简写为 aid。请登录控制台我的应用获取。 |
deviceId | 设备 ID,根据实际业务填写,设备的唯一编号,用于统计区分使用。 |
appName | App 名称,根据实际业务填写,用于统计使用。 |
versionName | App 版本号,根据实际业务填写,主要用于数据统计与配置拉取。 |
versionCode | App 版本 code,根据实际业务填写,主要用于数据统计与配置拉取。 |
channel | 渠道标识,根据实际业务填写。用于区分统计不同渠道来源的图片服务质量数据,如传入 huawei、oppo 等不同渠道标识。 |
如果图片库打点监控的信息上传成功,会有类似以下日志输出:
2021-06-16 21:48:44.516 8711-8988/com.dwz.DwzMobileApp D/AppLog------->:: setResult, [{pack, u1, 1, , 1623851324390}], [] 2021-06-16 21:48:44.520 8711-8988/com.dwz.DwzMobileApp D/AppLog------->:: sender 1 1
BDFresco 基于开源 Fresco 进行开发,具体使用能力和方式请参考 Fresco 官方指南。