💸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.
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
É importante ressaltar, que para o funcionamento correto é necessário, na dashboard do Revenue, adicionar as seguintes questões relacionadas ao produto, para funcionar:
Produto de assinatura -> Sempre linkar a um Entitlement
Entitlement -> Necessário para linkar a produtos de assinatura
Offering -> Criar uma offering e linkar cada uma com produto de assinatura Para casos de produtos de compra simples, é necessário apenas a criação do produto na dashboard.
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.
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