回数制限

概要

4 つの回数カウンターと 2 つのリセットスケジュール(毎日・毎週)を表示するデモです。Counter 1〜3 は同じ日次スケジュールに従いながら回数は別々に数えられ、Counter 4 だけが週次スケジュールに従います。上限回数はカウンターではなく使う側のボタンが指定するため、Counter 1 では同じカウンターに対して「無料枠は 3 回まで、広告視聴付きなら 5 回まで」という 2 つの上限が共存します。

試し方

  1. Reset schedules に、日次スケジュールの Resets every day at 00:00 UTC と週次スケジュールの Resets every Monday at 00:00 UTC が表示されます。各カウンターの Next reset in には次のリセットまでの残り時間が表示されます。
  2. Counter 1 (daily reset) の Use free を 3 回押すと、Usage の表示が 3 used. Free uses stop at 3, ad-backed uses at 5. になり、Use free の代わりに Watch an ad to use が現れます。
  3. Watch an ad to use を押すと Advertisement パネルが開きます(実際の広告は再生されません)。5 秒待って I finished watching を押すと視聴ポイントが付与され、続けてそのポイントを消費して 1 回分使います。5 回に達すると Nothing left が表示され、それ以上は使えません。
  4. Counter 2 (daily reset) で Use free を押しても、Counter 1 の回数は変わりません。Counter 2 は 4 回、Counter 3 は 6 回、週次の Counter 4 (weekly reset) は 1 回で上限になり、上限に達すると No free uses left が表示されます。
  5. Counter 1 (daily reset) の Reset every allowance を押すと、4 つのカウンターすべてが 0 に戻ります。本来は毎日 00:00 UTC(Counter 4 は毎週月曜)のリセットを待つ必要がある動作を、すぐに確認できます。

回数はショールームの全デモで共有されるアカウントに記録されます。上限に達したままでも、Reset every allowance でいつでも最初から試せます。

使用している GS2 のサービス

  • GS2-Limit: GS2-Limit の回数制限モデルが日次(毎日 00:00 UTC)と週次(毎週月曜 00:00 UTC)のリセットスケジュールを定義し、プレイヤーごとに 4 つのカウンターを数えます。上限値はカウントアップの要求ごとに指定されます。
  • GS2-Exchange: GS2-Exchange の交換レートが、無料枠での利用、視聴ポイントを消費する広告枠での利用、全カウンターのリセットの各トランザクションを定義し、サーバー側でアトミックに自動実行します。
  • GS2-AdReward: GS2-AdReward の視聴ポイントを、Watch an ad to use の広告枠での利用 1 回ごとに 1 消費します。ポイントは広告デモと同じ仕組みで、視聴完了の操作時に付与されます。

GS2 Studio で使う

GS2 Studio のシンプルモードで 機能を追加 を開き、回数制限 の 追加 を押すと、この機能を自分のプロジェクトに取り込めます。パッケージを直接指定する場合は GitHub から追加 を選び、次のパッケージを指定します。

https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-limit/packages/foundation-economy-limit
  • オーナー: gs2io
  • リポジトリ: gs2-studio-package
  • サブディレクトリ: foundation-economy-limit/packages/foundation-economy-limit

ソースコード