Compartilhar via


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 via aplicação permite-lhe converter utilizadores de planos gratuitos em planos pagos diretamente a partir da sua aplicação.

As compras via aplicação permitem que os utilizadores comprem uma nova subscrição paga e não permitem que os utilizadores comprem licenças adicionais ou diferentes com subscrições pagas existentes. Para alternar entre planos, uma subscrição de utilizador existente tem de ser cancelada antes de uma nova subscrição poder ser comprada através de compras via aplicação.

Observação

As compras via aplicação só são suportadas em contextos de aplicações pessoais.

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 fragmento de código seguinte é um exemplo de chamar a API a partir da aplicação Teams criada com a biblioteca de cliente 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