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 o método
startConnection()para estabelecer uma conexão com o Google Play. - Como
startConnection()é assíncrono, implementeInstallReferrerStateListenerpara receber um callback após a conclusão destartConnection(). - Substitua o método
onInstallReferrerSetupFinished()para receber uma notificação quando o callback for concluído. Esse método transmite um código de resposta que você precisa usar para processar estados diferentes.OKindica que a conexão foi bem-sucedida. As outras constantesInstallReferrerResponseindicam diferentes tipos de erros. - Substitua o método
onInstallReferrerServiceDisconnected()para processar conexões perdidas com o Google Play. Por exemplo, o cliente da biblioteca Play Install Referrer pode perder a conexão se o serviço da Google 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 sincronizado
getInstallReferrer()para retornar uma instância deReferrerDetails. - Use os métodos fornecidos pela classe
ReferrerDetailspara ver detalhes 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();
Fechar a conexão de serviço
Depois de receber as informações do referenciador, chame o método endConnection() na
instância InstallReferrerClient para fechar a conexão. Fechar a
conexão ajuda a evitar vazamentos e problemas de desempenho.
Para saber mais, consulte a referência da biblioteca Play Install Referrer.