This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
frame/googleservice 是 Google 服务集成模块,主要提供两个核心功能:
IGoogleService: 主服务接口,提供 GAID 和 Install Referrer 获取功能IGoogleServiceConfig: 配置接口,定义回调和用户 ID 获取IGoogleListener: 异步操作监听器GPReferrer: Google Play 引荐数据模型,包含 UTM 参数和 GCLIDGPSInfo: GPS 服务信息,包含 GAID 和跟踪启用状态模块依赖项目基础框架:
frame:base - RLT 状态管理和错误处理frame:coroutine - 协程调度器frame:util - 应用工具类frame:log - 日志系统外部依赖:
// 创建服务实例
val googleService = createGoogleService(object : IGoogleServiceConfig {
override fun onGPReferrerFinished() {
// 引荐数据获取完成回调
}
override fun getUid(): Long = currentUserId
})
// 初始化(启动异步获取)
googleService.init()
// 同步获取 GAID
val gaid = googleService.getGAId()
// 异步获取 GAID
googleService.getGAid(object : IGoogleListener {
override fun onGetGAidSuccess(gAid: String) {
// 处理成功
}
override fun onGetGAidFailed(error: IError) {
// 处理失败
}
})
// 协程方式获取
val gaid = googleService.getGAid()
val referrer = googleService.getGPReferrer()
INVALID_GAID: "00000000-0000-0000-0000-0000000000" - 无效的广告 IDCHANNEL_DEFAULT: "gp" - 默认渠道标识GP_REFERRER_SOURCE_MAX_RETRY_COUNT: 2 - 引荐获取最大重试次数错误类型:
GooglePlayServicesUnAvailableError: Google Play 服务不可用GPReferrerRetryCountLimitedError: 引荐获取重试次数超限GPReferrerUnknownError: 未知的引荐获取错误运行测试:
./gradlew :frame:googleservice:test
构建模块:
./gradlew :frame:googleservice:build