> For the complete documentation index, see [llms.txt](/llms.txt)

# 広告

広告視聴の実績を記録し、広告経由の報酬付与に使えるポイントを管理します。




**このデモについて**

デモは匿名アカウントで自動的にログインします。このアカウントはショールームのすべてのデモで共有されるため、あるデモで手に入れたアイテムや通貨が別のデモにも反映されます。読み込みには少し時間がかかります。画面が小さい場合は新しいタブで開いてお試しください。

## 概要

広告の視聴が完了するたびにポイントを 1 貯め、報酬と引き換えるときに 1 使う流れを示すデモです。ショールームはブラウザ上で動く WebGL のため、モバイル専用の広告 SDK（Unity Ads・LevelPlay・AdMob）は動かず、実際の広告は再生されません。代わりに広告枠の代役となるパネルを表示し、「視聴が完了した」とタイトル側が判断した時点から先の、GS2 が担う部分を実際に動かします。

## 試し方

1. **Ad view point** の **Balance** に、貯まっている視聴ポイントが **0 view(s) banked** のように表示されます。
1. **Ad break** を押すと **Advertisement** パネルが開き、広告が再生されない理由が表示されます。**You can continue in 5s.** のカウントダウンが終わるまで待ちます。
1. **I finished watching** を押すと視聴完了として GS2 にポイントを要求し、**Balance** が 1 増えます。**Close** を押した場合はポイントは付与されません。
1. **Spend** を押すとポイントを 1 消費し、**Balance** が 1 減ります。

製品版では、**I finished watching** の位置で広告ネットワークの視聴完了コールバックを受けてポイントを付与します。視聴が本当に行われたかの判断はタイトル側の責務です。

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

- [GS2-AdReward](/ja/microservices/ad_reward/): GS2-AdReward のネームスペースがプレイヤーごとの視聴ポイントを保持します。付与は `Gs2AdReward:AcquirePointByUserId`、消費は `Gs2AdReward:ConsumePointByUserId` で行い、付与時に視聴の真偽は検証しません。
- [GS2-Exchange](/ja/microservices/exchange/): GS2-Exchange の 2 つの交換レートが、ポイントを 1 付与するトランザクション（**I finished watching**）と 1 消費するトランザクション（**Spend**）を定義し、サーバー側で自動実行します。

## GS2 Studio で使う

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

```text
https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-ad/packages/foundation-economy-ad
```

- オーナー: `gs2io`
- リポジトリ: `gs2-studio-package`
- サブディレクトリ: `foundation-economy-ad/packages/foundation-economy-ad`

## ソースコード

- デモのプロジェクト: <https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-ad/live-demo>
- 機能パッケージ: <https://github.com/gs2io/gs2-studio-package/tree/main/foundation-economy-ad>



