GooglePlay下载来源

用户通过推广链接下载App的时候,国内应用商店是无法获取推广来源的,通过而GooglePlay可以,通过网址构建工具生成前往GooglePlay的下载链接,应用就可以获取到推广来源信息,数据可以自由在构建工具设置。

部分参数如下

  • utm_source :来源, 一般设置为推广平台
  • utm_medium:媒介,一般设置为推广平台的不容产品,如某推广平台的Banner广告、开屏广告,或者区分推广付费方式。
  • utm_term:关键词

如何使用

详细接入方式见:官方文档

添加依赖

1
2
// 1.1版本有bug,使用直接导致闪退
implementation 'com.android.installreferrer:installreferrer:1.0'

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private lateinit var referrerClient: InstallReferrerClient
private fun initReferrer() {
referrerClient = InstallReferrerClient.newBuilder(this).build()

if (getOldSource().isNotEmpty()) return// 存在旧的source就不获取

val installListener = object : InstallReferrerStateListener {
// 连接成功回调
override fun onInstallReferrerSetupFinished(responseCode: Int) {
if (responseCode == InstallReferrerClient.InstallReferrerResponse.OK) {
val response: ReferrerDetails = referrerClient.installReferrer
val url = response.installReferrer // 获取的url就是之前网址构建工具的地址,包含具体参数
referrerClient.endConnection() // 这里一定要记得关闭连接,否则会出现错误
}
}

override fun onInstallReferrerServiceDisconnected() {}
}
// 开始连接
referrerClient.startConnection(installListener)
}

注意点

startConnection() 之后,一定要注意 endConnection(),否则有时候会出现

1
android.os.DeadObjectException

这个错误。这点在官方文档中没有提到,需要注意下。