跳转至

SDK 初始化

本文用于承载 Android SDK 初始化相关内容。

Application 配置

最佳的 SDK 初始化位置是在 ApplicationonCreate 方法中,如果您的应用尚未创建 Application,您需要创建一个,并在 AndroidManifest.xml 中声明,示例请参考这里

<application
       android:name="YourApplication">
</application>

基础配置

public class DemoApplication extends Application {

    @Override
    public void onCreate() {
        // 本地环境部署、Datakit 部署
        FTSDKConfig config = FTSDKConfig.builder(datakitUrl);
        // 使用公网 DataWay
        FTSDKConfig config = FTSDKConfig.builder(datawayUrl, clientToken);
        // ...
        // config.setDebug(true);              // debug 模式
        config.setCompressIntakeRequests(true); // 上报数据压缩
        FTSdk.install(config);
    }
}
class DemoApplication : Application() {
    override fun onCreate() {
        // 本地环境部署、Datakit 部署
        val config = FTSDKConfig.builder(datakitUrl)
        // 使用公网 DataWay
        val config = FTSDKConfig.builder(datawayUrl, clientToken)
        // ...
        // config.setDebug(true)              // debug 模式
        config.setCompressIntakeRequests(true) // 上报数据压缩
        FTSdk.install(config)
    }
}
方法名 类型 必须 含义
datakitUrl String 本地环境部署(Datakit)上报 URL 地址,例子:http://10.0.0.1:9529,端口默认 9529,安装 SDK 设备需能访问该地址。注意:datakitUrl 和 datawayUrl 配置两者二选一
datawayUrl String 公网 Dataway 上报 URL 地址,从 [用户访问监测] 应用中获取,例子:https://open.dataway.url,安装 SDK 设备需能访问该地址。注意:datakitUrl 和 datawayUrl 配置两者二选一
clientToken String 认证 token,需要与 datawayUrl 同时配置
setDebug Boolean 是否开启调试模式,默认为 false,开启后方可打印 SDK 运行日志
setEnv EnvType 设置采集环境,默认为 EnvType.PROD
setEnv String 设置采集环境,默认为 prod注意:String 或 EnvType 类型只需配置一个
setOnlySupportMainProcess Boolean 是否只支持在主进程运行,默认为 true,如果需要在其他进程中执行需要将该字段设置为 false
setEnableAccessAndroidID Boolean 开启获取 Android ID,默认为 true,设置为 false,则 device_uuid 字段数据将不进行采集,市场隐私审核相关查看这里
addGlobalContext Dictionary 添加 SDK 全局属性,添加规则请查阅此处
setServiceName String 设置服务名,影响 Log 和 RUM 中 service 字段数据,默认为 df_rum_android
setAutoSync Boolean 是否在采集数据后自动同步到服务器,默认为 true。当为 false 时使用 FTSdk.flushSyncData() 自行管理数据同步
setSyncPageSize Int 设置同步请求条目数,SyncPageSize.MINI 5 条,SyncPageSize.MEDIUM 10 条,SyncPageSize.LARGE 50 条,默认 SyncPageSize.MEDIUM
setCustomSyncPageSize Enum 设置同步请求条目数,范围 [5,),注意请求条目数越大,代表数据同步占用更大的计算资源,默认为 10。注意:setSyncPageSizesetCustomSyncPageSize 只需要配置一个
setSyncSleepTime Int 设置同步间歇时间,范围 [0,5000],单位 ms,默认为 0
enableDataIntegerCompatible Void 需要与 web 数据共存情况下,建议开启。此配置用于处理 web 数据类型存储兼容问题。ft-sdk 1.6.9 版本默认开启
setNeedTransformOldCache Boolean 是否需要兼容同步 ft-sdk 1.6.0 以下的版本的旧缓存数据,默认为 false
setCompressIntakeRequests Boolean 对上传同步数据进行 deflate 压缩,默认关闭,ft-sdk 1.6.3 以上版本支持这个方法
enableLimitWithDbSize Void 开启使用 db 限制数据大小,默认 100MB,单位 Byte,设置的值越大,磁盘压力越大,默认不开启。开启之后 FTLoggerConfig.setLogCacheLimitCountFTRUMConfig.setRumCacheLimitCount 将失效。ft-sdk 1.6.6 以上版本支持这个方法
setEnableOkhttpRequestTag Boolean 对 Okhttp Request 自动添加唯一 ResourceID,用于相同请求高并发的场景。ft-sdk 1.6.10 以上支持,ft-plugin 1.3.5 以上支持
setProxy java.net.Proxy 对数据网络同步请求进行 Proxy 代理设置,仅支持 okhttp3ft-sdk 1.6.10 以上支持
setProxyAuthenticator okhttp3.Authenticator 对数据同步网络请求进行 Proxy 代理设置,仅支持 okhttp3ft-sdk 1.6.10 以上支持
setDns okhttp3.Dns 数据同步网络请求支持自定义 Dns 对域名解析进来自定义处理,仅支持 okhttp3ft-sdk 1.6.10 以上支持
setDataModifier DataModifier 对单个字段进行更改。ft-sdk 1.6.11 以上支持,使用示例请看这里
setLineDataModifier LineDataModifier 对单条数据进行更改。ft-sdk 1.6.11 以上支持,使用示例请看这里
setRemoteConfiguration Boolean 是否开启数据采集的远程配置功能,默认为 false。开启之后,SDK 初始化或应用热启动会触发数据更新。ft-sdk 1.6.12 以上支持。DataKit 版本要求 >= 1.60 或使用公网 Dataway
setRemoteConfigMiniUpdateInterval Int 设置数据更新最短间隔,单位秒,默认 12 小时。ft-sdk 1.6.12 以上支持
setRemoteConfigurationCallBack FTRemoteConfigManager.FetchResult 远程配置结果返回,代码示例ft-sdk 1.6.16 以上支持

运行时能力

关闭 SDK

如果动态改变 SDK 配置,需要先关闭,以避免错误数据的产生。

FTSdk.shutDown();
FTSdk.shutDown()

清理 SDK 缓存数据

使用 FTSdk 清理未上报的缓存数据。

FTSdk.clearAllData();
FTSdk.clearAllData()

主动同步数据

使用 FTSdk 主动同步数据。

FTSdk.setAutoSync(false) 时,才需要自行进行数据同步。

FTSdk.flushSyncData();
FTSdk.flushSyncData()

文档评价

文档内容是否对您有帮助? ×