目的

AdMobなどの広告は、IDFAという機能を利用している。
iOS14では、IDFAを利用する際、ユーザに同意を得なくてはならなくなる。
この同意を得る仕組みがApp Tracking Transparency(ATT)フレームワークだと思ってます。
ただ、Appleは2020年9月に、ATTの実装を来春まで延期するとした。なので、現在iOS14でもIDFAを利用できる。
という背景があると思います。

この記事ではそのATTフレームワークのAdMobでの設定メモです。

以下の記載は、2020年10月のもので、変更になる可能性もあります。
AdMob公式サイトでも明記されている。

因みに導入はATTが延期される来春まで待ったほうがよい。
この設定で、広告収入に影響が出ると言われている。

環境

  • Xcode Version 12.0
  • Swift 5

参照サイト

Google AdMob Prepare for iOS 14

AdMobに関係ないけど、以下のサイトの説明とかも参考になった。
adjust iOS 14における広告トラッキングの変更の適用延期について アドテク大学 【iOS14対策】メディアが対応すべきことを解説!アプリマネタイズの未来はどうなる? ファンディング チョイスの概要

Google Mobile Ads SDK(バージョン 7.64 以上)にする。

ターミナルより、以下コマンドで、現在のGoogle Mobile Ads SDKのバージョンを確認
自分はCocoaPodsで導入している。

AdMobバージョン確認
$ pod outdated

->
...
- Google-Mobile-Ads-SDK 7.64.0 -> 7.66.0 (latest version 7.66.0)
...
7.66が出ているので、それにしてみる。
AdMobアップデート
$ pod update Google-Mobile-Ads-SDK

Info.plistの設定

SKAdNetworkの追加

以下のxmlの設定をInfo.plistに追加する。

SKAdNetworkの追加
<key>SKAdNetworkItems</key>
  <array>
    <dict>
      <key>SKAdNetworkIdentifier</key>
      <string>cstr6suwn9.skadnetwork</string>
    </dict>
  </array>

### IDFA利用のポップアップの追加 IDFAを利用するにはユーザの許諾が必要で、そのポップアップを追加する。
AdMob公式サイトでは、User Messaging Platform (UMP) SDKの利用を勧めているが、
以下のようにiOS標準のも利用できる。

This identifier will be used to deliver personalized ads to you.
のトコロは各々改変してください。適当だとリジェクト食らうと思う。
また、ユーザに親切に説明したほうが良いと思う。

os標準のIDFA利用ポップアップ
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

実際のポップアップの表示はコード上で以下の様に行う。
iOS14未満のOSをターゲットとしているとエラーとなるので、if文でiOS14をターゲットとする。

import AppTrackingTransparency
import AdSupport
....
....
if #available(iOS 14, *) {
    ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in
    // Tracking authorization completed. Start loading ads here.
    // loadAd()
    })
}

所感1

私は来春まで導入しません。
というか、ポップアップの記載文がひどい。
*あなたを追跡する許可を求めています。*って。。。
その下の文はカスタマイズできるけど。結構なユーザがトラッキングしないようにする可能性が高い。

所感2

上記記事内で、
AdMob公式サイトでは、User Messaging Platform (UMP) SDKの利用を勧めている と書いたけど、
UMPライブラリを使えば、許可のポップアップ文章を変えられるという文言も見受けられた。
参照サイトの3つ目のサイトにはTwitterのポップアップ画面が掲載されているけど、これだと良いなと思った。

UMPライブラリとはGoogleが提供しているもので、ファンディングチョイス機能をいうものと組み合わせて使うらしい。

近年、個人情報保護の法案が活性化してきていて(海外で)。 ファンディングチョイス機能は以下の種類のものに、それぞれカスタマイズしてメッセージを出せるらしい

  • IDFAメッセージ
  • EU圏の法案に対するメッセージ
  • 米国カリフォルニア州の法案に対するメッセージ
  • 広告ブロッカーに対応したメッセージ

(かなりメンドイ)この記事ではこれ以上は追求しないです。

超注意

私とりあえずplistの部分だけ組み込んでAppleの審査に出しましたが。
リジェクトくらいました。
ATT組み込んでいるみたいだけど、使ってる場所表示しろよ。
みたいな。。。

- Please provide steps to locate AppTrackingTransparency in the app, if it is already implemented in this version.
ちゃんと設定しないなら、plistの部分も削除すべきですね。