You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

快速开始

最近更新时间2023.05.25 10:08:07

首次发布时间2023.02.10 17:13:02

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

前提条件

初始化

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

注意

  • SDK 支持在控制台输出日志,用于观察用户行为日志上报情况。但请您在上线前请关闭该能力,将setLogEnable设为false并删除setLogger配置。
  • 初始化 Applog 时会采集用户信息,请确保您采集用户信息之前已经获得用户授权。合规建议:用户授权后再进行 Applog 的初始化,取得用户授权前所有信息不会采集,预置事件也不会被采集。
@Override
public void onCreate() {
    super.onCreate();
    initCloudConfig(); //设置采样率
    initApplog(); // 初始化 Applog
}

private void initApplog() {
    /* 初始化开始  */
    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(true);
    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());
  }
}

使用

BDGlide 基于开源 Glide 进行开发,其使用方式和官方 Glide 相同。且对 API 暂无修改,具体请参考 Glide 官方代码。