アプリ内購入
Microsoft Teams は、アプリ内購入を実装して無料から有料の Teams アプリにアップグレードするために使用できる API を提供します。 アプリ内購入では、アプリ内から直接ユーザーを無料プランから有料プランに変換できます。
アプリ内購入の実装
アプリ内購入エクスペリエンスをアプリのユーザーに提供するには、次の情報を確認します。
アプリは Teams クライアント SDK ライブラリに基づいて構築されています。
アプリは、トランザクション可能な SaaS オファーで有効になっています。
アプリは RSC アクセス許可で有効になっています。
アプリは
openPurchaseExperienceAPI で呼び出されます。
アプリ内購入エクスペリエンスは、manifest.json ファイルを更新するか、[開発者ポータル] の [アクセス許可] セクションから [アプリ内購入オファーを表示] を有効にすることで有効にできます。
マニフェストを更新する
アプリ内購入エクスペリエンスを有効にするには、開発者ポータルの [アクセス許可] セクションから RSC の permissions.se オファーを追加して、Teams アプリの manifest.json ファイルを更新します。 これにより、アプリユーザーはアプリの有料バージョンにアップグレードして、新しい機能の使用を開始できます。 アプリ マニフェストの更新プログラムは次のとおりです。
"authorization": {
"permissions": {
"resourceSpecific": [
{
"name": "InAppPurchase.Allow.User",
"type": "Delegated"
}
]
}
}
購入エクスペリエンス API
アプリのアプリ内購入をトリガーするには、Web アプリから openPurchaseExperience API を呼び出します。
アプリから API を呼び出す例を次に示します。
<body>
<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");
callbackcalled = true;
if (!!e && typeof e !== "string") {
e = JSON.stringify(e);
alert(e);
}
return;
});
console.log("after callback: ",callbackcalled);
}
</script>
エンド ユーザーのアプリ内購入エクスペリエンス
次の例は、Contoso Tasks for Teams と呼ばれる架空の Teams アプリのサブスクリプション プランを購入するユーザーを示しています。
Teams ストア で、アプリを見つけて選択します。
アプリの詳細ダイアログで、[サブスクリプションの購入] または [自分用に追加] を選択します。
[自分用に追加] は、アプリの無料試用版を提供し、後で有料版に アップグレード します。
[サブスクリプション プランを選ぶ] ダイアログでプランを選択し、[チェックアウト] を選択します。
トランザクションを完了し、[今すぐ構成] を選択してサブスクリプションを設定します。