You need to enable JavaScript to run this app.
导航
快速开始
最近更新时间:2024.03.05 13:38:57首次发布时间:2023.02.10 17:13:02

本文为您介绍 Android 加载 SDK 的初始化和基本使用。

前提条件

初始化

日志上报功能需要完成 Applog 的初始化以及采样率设置。请在 Application 的onCreate方法调用 initApplog()initCloudConfig(),代码示例如下所示:

注意

  • SDK 支持在控制台输出日志,用于观察用户行为日志上报情况。但请您在上线前请关闭该能力,将setLogEnable设为false并删除setLogger配置。
  • SDK 支持日志上报扩展功能,您可以自主选择是否接入。若不接入,将无法使用日志上报。同时,导致 veImageX 控制台的下行网络监控客户状态监控感知指标监控告警管理无相关数据展示。
  • 日志上报能力依赖于 Applog 模块,为实现日志上报功能 Applog 会采集用户的 MEI、MEID、硬件序列号、Android ID、OAID、MAC 等信息(详见隐私政策)。强烈建议您启用该功能模块,若您无需使用日志上报或不希望隐私数据被采集,请在初始化时删除 Applog 相关代码。
  • 如需使用 Applog ,请按照流程完成初始化 Applog,其次确保已经获得用户授权并进入业务场景后,调用 AppLog.start() 接口来手动启动 Applog 模块,开始进行日志上报和数据采集操作。
@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。您可通过控制台我的应用获取。
通过此将数据进行隔离上报,同时通过 AppID 可以拉取对应的云控配置,比如客户端采样率、网络优化参数等。

deviceId设备 ID,根据实际业务填写,设备的唯一编号,用于统计区分使用。
appName应用名称,根据实际业务填写,用于统计使用。
versionNameApp 版本号,根据实际业务填写,主要用于数据统计与配置拉取。
versionCodeApp 版本 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 官方代码。