当App开发完成后就会发布到各种运用商铺。在海外通常会选择Google Play商铺,而在国内通常会选择各大手机厂商的运用商铺或腾讯的运用宝。
运用商铺本身会供给一些推行服务来增加App的曝光度,但仅依托商铺本身的推行作用往往不够抱负。因而,通常需求经过投进广告来推行App。这种广告投进能够在不同的平台和途径进行,但怎么评价投进作用呢?这就需求运用归因的办法,将App的下载与用户经过哪个广告途径下载的App进行相关。
经过归因剖析,能够确认哪些广告对App的下载和装置产生了比较显著的影响。然后帮助优化广告投进战略,集中资源在作用较好的途径上,提高推行作用和回报率。
本文首要介绍运用发布到谷歌商铺后怎么进行下载归因。
Play Install Referrer 库
Google Play商铺的Install Referrer API
能够从Google Play安全的获取装置举荐来历相关的信息。
Play Install Referrer
库对Install Referrer API
进行了封装,比较起来运用愈加简单。但假如运用的言语不是Kotlin或Java,那么只能经过Install Referrer API
来获取装置举荐来历相关的信息。
增加依靠
在项目app module的build.gradle中的dependencies中增加依靠:
dependencies {
implementation("com.android.installreferrer:installreferrer:2.2")
}
获取装置举荐参数
能够经过以下过程实现获取装置举荐参数。
- 创立
InstallReferrerClient
类的对象。 - 经过创立的对象调用
startConnection()
办法建议衔接,能够传入InstallReferrerStateListener
对衔接状况进行监听。 - 在
InstallReferrerStateListener.onInstallReferrerSetupFinished()
回调中处理成功或失败信息。当responseCode
返回InstallReferrerResponse.OK
时,就能够经过getInstallReferrer()
办法获取装置举荐来历参数。 -
InstallReferrerStateListener.onInstallReferrerServiceDisconnected
回调在衔接断开时触发,此时能够进行重连。
示例代码如下:
object InstallReferrerUtils {
private var referrerClient: InstallReferrerClient? = null
private val installReferrerStateListener = object : InstallReferrerStateListener {
override fun onInstallReferrerSetupFinished(responseCode: Int) {
if (responseCode == InstallReferrerResponse.OK) {
// 衔接成功,能够获取装置举荐来历参数
handlerInstallReferrerParams()
// 处理完后释放资源
release()
} else {
// 衔接失败,根据需求能够进行重连
Log.e(CustomConstant.TAG, "connect to google play failed errorCode:$responseCode")
}
}
override fun onInstallReferrerServiceDisconnected() {
// 与Google Play衔接断开,10秒后进行重连
reconnectHandler?.postDelayed(reconnectRunnable, 10000)
}
}
private var reconnectHandler: Handler? = null
private var reconnectHandlerThread: HandlerThread? = null
private var reconnectRunnable = Runnable { connectReferrerClient() }
init {
reconnectHandlerThread = HandlerThread("InstallReferrerReconnectThread").apply {
start()
reconnectHandler = Handler(looper)
}
}
fun init(context: Context) {
if (referrerClient == null) {
referrerClient = InstallReferrerClient.newBuilder(context).build()
}
connectReferrerClient()
}
private fun connectReferrerClient() {
referrerClient?.run {
if (!isReady) {
// 建议衔接
startConnection(installReferrerStateListener)
}
}
}
private fun handlerInstallReferrerParams() {
referrerClient?.run {
if (isReady) {
installReferrer.let {
// 装置举荐信息
val installReferrer = it.installReferrer
// 装置版本号
val installVersion = it.installVersion
// 开端装置的时刻
val installBeginTimestampSeconds = it.installBeginTimestampSeconds
// 开端装置的服务器时刻
val installBeginTimestampServerSeconds = it.installBeginTimestampServerSeconds
// 点击举荐信息的时刻
val referrerClickTimestampSeconds = it.referrerClickTimestampSeconds
// 点击举荐信息的服务器时刻
val referrerClickTimestampServerSeconds = it.referrerClickTimestampServerSeconds
// 过去7天是否参与过免装置体验
val googlePlayInstantParam = it.googlePlayInstantParam
}
}
}
}
private fun release() {
referrerClient?.endConnection()
reconnectHandler?.removeCallbacksAndMessages(null)
reconnectHandlerThread?.quit()
reconnectHandlerThread = null
reconnectHandler = null
referrerClient = null
}
}
在Application
或发动Activity
中调用InstallReferrerUtils.init()
办法即可。
测验
增加referrer的链接:
https://play.google.com/store/apps/details?id=${app的包名}&referrer=${举荐来历参数}
这边referrer
字段先运用testinstallreferrer
测验作用。
由于是经过Google Play获取信息,因而能够将App的aab先发布到商铺的内测途径或封闭式测验途径。
- 发布到封闭式测验途径后,增加测验人员的邮箱。
- 在参与的方法中获取约请参与测验的链接。
- 获取约请链接后在测验设备打开并接收约请。
- 在参与的方法中获取测验装置包对应的商铺链接。
获取到链接之后记得拼接参数&referrer=testinstallreferrer
。
上传的测验包输出了日志信息,所以装置后在Logcat中能够看到如下日志:
需求注意的是,由于需求从Google Play商铺获取相关信息,所以需求确保Google Play商铺能够正常运用。
Google Analytics
实现了获取举荐来历参数之后,下一步便是上报对应信息,才能将信息用于剖析投进作用。假如App在Google Play商铺发布,那么无妨看看同为谷歌系的Google Analytics
。
在领导的指导下,发现Google Analytics
现已内置了Play Install Referrer API
。
广告归因
经过在广告链接中设置广告系列参数,能够用于剖析广告的投进作用。官方供给了辅助工具能够帮忙装备。
能够装备下列5种参数:
-
utm_source
:标识为您的媒体资源带来流量的广告客户、网站、出版物等,例如:google、newsletter4、billboard。 -
utm_medium
:广告前言或营销前言,例如:每次点击费用、横幅广告和电子邮件简报。 -
utm_campaign
:产品的详细广告系列称号、标语、促销代码等。 -
utm_term
:标识付费搜索关键字。假如您选用人工方法标记付费关键字广告系列,那么您还应运用 utm_term 来指定相应关键字。 -
utm_content
:用于区别相似内容或同一广告内的链接。例如,假如您在同一封电子邮件中运用了两个号召性用语链接,就能够运用 utm_content 并为每个链接设置不同的值,以便判别哪个版本的作用更好。
测验
测验过程与上一部分类似,仅仅链接改为运用广告系列参数。
测验链接如下:
https://play.google.com/store/apps/details?id=${app的包名}&referrer=utm_source%3Dminigame%26utm_medium%3Ddownload%26utm_term%3Dtest%26utm_content%3Dtest%26utm_campaign%3Dtest
经过测验链接装置后,能够在GA后台的报告->开掘潜在客户->用户获取状况中看到装置现已被计算到(不是实时的),如下图: