制限付き広告とファーストパーティ識別子の設定

制限付き広告を使用すると、ユーザーが個人データの共有に同意していない場合でも、アプリで広告を配信できます。制限付き広告モードでは、広告の選択を目的とする個人データの収集、共有、使用が停止されます。ユーザーが個人データの共有を拒否した場合でも、この機能により広告の配信を継続できます。

このガイドでは、アプリで制限付き広告の設定を使用する方法と、アプリの動作を Google アド マネージャー ネットワークの全般設定と一致させる方法について説明します。

クライアントの制限付き広告の設定を構成する

PAL バージョン 23.0.0 では、forceLimitedAds プロパティが導入され、allowStorage プロパティが削除されました。このプロパティは ConsentSettings クラスにあります。

バージョン 23.0.0 以降では、PAL がデバイスから透明性と同意に関するフレームワーク(TCF)のデータを読み取り、ローカル ストレージに対するユーザーの同意を判断します。以前は、アプリがストレージの同意を判断していました。アプリは引き続き、広告タグの URL で gdpr= パラメータと gdpr_consent= パラメータを渡す必要があります。

TCF に基づく自動判定が不十分な場合は、アプリで forceLimitedAds プロパティを直接設定します。詳しくは、パブリッシャー様による IAB ヨーロッパの TCF の統合をご覧ください。forceLimitedAds プロパティを true 値に設定すると、PAL はサーバーに送信されるノンスにユーザー識別子を保存したり送信したりしません。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 を無効にします。なお、この設定は、無効なトラフィックの検出を目的とした 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);