应用内购买
Microsoft Teams 提供可用于实现应用内购买的 API,以从免费升级到付费 Teams 应用。 应用内购买允许直接从应用将用户从免费计划转换为付费计划。
应用内购买允许用户购买新的付费订阅,并且它不允许用户使用现有付费订阅购买其他或不同的许可证。 若要在计划之间切换,必须先取消现有用户订阅,然后才能通过应用内购买购买新订阅。
注意
应用内购买仅在 个人应用上下文中受支持。
实现应用内购买
如果要向应用的用户提供应用内购买体验,请确保满足以下要求:
应用是使用可交易的 SaaS 产品/服务 启用的。
应用是通过 RSC 权限 启用的。
应用是通过
openPurchaseExperience
API 调用的。
可以通过更新 manifest.json
文件或通过从 开发人员门户 的 权限 部分启用 显示应用内购买产品/服务 来启用应用内购买体验。
更新清单
要启用应用内购买体验,请通过添加 RSC 权限来更新 Teams 应用 manifest.json
文件。 通过此操作,应用的用户可以升级到应用的付费版本并开始使用新功能。 应用清单的更新如下所示:
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "InAppPurchase.Allow.User",
"type": "Delegated"
}
]
}
}
购买体验 API
如果要触发应用的应用内购买,请从 Web 应用调用 openPurchaseExperience
API。
以下代码片段是从使用 Microsoft Teams JavaScript 客户端库生成的 Teams 应用调用 API 的示例:
<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>