iOS14 ATT対応
iOS14 App Tracking Transparency対応についてのガイド
iOS14からは、App Tracking Transparencyを使ってアプリトラッキングの承認リクエストをするためのダイアログを表示し、ユーザが許可するまでIDFAを取得できなくなりました。
このダイアログを提示しない場合、IDFAは0となり、広告収入の損失に繋がる可能性があります。
このドキュメントでは、iOS14をサポートするために必要な対応について説明します。
前提条件
- VAMP SDK 4.1.0以降
App Tracking Transparencyでユーザの許諾をリクエスト
IDFAを取得するためにはApp Tracking Transparency
でユーザの許諾を得る必要があります。
1. Info.plistにNSUserTrackingUsageDescriptionを追加
Info.plistにNSUserTrackingUsageDescriptionをキーに使用方法の説明を追加します。
※説明を追加せずにユーザの許諾をリクエストしようとすると、アプリがクラッシュします。
以下は説明文のサンプルです。
<key>NSUserTrackingUsageDescription</key>
<string>App would like to access IDFA for tracking purpose</string>
この説明文は以下のようにダイアログ内で表示されます。
2. ユーザの許諾をリクエスト
許諾ダイアログを表示するには、ATTrackingManager
のrequestTrackingAuthorizationWithCompletionHandler
を実装します。
完了コールバックが呼ばれてから広告をロードすることをお勧めします。
#import <AppTrackingTransparency/AppTrackingTransparency.h>
...
- (void)requestIDFA {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
}
App Tracking Transparencyの詳細については、公式ドキュメントを参考にしてください。
SKAdNetworkの設定
アドネットワークのSDKがSKAdNetworkに対応している場合、AdNetworkIDをInfo.plistに設定することで、
IDFAが利用できなくても、コンバージョンを追跡することができます。
SKAdNetworkItems
キーに対して、SKAdNetworkIdentifier
を追加し、AdNetworkIDを設定します。
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>[ADNETWORK_ID]</string>
</dict>
</array>
SKAdNetworkIdentifier
の値は将来的に変更されたり、追加される可能性があります。
各社のSKAdNetworkIdentifierの一覧はこちらからご覧になれます。
デフォルトブラウザ変更
iOS14でデフォルトのブラウザアプリをSafari以外に切り替えた際に正しく遷移できなくなるケースがあるため、info.plistに下記を追加してください。
<key>LSApplicationQueriesSchemes</key>
<array>
<string>http</string>
<string>https</string>
</array>