GS2 Blog

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

広告視聴報酬機能が追加されました

はじめに

モバイルゲームのマネタイズ手法としてプレイヤーに広告を視聴してもらい、広告プラットフォームから報酬を得ることも一般的になりました。
広告が正しく視聴された時に広告プラットフォームからサーバー間連携で通知をもらい、GS2に報酬を付与することでチート行為を防ぐことができます。

追加された機能の詳細

一般的に GS2 では対価と報酬を設定してリソースの交換を行っていますが、サーバー間通信の仕様が広告プラットフォームごとに異なり、データの粒度も異なるため GS2-Reward では広告の視聴が確認できた際に《視聴ポイント》を1ポイント加算するようになっています。

獲得した《視聴ポイント》は GS2-Exchange や GS2-Showcase などで使用可能な消費アクションとして消費できます。

対応している広告プラットフォーム

  • AdMob(Google Mobile Ads)
  • Unity Ads

Unity からの使用例

動画の視聴を開始

各広告プラットフォームのSDKを直接利用して動画を視聴しても問題ありません。
ここでの実装例は GS2-SDK で提供しているユーティリティクラスを使用した実装例を示します。

AdMob
    await AdMobUtil.InitializeAsync(
        new RequestConfiguration() {
            TestDeviceIds = new List<string> {
                "4cd8a25ecc6250e3c140e365e5a543ff", // テストデバイスID
            },
        }
    );
    await AdMobUtil.ViewFuture(
        "ca-app-pub-8090851552121537/9708453802", // 広告ユニットID
        GameSession // ログインセッション
    );
Unity Ads
    await UnityAdUtil.InitializeAsync(
        "5416096" // Unity Ads のゲームID
    );
    await UnityAdUtil.ViewAsync(
        "test", // Placement ID
        GameSession // ログインセッション
    );

現在の広告ポイントを取得

    var domain = gs2.AdReward.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Point(
    );
    var item = await domain.ModelAsync();

視聴ポイントの加算コールバック

    gs2.AdReward.OnChangePointNotification += notification =>
    {
        var namespaceName = notification.NamespaceName;
    };
(C) Game Server Services, Inc.