UnityAdsはスマートフォン向け(Android/IOS)に広告を付与することが出来る機能です。AdMobなどのほうが広告としては有名ですが、Android/iOSの各プラットフォームに対してビルドを行う際、いくつかの知識が必要になります。その点でUnityAdsは簡単にアプリケーションを出力することが出来ます。Unityのみの開発を行っている場合はまずこちらの実装を試みると引っ掛かりが少なくて良いと思います。
出来ること・実装出来る広告の種類
UnityAdsではスマートフォンアプリに広告を導入することが出来ます。
UnityAdsに出来ること
前述の通り、UnityAdsではアプリ内広告を実装することが出来ます。広告を管理するにはUnityのGamingServicesページのダッシュボードから管理が可能です。管理ページに入ると、Monetizationタブを選択して、ゲームの種類を選択することで、各アプリに対しての設定や売上・アクセス状況等を確認することが出来ます。
売上は一定額以上に到達すると指定口座に入金をするか、PayPalで支払いを選択することが出来ます。基本的にドルでの支払いになるため、入金する場合は銀行から電話がかかってきたり、交換時の換金レートを確認する必要があるのでPayPalで受けたほうが楽かな?と思ってます。(税金対策的な意味でも・・・)
個人的には売上状況を確認できるのと同じぐらいありがたいのは、広告へのアクセス状況を確認できるポイントです。バナーやインタースティシャルなどのPV状況はアプリがどのぐらい遊ばれているかの指標になります。DAUなども把握できるため簡単なKPIにもなるのでとても便利!UnityAnalyticsをOnにしておいても情報が手に入るのでUnityでアプリを作るなら活用しない手は無いですよ!
DAU(一日にアプリを何回起動したかどうか)と収益の相関関係などは自分なりの指標を得られるためアプリをリリースのはとっても大事!
広告の種類
広告の種類は全部で3種類
- 動画広告
- インタースティシャル広告
- バナー広告
バナー広告まで使えるようになったというのは、昔からUnityAds使っている人は驚くんじゃないでしょうか?
実装準備と実装時の注意点など
実装に関しては基本的にこちらのドキュメントから行うことが可能です。https://docs.unity.com/ads/UnityAdsHome.html
実装準備
まずは設定でUnityAdsを使う前段階の準備を行いましょう。
Window/General/Serviceからサービスビューを起動します。サービスビューの中のにはいろいろな設定が出来るようになっていますが、AdsのOFFをONになるように設定して下さい。
AdsタブをクリックしてProjectSettingsビューを開きます。Service/Adsのページが開きますので各種設定などの確認を行って下さい。その際注意したいのはAds Packageのバージョンです。導入時期にもよりますが、4系(4.1.0など)未満の場合はアップデートを行う必要があります。
UnityAdsの実装で利用するコールバックを使うには4系以上のバージョンが必要になります。必ずアップデートしてください。
Service/Adsのページ上部のDashboardリンクからUnityAdsのダッシュボードへ移動可能です。移動先では各設定が確認出来ます。ここで確認しておきたいのは各広告用IDです。
AdUnitsリンクから各広告種類のAndroid/iOAごとのUnitIDが確認出来ます。実装時に必要になりますのでメモしておきましょう。(いつでも見れるようにしておきましょう)
上記の設定が完了すると、UnityAdsを利用することが出来るようになります。
UnityAdsが使えるようになったかを確認する方法
実際に使えるようになったかどうかが確認するのはとても大事。先程の設定が出来たら次のスクリプトを作ってUnityAdsが使えるようになったか確認を行いましょう。スクリプト名はAdsInitializerです。(スクリプトはチュートリアルママ)
using UnityEngine;
using UnityEngine.Advertisements;
public class AdsInitializer : MonoBehaviour, IUnityAdsInitializationListener
{
[SerializeField] string _androidGameId;
[SerializeField] string _iOSGameId;
[SerializeField] bool _testMode = true;
private string _gameId;
void Awake()
{
InitializeAds();
}
public void InitializeAds()
{
_gameId = (Application.platform == RuntimePlatform.IPhonePlayer)
? _iOSGameId
: _androidGameId;
Advertisement.Initialize(_gameId, _testMode, this);
}
public void OnInitializationComplete()
{
Debug.Log("Unity Ads initialization complete.");
}
public void OnInitializationFailed(UnityAdsInitializationError error, string message)
{
Debug.Log($"Unity Ads Initialization Failed: {error.ToString()} - {message}");
}
}
スクリプトが用意できたら空のGameObjectに貼り付けます。インスペクターに以下の2つのIDを入力するところが出てくると思います。こちらにProject Settingsに記載されているGame IDを対応したプラットフォーム名のフィールドに入力して下さい。
Unityを起動後に「Unity Ads initialization complete.」のログが出れば成功です!
うまくいかない場合は?
以下の点に注意をしてみて下さい
- プラットフォームが(Android/iOS)いずれかに設定出来ていない
- UnityAdsのバージョンが3系のまま(アップデート出来ていない)
- GameIDが間違えている
ちなみにバージョン更新ができていない場合はログが何も表示されず、IDなどが間違っている場合はFailedのメソッドが呼ばれます。
コメント