跳到正文

Android 读取渠道参数 SDK

交付物

本节链接
lib.apkreferer:reader:1.0.0

SDK 以 AAR 形式交付,支持 Android API 24 及以上版本。

添加 SDK

本节链接

把 AAR 放入 App 的 libs/ 目录:

dependencies {
implementation(files("libs/apk-referer-reader-1.0.0.aar"))
}

如果使用内部 Maven 仓库,把 AAR 发布到仓库后使用上面的坐标即可。

读取渠道参数

本节链接
import lib.apkreferer.reader.RefererReader
import lib.apkreferer.reader.RefererResult
val result = RefererReader.read(context)
when (result) {
is RefererResult.Found -> {
val referer = result.referer
// 在业务逻辑中使用渠道参数。
}
RefererResult.NotFound -> {
// 当前 APK 没有渠道参数。
}
is RefererResult.Error -> {
// result.code / result.message
}
}

read() 是同步方法,不会创建线程;请在后台线程调用。它只读取当前 App 已安装的 APK,不需要存储权限。

返回结果

本节链接
  • Found:找到渠道参数,并以字符串返回。
  • NotFound:APK 有效,但没有渠道参数。
  • Error:APK 不存在、不可读、不受支持,或参数无效。程序逻辑使用 code,诊断信息使用 message。

SDK 不会打印完整的渠道值。请在 App 中处理 Error,不要假设渠道参数一定存在。