Você pode usar a API Install Referrer da Google Play Store para recuperar com segurança o conteúdo de referência do Google Play. A biblioteca de cliente da API Play Install Referrer é escrita em linguagem de programação Java e é um wrapper para o arquivo em Linguagem de definição de interface do Android (AIDL, na sigla em inglês) que define a interface para o serviço de referenciador de instalação. É possível usar a biblioteca de cliente da API Play Install Referrer para simplificar o processo de desenvolvimento.
Este guia aborda os conceitos básicos da recuperação de informações de referência do Google Play usando a biblioteca Play Install Referrer.
Como atualizar as dependências do app
Adicione a linha a seguir à seção de dependências do arquivo build.gradle
do seu app:
Groovy
dependencies { ... implementation "com.android.installreferrer:installreferrer:2.2" }
Kotlin
dependencies { ... implementation("com.android.installreferrer:installreferrer:2.2") }
Como conectar ao Google Play
Antes de usar a biblioteca da API Play Install Referrer, estabeleça uma conexão com o app da Play Store usando as seguintes etapas:
- Chame o
método
newBuilder()
para criar uma instância da classeInstallReferrerClient
. Chame
startConnection()
para estabelecer uma conexão com o Google Play.O método
startConnection()
é assíncrono. Portanto, você precisa substituirInstallReferrerStateListener
para receber um callback depois que ostartConnection()
for concluído.Substitua o método
onInstallReferrerSetupFinished()
para receber uma notificação quando o callback for concluído. Esse método é chamado com um código de resposta necessário para processar os diferentes estados. A constanteOK
indica que a conexão foi feita sem problemas. Cada uma das outras constantesInstallReferrerResponse
é usada em diferentes tipos de erros.Substitua o método
onInstallReferrerServiceDisconnected()
para processar conexões perdidas com o Google Play. Por exemplo, o cliente da Play Install Referrer Library poderá perder a conexão se o serviço da Play Store estiver sendo atualizado em segundo plano. O cliente da biblioteca precisa chamar o métodostartConnection()
para reiniciar a conexão antes de fazer outras solicitações.
O código a seguir mostra como iniciar e testar uma conexão com o app da Play Store.
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. } });
Receber o referenciador de instalação
Depois de estabelecer uma conexão com o app da Play Store, é possível ver as informações do referenciador de instalação seguindo estas etapas:
Use o método
getInstallReferrer()
sincronizado para retornar uma instância deReferrerDetails
.Use os métodos que a classe
ReferrerDetails
oferece para ver informações sobre o referenciador de instalação.
O código a seguir mostra como você pode acessar as informações do referenciador de instalação:
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();
Atenção: as informações de referência da instalação ficarão disponíveis por 90 dias e não serão alteradas, a menos que o app seja reinstalado. Para evitar chamadas de API desnecessárias no app, invoque a API apenas uma vez durante a primeira execução após a instalação.
Fechar a conexão de serviço
Após receber as informações de referência, chame o
método
endConnection()
na
instância de
InstallReferrerClient
para encerrar a conexão. O encerramento da conexão ajudará a evitar
vazamentos e problemas de desempenho.
Para saber mais, consulte a referência da biblioteca Play Install Referrer.