GS2 Blog

Game Server Services(https://gs2.io/) の最新情報をお届けします

【新サービス公開】イベントスケジュール管理機能

みなさんこんにちは。GS2 CEOの丹羽です。

gs2.hatenablog.com

こちらで告知していたイベントスケジュール管理機能を公開しましたのでお知らせします。
機能の説明について同じ話をしても意味が無いので、今回は実装例を紹介します。

イベントマスターデータの管理については以下のページを参照してください。

イベントマスタフォーマット - GS2 Documents

現在有効なイベントの一覧を取得する場合のサンプル

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回

と非常に扱いやすい内容になっています。

それでは、また。

(C) Game Server Services, Inc.