見出し画像

ワールド内で課金商品が販売できるようになりました!【Cluster Creator Kit v2.21.0.2 リリースノート】

こんにちは、プロダクトマネージャーの Smith です。

メタバースプラットフォーム cluster では、クリエイターのみなさんの創造力をより加速できるように制作環境の改善や新機能の追加を行っています。
この記事では 8/29 の Cluster Creator Kit v2.21.0.2 で新たに提供される機能の仕様を紹介します。


Creator Kit 2.21.0.2 の利用方法

今回のリリースに含まれる機能を利用するためには cluster アプリのアップデートが必要です。
Cluster Creator Kit v2.21.0.2 はドキュメントのみ更新となります、今回のアップデートは Creator Kit の更新は必要ありません。

Creator Kit 2.21.0.2 のリリース内容

機能追加

  • ワールド内課金機能関連 API [CCK]

ワールド内課金機能関連 API

ワールド内で課金商品が販売できるようになりました。

CCK では、商品の購入処理を行ったり購入情報を確認するための API が追加されています。
今回追加された API はベータ機能ではなく正式版です。

商品購入処理は PlayerHandle.requestPurchase() の呼び出しを契機に開始され、購入処理の結果を ClusterScript.onRequestPurchaseStatus() で受け取る、というのが最もシンプルなパターンです。
購入処理の成否は onRequestPurchaseStatus のコールバックの第2引数で判別できます。
詳しくはスクリプトリファレンスの PurchaseRequestStatus の項目をご確認ください。

$.onInteract((playerHandle) => {
  playerHandle.requestPurchase("product id", "meta data");
});

$.onRequestPurchaseStatus((meta, status, errorReason, player) => {
  if (status === PurchaseRequestStatus.Purchased) {
    // 購入成功時の処理
  }
});

ClusterScript.subscribePurchase() と ClusterScript.onPurchaseUpdated() を利用することで、任意の商品の購入状況を購読することもできます。

$.onStart(() => {
  $.subscribePurchase("product id");
});

$.onPurchaseUpdated((player, productId) => {
  // 購入状況に変化があった場合の処理
});

また、購入処理を契機としなくても ClusterScript.getOwnProducts() と ClusterScript.onGetOwnProducts() を利用することで、任意の PlayerHandle について特定の商品の購入状況を取得できます。
ClusterScript.onGetOwnProducts() は通算での購入状況を取得することに留意してください。

例えば商品を購入したワールドから退出して、再度同じワールドを訪れた時に ClusterScript.onGetOwnProducts() を実行した場合、前回ワールドを訪れた時の購入状況も取得されます。
ClusterScript.onGetOwnProducts() のコールバックの第1引数に渡される OwnProducts[] には購入したユーザーの PlayerHandle や商品 ID、購入数と返金数が含まれています。

詳しくはスクリプトリファレンスの OwnProducts の項目をご確認ください。

$.onInteract((playerHandle) => {
  $.getOwnProducts("product id", playerHandle, "meta data");
});

$.onGetOwnProducts((ownProducts, meta, errorReason) => {
  for (let i = 0; i < ownProducts.length; i++) {
    // 購入状況に応じた処理
  }
});

各 API で指定する商品 ID は、cluster.mu のマイコンテンツのワールド情報から閲覧できる商品詳細情報から取得できます。
「商品 ID」という項目名で記されている ID を利用してください。

詳しくはスクリプトリファレンスを参照してください。

ワールド内では形のないものから残り続けるものまで、様々な商品を販売できます。
どんな商品が販売できてどんなものか販売できないのかのガイドラインを作成したので、商品販売を検討される際はこちらをご一読ください。

また、サンプル付きの記事をclusterクリエイターのためのメディア「Creators Guide」で公開したので、そちらもご覧ください。

ご意見・ご感想お待ちしています

cluster は、みなさんが楽しくバーチャル空間で創造できるように様々な改善を行っています。
Discord ではみなさんの要望を投稿したり、クリエイターさん同士でお互いの創作活動を支え合える場所を設けていますので、ぜひご活用ください!

Discordサーバー: Creator Community のご案内
https://docs.cluster.mu/creatorkit/support/creator-community/