Compras no aplicativo

O Microsoft Teams fornece APIs que você pode usar para implementar as compras no aplicativo para atualizar de aplicativos gratuitos para aplicativos pagos do Teams. A compra no aplicativo permite que você converta usuários de planos gratuitos para pagos diretamente do seu aplicativo.

As compras no aplicativo permitem que os usuários comprem uma nova assinatura paga e isso não permite que os usuários comprem licenças adicionais ou diferentes com assinaturas pagas existentes. Para alternar entre planos, uma assinatura de usuário existente deve ser cancelada antes que uma nova assinatura possa ser comprada por meio de compras no aplicativo.

Observação

As compras no aplicativo têm suporte apenas em contextos de aplicativo pessoal.

Implementar compras no aplicativo

Para oferecer uma experiência de compra no aplicativo aos usuários do seu aplicativo, verifique o seguinte:

A experiência de compra no aplicativo pode ser habilitada atualizando o arquivo manifest.json ou habilitando Mostrar ofertas de compra no aplicativo na seção Permissões do Portal do desenvolvedor.

Atualizar manifesto

Para habilitar a experiência de compra no aplicativo, atualize o arquivo manifest.json do aplicativo Teams adicionando as permissões RSC. Ele permite que os usuários do seu aplicativo atualizem para uma versão paga do seu aplicativo e comecem a usar novas funcionalidades. A atualização para o manifesto do aplicativo é a seguinte:


"authorization": {
    "permissions": {
        "resourceSpecific": [
            {
                "name": "InAppPurchase.Allow.User",
                "type": "Delegated"
            }
        ]
    }
}

API de experiência de compra

Para acionar a compra no aplicativo para o aplicativo, invoque a API openPurchaseExperience do seu aplicativo da web.

O snippet de código a seguir é um exemplo de chamar a API do aplicativo Teams criado usando a biblioteca de clientes JavaScript do Microsoft Teams:

<div> 
<div class="sectionTitle">openPurchaseExperience</div>
<button onclick="openPurchaseExperience()">openPurchaseExperience</button>
</div>
</body>
<script>
   function openPurchaseExperience()
      microsoftTeams.initialize();
      let callbackcalled = false;
      microsoftTeams.monetization.openPurchaseExperience((e) => {
            console.log("callback is being called");
            console.log(e);
            if (!!e && typeof e !== "string") {
                  alert(JSON.stringify(e));
              }
              return;
            });
      console.log("after callback: ",callbackcalled);
    }
</script>

Próxima etapa

Confira também