【AdMob】テスト用デバイスのIDFAの確認方法【SwiftUI】

IDFA確認方法

iOSデバイスのIDFAは、通常のiPhoneの機能では確認できません。

この記事では、

  • IDFAの確認が必要性
  • プログラムで確認する方法

をわかりやすく解説します。

IDFAの確認方法を知りたい方はぜひチェックしてください!

こんな人にオススメ!
  • iOSデバイスのIDFAの確認方法を知りたい人
  • iOSアプリ開発でのIDFAの必要性について知りたい人
動作確認環境
  • macOS Sequoia 15.4
  • Xcode 16.2
この記事のポイント
  • IDFAは広告配信用のデバイスID
  • AdMob(Googleの広告配信ツール)でのテストデバイス設定にIDFAが必要
    • この設定をしないと、テスト中の誤操作がGoogleから不正行為と判断されてしまう可能性がある
  • iOSデバイスは、そのままではIDFAを確認できない
    • 確認方法1:専用アプリを使う
    • 確認方法2:確認用プログラムを実行する(この記事で解説)
Contents

IDFAって何?iOSアプリの開発に必要なの?

IDFAは、iOSの広告配信用のデバイスIDのこと

Identifier for Advertisers(IDFA)はiOSの広告配信用のデバイス固有のIDのことです(Androidだと、広告IDといいます)。

このIDを広告配信者(Google AdMobなど)が利用することで、

  • 広告の効果を測定する
  • よりユーザーが興味のある広告を配信する

といったことができるようになります。

iPhoneを使っていると、たまに以下のようなポップアップが出てくると思います。

これはIDFAを利用を許可することで、デバイス上での広告関連の情報をトラッキングする、ということになります。

トラッキングの許可を求めるポップアップ
トラッキングの許可を求めるポップアップ(出典;ITMedia)

なお、アプリがIDFAを利用するのに事前にユーザーの許可が必要になったのは、iOS14.5からのことです。

IDFAはGoogle AdMobのテストデバイス設定に必要

このIDFAは、Google AdMobのテストを実機でする場合に、テストデバイス設定をするのに必要です。

IDFAがデバイスを識別するのに必要な情報だからです。

なお、テストデバイス設定をしなくてもテストはできるのですが、問題が発生する場合があります。

それは、本番用の広告ユニットIDを設定した状態(本物の広告が表示されている状態)で、開発者が実機でテストをしているときに、その広告をタッチするとGoogleから不正行為とみなされてしまう可能性がある、というものです。

つまり、開発者が広告をタッチしまくることで、不正に収益を上げようとしている、と思われてしまうかもしれないのです。

最悪の場合は、AdMobのアカウント停止もありえます。

これを防ぐために、開発者がテストに使う実機デバイスはテストデバイスに設定するのが良い、ということになります。

デバイスのIDFAを確認する方法は?

iOSの機能では確認できない

現在、IDFAはiOSの機能では確認できません。

設定アプリなどから見ることはできないということです。

そのため、

  1. App Storeで配信されている確認用アプリを使う
  2. 自分でプログラムを作り、実機で実行して確認する

という方法で確認することになります。

この記事では2番目の方法について解説します。

自作プログラムを実機で実行してIDFAを確認する

自作プログラムを実機で実行してIDFAを確認する流れは次のようになります。

  • プログラムを作成
    • トラッキングの許可をユーザーに求める(ATT Request)
    • info.plistにPrivacy – Tracking Usage Descriptionを追加
  • 実機の設定でトラッキングを許可
  • 実機でプログラムを実行

プログラムを作成

Xcodeで

  • Interface:SwiftUI
  • Language:Swift

の新規プロジェクトを作成します。

そして、ContentViewを以下のように編集します。

import AdSupport
import AppTrackingTransparency
import SwiftUI

struct ContentView: View {
    var body: some View {
        Button {
            printIDFA()
        } label: {
            Text("Print My IDFA")
        }
    }
    
    func printIDFA() {
        ATTrackingManager.requestTrackingAuthorization { status in
            switch status {
            case .authorized:
                // ポップアップでトラッキングが許可された場合
                let idfa = ASIdentifierManager.shared().advertisingIdentifier
                print("IDFA: \(idfa)")
                
            case .denied:
                print("tracking is denied.")

            case .restricted:
                print("tracking is restricted.")

            case .notDetermined:
                print("tracking is not determined.")

            @unknown default:
                fatalError("ATT request status unknown: \(status)")
            }
        }
    }
}

#Preview {
    ContentView()
}

続いて、info.plistを編集します。

プロジェクトを選択してターゲットを選び、「info」>「Custom iOS Target Properties」で「+」ボタンを押して、に「Privacy – Tracking Usage Description」を追加します。値は任意です。

実機のトラッキング設定をしてプログラムを実行する

実機の「設定」>「プライバシーとセキュリティ」>「トラッキング」からアプリからのトラッキング要求を許可を有効にします。

その後、実機でプログラムをXcodeから実行し、トラッキングの許可を求めるポップアップが出たら許可をします。

そうすると、デバッグコンソールに実機のIDFAが表示されます。

なお、ポップアップで一度許可しない方を選んでしまうと、ポップアップは出なくなってしまいます。

その場合は、一度アプリを削除してから再実行してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

Contents