Room 数据持久化;Worker管理上传任务,初次上传+重试共5次,重试间隔10s线性增加;多上传任务顺序处理;
网络请求 Retrofit
debug release 区别
使用
1.0.5
repositories {
google()
mavenCentral()
maven {
url = uri("http://192.168.2.14:8081/repository/maven-releases/")
isAllowInsecureProtocol = true
credentials {
username = "admin"
password = "qwer1234.."
}
}
maven {
url = uri("http://192.168.2.14:8081/repository/maven-snapshots/")
isAllowInsecureProtocol = true
credentials {
username = "admin"
password = "qwer1234.."
}
}
}
//测试环境
debugImplementation("com.yuanxuan:tracking_point:x.x.x-SNAPSHOT")
//生产环境
releaseImplementation("com.yuanxuan:tracking_point:x.x.x")
/**
* 初始化
*/
TrackingManager.init(
context = this.applicationContext,
uploadIntervalMillis = 10.seconds.inWholeMilliseconds, //收集埋点时长
iTrackingPointUserInfo = TrackingPointUserInfoImp(),
systemCode = "999999999", //通过管理平台获取
)
/**
* 实现 ITrackingPointUserInfo 获取 UserInfo 的方法
*/
class TrackingPointUserInfoImp: ITrackingPointUserInfo {
override fun uploadUserInfo(): UserInfo? {
return UserInfo(
userId = 123456,
userName = "username",
account = "account"
) or null
}
}
/**
* 接口文档 http://192.168.2.7:18828/swagger/index.html?urls.primaryName=%E6%95%B0%E6%8D%AE%E5%9F%8B%E7%82%B9%E5%92%8Capi%E6%97%A5%E5%BF%97
* api : api/ExternalEventlogs/AddEventListLog
*/
TrackingManager.push(
eventType = "dianji", //通过管理平台获取
eventParams = EventParams(
buttonId = "${view.id}",
page = "Main",
url = ""
)
)