Como configurar seu site para usar em compras in-app?

Atualizado em 18. fevereiro 2024 por Jan Bunk


Criar produtos para compra no aplicativo

Você pode seguir estas guias para criar produtos e assinaturas para comprar no aplicativo:

Você pode ser solicitado a inserir algumas informações adicionais para permitir pagamentos em sua conta de desenvolvedor.

Como você precisará criar um produto in-app de compra em cada plataforma, certifique-se de usar o mesmo ID de produto em ambas as plataformas, então acionar a compra in-app via Javascript será mais fácil (veja abaixo).

Acionar uma compra in-app

Primeiro, você provavelmente vai querer verificar se o usuário atual está usando seu aplicativo, porque um usuário regular do navegador não será capaz de fazer compras in-app.

Você pode usar getAppPlatform() != nullcom o script do app helper.

Então, se o usuário estiver usando seu aplicativo, você pode usar o Javascript abaixo para acionar a compra in-app.

Recomendamos que verifique a função executeWhenAppReady() do nosso script auxiliar de aplicação. Ele garante que seu site não tente interagir com o aplicativo antes que ele esteja pronto ou quando o site for carregado usando um navegador comum (ReferenceError, a função não está definida).

<script>
    try {
        // productId is the ID you specified for the in app purchase product in App Store Connect and the Google Play Console
        // consumable is a boolean value that indicates whether the product can be purchased multiple times (consumable==true) or just once (consumable==false)
        // subscriptions should use consumable==false
        // userIdentifier can be any string that identifies the current user.
        // The userIdentifier will be sent to your server's unlocking endpoint if the purchase is successful (so you can then unlock the product that was bought on your server)
        resultingStatus = await makeInAppPurchase(productId, consumable, userIdentifier)["status"];
        
        switch (resultingStatus) {
            case "failed":
                // The purchase failed, for example due to an error while verifying the purchase
                break;
            case "canceled":
                // The user canceled the purchase, for example by pressing the back button
                break;
            case "completed":
                // The purchase was successful
                break;
        }
    } catch (e) {
        // Some kind of error occurred, e.g. the given productId is invalid
    }
</script>
    

Enquanto você aguarda a função, o usuário estará em uma tela fornecida pelo app. A função JavaScript retornará assim que a compra for concluída, para que você possa recarregar a página ou atualizar a interface do usuário conforme achar necessário. Assim que o usuário fechar a tela nativa do app, ele retornará ao seu site.

Uma captura de tela do app aguardando a conclusão da compra no app.

Restaurando em Compras In-App

Recomendamos que verifique a função executeWhenAppReady() do nosso script auxiliar de aplicação. Ele garante que seu site não tente interagir com o aplicativo antes que ele esteja pronto ou quando o site for carregado usando um navegador comum (ReferenceError, a função não está definida).

Você também pode fornecer uma opção "Restaurar Compras" para seus usuários.


<script>
    restorePurchases()
</script>
    

Normalmente é necessário restaurar as compras, quando os usuários desinstalam o aplicativo e o instalam novamente em um novo dispositivo. Eles podem, então, restaurar suas compras anteriores. Você já armazena as informações e compras do usuário em seu servidor, o que é independente do dispositivo do usuário.

Nós ainda estamos oferecendo a você a oportunidade de integrar uma funcionalidade de restauração de compra na esperança de que ela possa ser útil sob outras circunstâncias, por exemplo, ela poderia potencialmente ajudar se algo desse errado enquanto verifica e desbloqueia a compra de um usuário.

Próximos Passos

Após um usuário concluir uma compra in-app, a compra precisa ser verificada em um servidor e, se verificada com sucesso, o conteúdo comprado precisa ser desbloqueado em seu servidor.

Veja o seu em configurações de compras no aplicativo para mais informações e guias.

Em App Purchase Overview,