【Unity】Admobのリワード広告をつけてみた

この前作った脱出ゲームにリワード広告をつけてみました。

リワード広告は、広告を見たらアイテムが手に入ったりポイントがもらえたりするのが一般的のようです。

今回、私の作った脱出ゲームの場合には、動画を見るとクリアするヒントが表示されるようにしてみました。

リワード広告を追加するために以下の手順で進めました。

  1. UnityにMobile Ads SDKを入れる
  2. Admobページで広告ユニットを作成
  3. スクリプトを追加
  4. iOSビルドして実機で確認

1については以下のページで解説しています。

【Unity】admobのバナー広告をつけてiOSアプリを作ってみた-その2-

2番目の広告ユニットの作成についてみて行きます。

報酬の設定は何も弄らずにユニット名だけ決めて作成しました。

次にスクリプトの追加です。

スクリプトは以下のサイトにあるコードを参考にしています。

https://simanezumi1989.hatenablog.com/entry/2020/03/22/104215

リワード広告を見た回数に応じて、合計4種類のヒントが表示されるようにしました。

AndroidとiPhoneの両方に対応できるようにしています。

バナー広告とリワード広告を表示するようにしています。

UserChoseToWatchAdはクリックした時に動画広告を再生する関数です。ボタンのクリックイベントに設定します。

ShowRewardResultは動画広告を全部見終わった時の報酬です。ここでヒントを表示することにしました。

あとはいろいろ問題が発生したので、下にメモっておきます。

動画がパネルに隠れてしまった

Unityで実行すると広告が出てきたんですが、UIパネルの下に隠れてしまったんですよ。

肝心の動画が見れない。

そこで、動画再生ボタンが押されたらパネルを非表示にして、見終わったら表示する処理を追加しました。

動画を見終わって広告を消した時には、HandleRewardedAdClosedが呼ばれるのでそこでパネルを復活させました。

iOSビルドしたら広告が表示されなかった

これが結構ドキドキ・ハラハラしましたね。

Xcodeでビルドして実機でアプリ実行したらバナー広告とリワード広告が両方表示されなくなったんですよ。

理由はXcodeで本番環境のバンドルIDを設定してなかったからです。

テストだと思ってXcodeでバンドルIDを適当に設定すると、別アプリとして認識されるので広告も表示されないようです。

ABOUTこの記事をかいた人

のっくん

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog