みなさん、こんにちは。今回はUnityの話です。Unityで作ったiOSアプリにAdMob広告を入れた場合、実機で動作確認をしないといけません。その際、広告ID(iOSではIDFAと呼ばれる)というものが必要なります。ですが、iOSの広告IDは簡単には確認できません。この記事ではiOSの広告IDを確認する方法について解説します。
もし、内容に間違いがあれば申し訳ないです。(面倒な説明がお嫌いな方は、結論の3章に直行してください。)
Unity 6000.2.6f2
広告IDとは
アプリ開発者はアプリにAdMob広告をつけて収益化することが多いです。ユーザー好みの広告(=パーソナライズド広告)を出せば儲かります。それに使われるものが広告IDです。
広告IDというのはユーザーに割り当てられたIDで、中身は英数字と記号でできた文字列です。
広告IDは本来は、前述のようにパーソナライズド広告に利用されるものです。ですが、アプリ開発者にとっては、テスト機をGoogle側に認識させるためのIDとなります。広告IDを使うと、テスト機を収益対象から確実に外せるだけでなく、Ad Inspectorという開発者専用ツールをテスト機で使えるようになります。
広告IDはAndroidではGAID、iOSではIDFAと呼ばれます。Androidの場合は、端末のGoogle設定からGAIDを確認できます。ところが、iOSの場合は、端末の設定からIDFAを確認することができません。
IDFAを確認するための3つの方法
IDFAを確認する方法には以下の3つがあります。
- IDFAを確認するためのアプリをインストールする
- Swiftで自作する
- Unity純正のメソッドを使う
まず、1つ目です。App StoreにIDFAを確認するためのアプリがあるみたいです。でも、私はそういったものはなるべく使用しない方が良いと考えます。つまり、あなたとAppleとGoogleという3人の登場人物の物語に、見ず知らずの第三者を投入する必要は全くないということです。
次に、2つ目です。プラグインを自作するためにはSwiftとObjective-C++の知識が必要です。とってもハードルが高いですので、ゴリゴリの技術者以外は手を出さない方が良いでしょう。
というわけで、私がお勧めするのは、最後の3つ目です。そうです。UnityにはIDFAを確認するための純正のメソッドが実はあるんです。それを使えば安全だし楽です。
Unity純正のメソッド
Unityの公式サイトに広告IDを確認するための以下のメソッドが紹介されています。このメソッドを使うと、iOSとUWPの広告IDを確認することができます。(UWPというのはWindowsのアプリのことです。)
Application.RequestAdvertisingIdentifierAsync((advertisingId, trackingEnabled, error) =>
{
Debug.Log("advertisingId " + advertisingId + " " + trackingEnabled + " " + error);
});iOSのテスト機でRequestAdvertisingIdentifierAsyncを実行した場合、引数のadvertizingIdにIDFAが入って戻ってきます。トラッキングを許可しない場合は、IDFAは0ばかりの文字列になります。トラッキングを許可した場合は、IDFAは英数字と記号でできた文字列となります。得られたIDFAは、AdMobのコンソール上で行えるテストデバイスの登録に使うことができます。
なお、広告IDは個人情報ですので、このメソッドの利用は開発中だけにしておく方がよいでしょう。つまり、リリース前にこのメソッドを削除しましょう。

コメント