Unity
https://unity.com/solutions/unity-ads-
Android,iOSが対象
- GameIDの発行が二つしかない
- GameIDは各ストアに登録が必要
- Unityダッシュボード → Project Settings
- エラーメッセージを見る限りだと、収益が得られない場合があるらしい
- パッケージマネージャ → Unity レジストリ → Advertisement でインストール
-
Project Settings → サービス → Ads で初期化
- 13歳以下を対象をON
-
Unity ダッシュボード
- 初回は広告有効化が必要
- Ad Units を見て、GameIDを取得
-
広告の種類は追加済みのものを使うか、「Add Ad Unit」で任意の名前で作る
- 広告タイプ、音をミュートにする、スキップ可能5秒後
- 例えば追加済みの「Interstitial Android」だと、Ad Unit ID が Interstitial_Android となっているが、これをコードで使う
-
コードの修正
- 公式
- Initializing the SDK
Advertisement.Initialize (gameId, testMode); Advertisement.IsReady() Advertisement.Show("Interstitial_Android"); Advertisement.AddListener(this); // Advertisement.RemoveListener(this);で破棄 IUnityAdsListener Advertisement.AddListener(this);
-
Unityダッシュボード → Ad Filters
- 出す広告の制御
- Unityダッシュボード → Project Settings
-
Missing SKAdNetwork Ids from Info.plist
- iOSにおいて設定が必要であるようだ
- 連絡先の設定などもある
Acquire Optimization
- 気にしなくてよさそう。おそらく13歳以上は広告カスタマイズを有効するとかでは
広告の種類
- 表示だけ。キャンセル可能なもの
- 表示すると報酬があるもの。キャンセル不可
- バナー。ゲーム画面に出続ける
- 実装 https://docs.unity3d.com/Packages/com.unity.ads@3.4/manual/MonetizationBannerAdsUnity.html
-
位置
TOP_LEFT = 0, TOP_CENTER = 1, TOP_RIGHT = 2, BOTTOM_LEFT = 3, BOTTOM_CENTER = 4, BOTTOM_RIGHT = 5, CENTER = 6
-
サイズ
320 x 50 または 728 x 90
- サイズの選択が無かったので自動決定?どれだけUIを開けていいか分からない
- Unityエディタ上では 320x50 にしかならなかった
- ここ https://forum.unity.com/threads/banner-ad-size-on-higher-resolutions.812043/ によると、携帯は320でタブレットが728とのこと
- タブレットかどうかの判定は画面サイズや解像度でやるしかないのか?
- 公式回答も見当たらなかったので、サイズが何であれ問題ないようにする
その他
-
Advertisement.Banner.Hide(true);
で破棄する。メモリーリークする。 -
IUnityAdsShowListener.OnUnityAdsShowComplete
- 表示した後に呼ばれるイベント
- バナー表示したかどうかで報酬を与える場合に使う
- 広告によらず呼ばれるので、引数の adUnitID でバナーかどうかを見る
-
初期化はするがロードは後にすることができる。
-
Advertisement.Initialize
の引数 - 毎回Loadを呼ぶ必要がある。ロードのコールバックで完了に来たら表示する
-
-