Image for post
Image for post

Como implementar InAppReview

Iago Mendes Fucolo
Sep 11 · 3 min read

Em algum momento você já implementou ou vai precisar implementar uma forma de pedir para os seus usuários deixarem um review sobre o seu app na PlayStore.

Se não, você deveria implementar, pois quanto mais reviews positivos seu app tiver melhor será a posição do seu app na play store.

Old porém Gold:

A forma mais comum de pedir um review é levar o usuário até a loja chamando uma Activity que o redireciona direto para a página do app na Google Play Store.

Como no código a seguir:

Os problemas de fazermos o fluxo de review dessa forma:

  • Usuário tem que encontrar a forma de deixar o review na página do app;
  • Usuário pode não voltar para o app depois do fluxo;
  • Ter que sair do app para deixar um review.

Mesmo com os problemas citados acima, ainda era a melhor forma de implementar.

Mas agora temos uma nova forma utilizando:

Google Play In-App Review API

Com o Google Play In-App Review API os nossos usuários não precisam mais sair do aplicativo para deixar o seu review.

No screenshoot acima, é um exemplo real de um projeto pessoal que está na play store.

Então é isso, simples e fácil, certo? Sim, mas existem algumas limitações que precisam ser explicadas antes de implementarmos:

Funciona apenas em dispositivos:

  • Com Android 5.0 ou acima;
  • Dispositivos com o Google Play Store instalado.

Recomendações de uso pelo Google:

  • Somente chamar o InAppReview depois de o usuário ter usado razoavelmente o seu app;
  • Não chamar o flow excessivamente, pois API tem limitações de uso e o flow pode não aparecer se você já o solicitou várias vezes;
  • Não adicionar views sobre ou acima do card de review;
  • Não tentar remover o card programaticamente, pois o mesmo será removido automaticamente pelo mecanismo da Google Play Store.

Como implementar:

Como a API de review faz parte da Play Core library, temos que adicioná-la ao build.gradle do app:

implementation 'com.google.android.play:core:1.8.0'
implementation 'com.google.android.play:core-ktx:1.8.1'

Em seguida vamos seguir estritamente baseado na documentação oficial:

Precisamos criar uma instância de ReviewManager API, que é obtida através de ReviewManagerFactory:

Quando chegar o momento certo de mostrar o card de review devemos usar o reviewManager criado acima para solicitar o flow e executá-lo para que o usuário possa deixar seu review.

Passo a passo:

  • Solicitar o review flow: reviewManager.requestReviewFlow()
  • Como requestReviewFlow é uma chamada assíncrona, só podemos seguir em frente quando ela terminar e para isso precisamos do callback addOnCompleteListener
  • Dentro do listener precisamos verificar se o result teve sucesso na execução para de fato chamar o flow (no caso de não termos sucesso podemos executar o jeito antigo).
  • Para mostrarmos o flow de review precisamos pegar o valor de result.result que é do tipo ReviewInfo, que é o segundo parâmetro necessário para chamar o flow, juntamente com o this(context): reviewManager.launchReviewFlow(this, reviewInfo)
  • Em caso de querermos fazer alguma ação depois do flow finalizar podemos utilizar o seguinte listener: flow.addOnCompleteListener

Como podemos rodar esse flow e verificar se está tudo funcionando?

Passo a passo para testar:

  • Criar uma release(apk);
  • Publicar a release no canal de teste interno no Google Play Console;
  • Adicionar o seu email como testador;
  • Acessar o link que será gerado no teste interno para entrar no programa de testes do aplicativo;
  • Assim que for publicado, você entra na loja e baixa a nova versão de teste que só aparecera para quem foi convidado, nesse caso você;
  • Por último, apague o seu review da loja caso você já tenha feito, para que o flow seja executado.
https://developer.android.com/guide/playcore/in-app-review

Nos último 2 testes que fiz o aplicativo em teste interno é publicada na mesma hora que você submete a versão

Ficou com alguma dúvida?

Manda um e-mail que terei o prazer de responder.

iagofucolo@gmail.com

follow me twitter, linkedin.

Android Dev BR

Artigos em português sobre Android, curados pela comunidade…

Thanks to Angélica Oliveira

Iago Mendes Fucolo

Written by

Android Engineer @NewMotion, Writer, Ex almost footballer, and Brazilian.

Android Dev BR

Artigos em português sobre Android, curados pela comunidade Android Dev BR. Junte-se a nós: https://androiddevbr.org/.

Iago Mendes Fucolo

Written by

Android Engineer @NewMotion, Writer, Ex almost footballer, and Brazilian.

Android Dev BR

Artigos em português sobre Android, curados pela comunidade Android Dev BR. Junte-se a nós: https://androiddevbr.org/.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store