【发布时间】:2019-11-07 06:29:51
【问题描述】:
我们最近在 Android 应用中从 Google Analytics SDK 切换到 Firebase SDK。
在此之前,我们使用INSTALL_REFERRER 来获取用户的来源和媒介。
现在我们已经在 Google Ads 上启动了应用广告系列,INSTALL_REFERRER 不再有效,但转化仍在继续。
我们如何使用 Firebase SDK 知道用户来自 Google Ads 广告系列?
【问题讨论】:
我们最近在 Android 应用中从 Google Analytics SDK 切换到 Firebase SDK。
在此之前,我们使用INSTALL_REFERRER 来获取用户的来源和媒介。
现在我们已经在 Google Ads 上启动了应用广告系列,INSTALL_REFERRER 不再有效,但转化仍在继续。
我们如何使用 Firebase SDK 知道用户来自 Google Ads 广告系列?
【问题讨论】:
我想你会想要使用Play Install Referrer API。
上面的链接警告说,安装引荐来源信息将在 90 天内可用,并且仅在应用首次运行期间调用 API 以避免不必要的 API 调用。
这是一个示例(取自上面的链接),假设您已将库添加到您的 build.gradle 文件中:
初始化:
private lateinit var referrerClient: InstallReferrerClient
...
referrerClient = InstallReferrerClient.newBuilder(this).build()
referrerClient.startConnection(object : InstallReferrerStateListener {
override fun onInstallReferrerSetupFinished(responseCode: Int) {
when (responseCode) {
InstallReferrerResponse.OK -> {
// Connection established
}
InstallReferrerResponse.FEATURE_NOT_SUPPORTED -> {
// API not available on the current Play Store app
}
InstallReferrerResponse.SERVICE_UNAVAILABLE -> {
// Connection could not be established
}
}
}
override fun onInstallReferrerServiceDisconnected() {
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
}
})
获取推荐人:
val response: ReferrerDetails = referrerClient.installReferrer
val referrer = response.installReferrer
val clickTimestamp = response.referrerClickTimestampSeconds
val installTimestamp = response.installBeginTimestampSeconds
总结:
referrerClient.endConnection()
检查 gclid (Google Ads)
if ("gclid" in referrer) {
//report to Firebase Analytics
} else {
//do something else
}
【讨论】:
intent:// 链接,没有任何熟悉的归因参数。
FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent()) 的东西来获得意图吗?
gclid 以了解用户是否来自 Google Ads。那我就接受了。
这样,只有当用户点击了浏览器中的广告时,我们才会判断gclid,但如果他点击了play market中的广告,则没有任何作用。
【讨论】: