💸Revenuecat (In-App-Purchases)

Nesta seção vou abordar um pouco do uso dessa ferramente, que existe para facilitar a implementação de compras dentro do app, as famosas In App Purchases, tanto para Google quanto para a Apple.

Ao utilizar o RevenueCat, ele não apenas facilita o uso das compras, mas também fornece uma dashboard muito completa, para gerenciar a quantidade de usuários, de compras, de valores, entre outras coisas.

Para fazer o uso da ferramente nos nossos aplicativos Flutter, existe o plugin purchases_flutter, que facilita ainda mais as chamadas necessárias para realizar os pagamentos.

Antes de fazer o uso de fato desse plugin, é necessário que sejam criadas as configurações nas lojas que desejam, e consequentemente também na dashboard do revenue. Como cada loja tem suas diferenças, e colocar tudo aqui ficaria muito extenso, eu vou disponibilizar alguns links aqui, que me ajudaram nessas etapas mais de configuração, e vou me ater mais ao uso do plugin no apps Flutter.

O principal para realizar as configurações, é a própria documentação do RevenueCat para integração com Flutter, é MUITO completa, e muito simples. Basta seguir o link: https://www.revenuecat.com/docs/flutter

Mas basicamente, vai ser feito a criação dos produtos em cada uma das lojas, e linkar cada um deles no RevenueCat, para ele saber que eles existem por lá também.

Flutter Tutorial - In App Purchases & Subscriptions | RevenueCat

Flutter In-App Subscription Tutorial (iOS and Android)

Flutter In App Purchases & Subscriptions for iOS & Android [2022] RevenueCat

Com o RevenueCat, podemos criar Compras Dentro do App para Produtos, sendo eles consumíveis ou não-consumíveis, e também a compra de assinaturas, renováveis ou não.

Produtos Consumíveis: Produtos que podem ser utilizados no APP e comprados quantas vezes forem necessárias.

Produtos Não-Consumíveis: Produtos que não são "gastos", a compra só é relizada uma vez, e se mantém.

Para a configuração no iOS, é importante ressaltar, que no XCODE, é necesário adicionar a seguinte capability: In App Purchases.

A partir de agora, vou mostrar as implementações e exemplos de uso do plugin no Flutter. Inicialmente, devemos fazer a chamada da configuração passando a key do projeto (Que é encontrada na dashboard), dentro da main do projeto.

final _inAppPurchaseConfiguration = PurchasesConfiguration(setupFlavors.revenueCatKey);
await Purchases.configure(_inAppPurchaseConfiguration);

Após isso, basta que façamos a compra de fato pelo app. Mas, além da compra, é possível fazer algumas outras coisas, que são mais explicadas nos vídeos, onde é possível indicar se um usuário realizou a compra de uma assinatura, de algum produto, para caso seja necessário fazer esse gerenciamento apenas pelo app.

Nos nossos casos, o que normalmente vai acontecer, é que o nosso backend vai tratar disso, não fazendo necessário que façamos uso disso.

Para que o backend possa saber quem está fazendo a compra pelo aplicativo, podemos indicar ao RevenueCat quem é o usuário logado, indicando o id do nosso backend, da seguinte maneira:

Purchases.logIn("valor_do_id_aqui");
Purchases.logOut();

As compras, assim como todo o resto até aqui, é feito de maneira muito tranquila, fácil e simples.

Basta que seja chamada a função do plugin, "buyProduct", que vai servir tanto para compras de produtos ou para assinaturas, o que vai diferenciar é apenas o id que deve ser passado para a função. Lembrando que esse ID de produto, deve ser o exato ID utilizado na criação do produto/assinatura nas lojas, seja da Google ou Apple.

Basta fazer a chamada:

await purchases.Purchases.purchaseProduct(
   productId,
);

Com isso, o plugin trata de fazer as chamadas com o modal nativo das lojas, realiza todo o processo, apenas devemos entrar com as nossas credenciais. Com isso, após o sucesso retornado dessa função, podemos seguir o fluxo do APP, mostrar o sucesso ou o erro.

Last updated