制限付き広告を使用すると、ユーザーが個人データの共有に同意していない場合でも、アプリで広告を配信できます。制限付き広告モードでは、広告の選択を目的とする個人データの収集、共有、使用が停止されます。ユーザーが個人データの共有を拒否した場合でも、この機能により広告の配信を継続できます。
このガイドでは、アプリで制限付き広告の設定を使用する方法と、アプリの動作を Google アド マネージャー ネットワークの全般設定と一致させる方法について説明します。
クライアントの制限付き広告の設定を構成する
PAL では、ユーザーのプライバシーとデータ使用に関する管理を強化するため、設定の処理方法を更新しています。PAL バージョン 23.0.0 では、forceLimitedAds プロパティが導入され、既存の allowStorage プロパティが削除されています。これらのプロパティは ConsentSettings クラスにあります。
バージョン 23.0.0 以降では、PAL がデバイスから透明性と同意に関するフレームワーク(TCF)データを読み取り、ローカル ストレージに対するユーザーの同意を判断します。TCF データの読み取りに関するこの変更により、既存の allowStorage プロパティは冗長になります。アプリは引き続き、広告タグの URL で gdpr= パラメータと gdpr_consent= パラメータを渡す必要があります。
TCF に基づく自動判定が不十分な場合は、アプリで forceLimitedAds プロパティを直接設定します。詳しくは、パブリッシャー様による IAB ヨーロッパの TCF の統合をご覧ください。forceLimitedAds プロパティを true 値に設定すると、PAL はサーバーに送信されるノンスにユーザー ID を保存したり送信したりしなくなります。forceLimitedAds プロパティを true 値に設定することは、IMA(Interactive Media Ads)SDK の広告リクエスト URL に ltd=1 パラメータを追加することと同じです。制限付き広告について詳しくは、ltd(制限付き広告)をご覧ください。forceLimitedAds プロパティを true 値に設定すると、PAL はノンスに ltd=1 パラメータを含めます。
アプリの現在の動作を維持するには、これまで allowStorage プロパティを設定していない場合でも、実装の更新が必要となることがあります。既存の allowStorage プロパティはデフォルトで false 値に設定され、制限付き広告が有効になります。forceLimitedAds プロパティのデフォルト値は false で、制限付き広告は有効になりません。
TCF ベースの判定のための PAL 実装を更新
PAL Android では、バージョン 23.0.0 に更新する際にアクションが必要になります。これにより、PAL はデバイスから TCF データを読み取り、ローカル ストレージに対するユーザーの同意を判断できるようになります。このバージョンでは、forceLimitedAds プロパティが追加され、allowStorage プロパティが削除されます。制限付き広告の TCF ベースの有効化がアプリの要件を満たしていない場合にのみ、forceLimitedAds プロパティを使用するようにアプリを更新してください。TCF に基づく判定について詳しくは、パブリッシャー様による IAB ヨーロッパの TCF の統合をご覧ください。
Google アド マネージャーのグローバル設定を一致させる
アド マネージャーの設定 [プログラマティック制限付き広告] または [アプリに表示される広告のファーストパーティ ID] を更新する場合は、これらの新しい API を使用して、アド マネージャーの設定を一致させます。API を使用しない場合、PAL はサーバーへの広告リクエストで使用されるノンスに ID を含める可能性があります。ただし、アド マネージャーの設定によっては、シグナルがドロップされることがあります。
API は次のとおりです。
disableLimitedAdsStorage- 無効なトラフィック検出専用の識別子と、制限付き広告用のローカル ストレージの使用を無効にします。アド マネージャーの [管理] > [グローバル設定] で [プログラマティック制限付き広告] の設定を更新した場合は、この API を使用して、PAL での制限付き広告のローカル ストレージの使用を無効にします。なお、この設定は制限なしの広告には適用されません。disableFirstPartyIdentifiers- 広告選択に使用されるファーストパーティ識別子を無効にします。アド マネージャーの [管理 > グローバル] 設定で [アプリに表示される広告のファーストパーティ ID] 設定を更新した場合は、この API を使用して PAL でそのような識別子を無効にします。なお、この設定は、無効なトラフィックの検出を目的とした ID とローカル ストレージの使用には適用されません。
アプリでユーザーの同意を処理する
次の例では、PAL 実装でユーザーのプライバシーとデータの使用を処理します。
ConsentSettings consentSettings = ConsentSettings.builder()
.directedForChildOrUnknownAge(false)
.build();
// PAL Android version 23.0.0 introduces
// `ConsentSettings.forceLimitedAds` and removes `ConsentSettings.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.
GoogleAdManagerSettings adManagerSettings = GoogleAdManagerSettings.builder()
// Add this line if the "Programmatic limited ads" toggle is turned
// off in Ad Manager.
.disableLimitedAdsStorage(true)
// Add this line if the
// "First party identifiers for ads on app" toggle is turned
// off in Ad Manager.
.disableFirstPartyIdentifiers(true)
.build();
nonceLoader = new NonceLoader(this, consentSettings, adManagerSettings);