接口说明
自定义网络请求
基调听云SDK 通过设置 HttpOverrides.global 自动采集网络数据,目前支持httpClient以及基于HttpClient 封装的dio、http等网络库。
若您的项目设置了 HttpOverrides,将会导致基调听云SDK无法采集网络数据,需要手动埋点采集数据。
- 相关接口
/*
@url:网络请求的完整 url
*/
TYWebRequestTiming timing = await Tingyun().createWebRequest(String url);// 创建一条网络性能数据
timing.start();// 请求开始
/*
@code:请求的状态码
*/
timing.stop(int code);// 请求结束
- 代码示例
var url = "https://www.tingyun.com";
TYWebRequestTiming timing = await Tingyun().createWebRequest(url);
timing.startWebRequestTiming();
var response = await http.get(url)
.then((response) {
timing.stop(response.statusCode);// 请求结束
return response;
});
自定义启动结束点
基调听云SDK 默认计算 SDK 初始化开始至第一个页面加载结束的时间为「冷启动耗时」,研发人员可以根据自身应用需求更改计算「冷启动耗时」的结束点。
项目要求
-
Android 项目:采集冷启动(含首次启动)数据需实现自定义的 Application 类。
-
iOS 项目:采集启动数据需要在 main 函数中嵌码。
开启自定义启动开关
需在 native 部分初始化 TingYun_SDK 时调用相关接口。
-
Android 接口
/*
@isCustom:是否启用自定义启动,默认 false,如需开启,置为 true
*/
NBSAppAgent.isCustomAppStart(boolean isCustom); -
iOS 接口
/**
是否启用自定义启动,在启动SDK之前调用,默认 NO,如需开启,置为 YES
*/
+ (void)customLanuchEnd:(BOOL)enable; -
代码示例
- Android 示例
public class MyApplication extends Application {
@Override
public void onCreate() {
NBSAppAgent.setLicenseKey("AppKey")
.isCustomAppStart(true)//在初始化SDK时调用,开启自定义启动时间功能
.start(this.getApplicationContext());
}
}- iOS 示例
int main(int argc, char* argv[]) {
@autoreleasepool {
[NBSAppAgent customLanuchEnd:YES];
[NBSAppAgent setRedirectURL:@"Dc_Redirect"];
[NBSAppAgent startWithAppID:@"AppKey"];
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
设置自定义启动的结束点
需要开启自定义启动开关,当自定义启动开关设置为 true 时,自定义启动结束点的接口设置才会生效。
-
相关接口
Tingyun().setCustomOnResumeEndIns();
-
代码示例
Widget build(BuildContext context) {
Tingyun().setCustomOnResumeEndIns();
return Scaffold(
body:Column(
crossAxisAlignment: CrossAxisAlignment.center,
.....
));
}