制限付き広告を使用すると、アプリで ユーザーが個人データの共有に同意しない場合でも広告を配信できます。制限付き広告モードでは、広告の選択を目的とする個人データの収集、共有、使用が停止されます。ユーザーが個人データの共有を拒否した場合でも、この機能を使用すると広告の配信を継続できます。
このガイドでは、アプリで制限付き広告の設定を使用する方法と、アプリの動作を Google アド マネージャー ネットワークのグローバル設定と一致させる方法について説明します。
クライアントの制限付き広告の設定を構成する
PAL バージョン 3.0.0 では、forceLimitedAds プロパティが導入され、allowStorage プロパティが削除されました。このプロパティは
PALSettings
クラスにあります。
バージョン 3.0.0 以降、PAL はデバイスから透明性と同意に関するフレームワーク(TCF)のデータを読み取り、ローカル ストレージに対するユーザーの同意を判断します。以前は、ストレージの同意を判断するのはアプリの役割でした。アプリでは引き続き、広告タグの URL に gdpr= パラメータと gdpr_consent= パラメータを渡す必要があります。
TCF に基づく自動判断が不十分な場合は、アプリで
forceLimitedAds プロパティを直接設定します。詳しくは、
パブリッシャー様による IAB ヨーロッパの TCF の統合をご覧ください。
forceLimitedAds プロパティを true 値に設定すると、PAL はサーバーに送信されるノンスにユーザー識別子を保存したり送信したりしません。forceLimitedAds プロパティを true 値に設定することは、IMA(インタラクティブ メディア広告)SDK の広告リクエスト URL に ltd=1 パラメータを追加するのと同じです。制限付き広告について詳しくは、
ltd(制限付き広告)をご覧ください。
forceLimitedAds プロパティを true 値に設定すると、PAL はノンスに ltd=1 パラメータを含めます。
アプリの現在の動作を維持するには、これまで allowStorage プロパティを設定していない場合でも、実装の更新が必要となることがあります。allowStorage プロパティのデフォルト値は false で、制限付き広告が有効になっていました。 forceLimitedAds プロパティのデフォルト値は false
値で、制限付き広告は 有効になりません。
TCF に基づく判断を行うように PAL の実装を更新する
PAL tvOS では、バージョン 3.0.0 に更新する際に操作が必要です。このバージョンでは、PAL がデバイスから TCF データを読み取り、ローカル ストレージに対するユーザーの同意を判断できるようになります。このバージョンでは、forceLimitedAds プロパティが追加され、allowStorage プロパティが削除されています。TCF に基づく制限付き広告の有効化がアプリの要件を満たしていない場合にのみ、forceLimitedAds プロパティを使用するようにアプリを更新してください。TCF に基づく判断について詳しくは、
パブリッシャー様による IAB ヨーロッパの TCF の統合をご覧ください。
Google アド マネージャーのグローバル設定と一致させる
アド マネージャーの設定 [プログラマティック制限付き広告] または [アプリに表示される広告のファーストパーティ ID] を更新する場合は、これらの新しい API を使用してアド マネージャーの設定と一致させます。API を使用しない場合、PAL はサーバーへの広告リクエストで使用されるノンスに識別子を含める可能性があります。ただし、アド マネージャーの設定によっては、アド マネージャーがシグナルを破棄する可能性があります。
API は次のとおりです。
disableLimitedAdsStorage- 無効なトラフィック検出専用の 識別子と、 制限付き広告でのローカル ストレージの使用を無効にします。管理者 > 全般設定 でアド マネージャーの [プログラマティック制限付き広告] 設定を更新した場合は、この API を使用して、PAL で制限付き広告のローカル ストレージの使用を無効にします。なお、この設定は制限付き広告以外の広告には適用されません。disableFirstPartyIdentifiers- 広告の選択に使用されるファーストパーティ ID を無効にします。管理者 > 全般 設定でアド マネージャーの [アプリに表示される広告のファーストパーティ ID] 設定を更新した場合は、この API を使用して、PAL でそのような識別子を無効にします。なお、この設定は、無効なトラフィック検出での識別子とローカル ストレージの使用には適用されません。
アプリでユーザーの同意を処理する
次の例では、PAL の実装でユーザーのプライバシーとデータ使用量を処理します。
Objective-C
PALSettings *settings = [[PALSettings alloc] init];
// PAL tvOS version 3.0.0 introduces
// `PALSettings.forceLimitedAds` and removes `PALSettings.allowStorage`.
// Best practice is to not set `forceLimitedAds` to allow PAL to automatically
// determine whether limited ads applies based on the TCF data.
// To enable limited ads regardless of the TCF determination, set the
// `forceLimitedAds` property to a `true` value.
settings.directedForChildOrUnknownAge = NO;
PALGoogleAdManagerSettings *adManagerSettings = [[PALGoogleAdManagerSettings alloc] init];
// Add this line if the "Programmatic limited ads" toggle is turned off in
// Ad Manager.
adManagerSettings.disableLimitedAdsStorage = YES;
// Add this line if the "First party identifiers for ads on app" toggle
// is turned off in Ad Manager.
adManagerSettings.disableFirstPartyIdentifiers = YES;
self.nonceLoader = [[PALNonceLoader alloc] initWithSettings:settings
googleAdManagerSettings:adManagerSettings];
Swift
let settings = PALSettings()
// PAL tvOS version 3.0.0 introduces
// `PALSettings.forceLimitedAds` and removes `PALSettings.allowStorage`.
// Best practice is to not set `forceLimitedAds` to allow PAL to automatically
// determine whether limited ads applies based on the TCF data.
// To enable limited ads regardless of the TCF determination, set the
// `forceLimitedAds` property to a `true` value.
settings.directedForChildOrUnknownAge = false
let adManagerSettings = PALGoogleAdManagerSettings()
// Add this line if the "Programmatic limited ads" toggle is turned off in
// Ad Manager.
adManagerSettings.disableLimitedAdsStorage = true
// Add this line if the "First party identifiers for ads on app" toggle
// is turned off in Ad Manager.
adManagerSettings.disableFirstPartyIdentifiers = true
self.nonceLoader = PALNonceLoader(
settings: settings,
googleAdManagerSettings: adManagerSettings
)