您可以使用 Google Play 商店的安装推荐者 API 安全地从 Google Play 检索推荐内容。Play 安装推荐者 API 客户端库是用 Java 编程语言编写的,它是 Android 接口定义语言 (AIDL) 文件的包装器,该文件定义了安装推荐者服务的接口。您可以使用 Play 安装推荐者 API 客户端库来简化您的开发流程。
本指南介绍了使用 Play 安装推荐者库从 Google Play 检索推荐信息的基础知识。
更新应用的依赖项
将以下行添加到应用的 build.gradle
文件的依赖项部分
Groovy
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
Kotlin
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
连接到 Google Play
在您可以使用 Play 安装推荐者 API 库之前,必须使用以下步骤建立与 Play 商店应用的连接
- 调用
newBuilder()
方法以创建InstallReferrerClient
类的实例。 调用
startConnection()
以建立与 Google Play 的连接。startConnection()
方法是异步的,因此您必须重写InstallReferrerStateListener
以在startConnection()
完成后接收回调。重写
onInstallReferrerSetupFinished()
方法以在回调完成时收到通知。此方法使用您必须用来处理不同状态的响应代码调用。OK
表示连接成功。每个其他InstallReferrerResponse
常量用于不同类型的错误。重写
onInstallReferrerServiceDisconnected()
方法以处理与 Google Play 的连接丢失。例如,如果 Play 商店服务在后台更新,Play 安装推荐者库客户端可能会丢失连接。库客户端必须调用startConnection()
方法才能在发出更多请求之前重新启动连接。
以下代码演示了如何启动和测试与 Play 商店应用的连接
Kotlin
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 couldn't be established. } } } override fun onInstallReferrerServiceDisconnected() { // Try to restart the connection on the next request to // Google Play by calling the startConnection() method. } })
Java
InstallReferrerClient referrerClient; referrerClient = InstallReferrerClient.newBuilder(this).build(); referrerClient.startConnection(new InstallReferrerStateListener() { @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { case InstallReferrerResponse.OK: // Connection established. break; case InstallReferrerResponse.FEATURE_NOT_SUPPORTED: // API not available on the current Play Store app. break; case InstallReferrerResponse.SERVICE_UNAVAILABLE: // Connection couldn't be established. break; } } @Override public void onInstallReferrerServiceDisconnected() { // Try to restart the connection on the next request to // Google Play by calling the startConnection() method. } });
获取安装推荐者
建立与 Play 商店应用的连接后,请通过完成以下步骤获取安装推荐者的详细信息
使用同步的
getInstallReferrer()
方法返回ReferrerDetails
的实例。使用
ReferrerDetails
类提供的 方法获取安装推荐者的详细信息。
以下代码演示如何访问安装推荐者信息
Kotlin
val response: ReferrerDetails = referrerClient.installReferrer val referrerUrl: String = response.installReferrer val referrerClickTime: Long = response.referrerClickTimestampSeconds val appInstallTime: Long = response.installBeginTimestampSeconds val instantExperienceLaunched: Boolean = response.googlePlayInstantParam
Java
ReferrerDetails response = referrerClient.getInstallReferrer(); String referrerUrl = response.getInstallReferrer(); long referrerClickTime = response.getReferrerClickTimestampSeconds(); long appInstallTime = response.getInstallBeginTimestampSeconds(); boolean instantExperienceLaunched = response.getGooglePlayInstantParam();
注意:安装推荐者信息将保留90天,并且除非重新安装应用程序,否则不会更改。为了避免在您的应用中进行不必要的API调用,您应该只在安装后的第一次执行期间调用一次API。
关闭服务连接
获取推荐者信息后,在您的InstallReferrerClient
实例上调用endConnection()
方法以关闭连接。关闭连接将有助于避免泄漏和性能问题。
有关更多信息,请参阅Play安装推荐者库参考。