手动接入¶
不使用 ft-plugin 情况下如何接入 SDK¶
观测云 使用 Android Gradle Plugin Transformation 实现代码注入,从而实现数据自动采集。但是由于一些兼容性问题,可能存在无法使用 ft-plugin 或 ft-plugin-legacy 的情况。受影响范围包括:
- RUM 中的
Action、Resource android.util.Log- Java 与 Kotlin
println控制台日志自动抓取 - 符号文件自动上传
目前针对这种情况,可采用手动集成方案。
Application 启动事件¶
源码示例参考 DemoForManualSet.kt。
手动添加用户操作¶
按键等事件需要在触发处自行添加。这里以 Button onClick 事件为例,源码示例参考 ManualActivity.kt:
手动接入 OkHttp Resource / Trace¶
OkHttp 可通过 addInterceptor、eventListener 的方式接入 Resource 和 Trace。示例如下,源码示例参考 ManualActivity.kt:
OkHttpClient.Builder builder = new OkHttpClient.Builder()
.addInterceptor(new FTTraceInterceptor())
.addInterceptor(new FTResourceInterceptor())
.eventListenerFactory(new FTResourceEventListener.FTFactory());
//.eventListenerFactory(new FTResourceEventListener.FTFactory(true));
OkHttpClient client = builder.build();
其他网络框架需要自行实现 FTRUMGlobalManager.startResource、stopResource、addResource 以及 FTTraceManager.getTraceHeader。具体实现方式可参考源码示例 ManualActivity.kt。