みなさんこんにちは。GS2 CEOの丹羽です。
こちらで告知していたイベントスケジュール管理機能を公開しましたのでお知らせします。
機能の説明について同じ話をしても意味が無いので、今回は実装例を紹介します。
イベントマスターデータの管理については以下のページを参照してください。
現在有効なイベントの一覧を取得する場合のサンプル
yield return Gs2.Schedule.List( r => { if (r.Error != null) { // 例外が発生 } foreach (var eve in r.Result.Events) { Debug.Log("name: " + eve.Name); // イベント名 Debug.Log("meta: " + eve.Meta); // メタデータ Debug.Log("begin: " + eve.Begin); // 開始日時 Debug.Log("end: " + eve.End); // 終了日時 } }, Session, // ゲームセッション ScheduleName, // スケジュール名 new []{EventName1, EventName2}); // イベント名のリスト(省略することで全件取得)
現在有効なイベントを取得する場合のサンプル
yield return Gs2.Schedule.Get( r => { if (r.Error != null) { // 例外が発生 } Debug.Log("name: " + r.Result.Name); // イベント名 Debug.Log("meta: " + r.Result.Meta); // メタデータ Debug.Log("begin: " + r.Result.Begin); // 開始日時 Debug.Log("end: " + r.Result.End); // 終了日時 }, Session, // ゲームセッション ScheduleName, // スケジュール名 EventName1); // イベント名
アカウント登録時に相対時間のイベントを開始する
schedule_client = client('schedule') –- GS2-Schedule のクライアントを初期化 result = schedule_client.pull_trigger({ scheduleName="schedule-0001", -- スケジュール名 triggerName="trigger-0001", -- トリガー名 userId="user-0001", -- ユーザID action="pull_again" -- トリガーの引き方 }) result = {permit=not result.isError} -- トリガーを引くのに失敗した場合失敗とする
このスクリプトを GS2-Script に登録し GS2-Account のアカウント登録イベントでフックすることで、
アカウント登録時にイベントの開始トリガーを引くことが出来ます。
利用料金は完全従量制で
イベントの取得 | 1円/1,000件 |
---|---|
トリガーの操作 | 3円/1,000回 |
イベントマスタのエクスポート | 1円/回 |
+ API呼び出し回数 3円/1,000回
と非常に扱いやすい内容になっています。
それでは、また。