Androidアプリでの GDPRConsent の導入手順まとめてみた

GDPR = EU一般データ保護規則

2018年頃に大騒ぎになってましたね。

もちろんAndroidアプリ開発者も無関係でいられません。

AdMob広告など表示するなら対応必須なんです。

ということで自分への忘備録も兼ね、
Androidでの GDPRConsent の導入手順をメモしておきます。

このライブラリを使えばGDPR対応も簡単です。

0.GDPRConsentとは?Google公式のConsentSDK

まずGDPRConsentについて。

これはGoogle公式の Consent SDK のことです。

次の公式ページで詳しく解説されてます。

ただこのページ・・・

なんか冗長だし、導入手順も分かりくい。

そこでエッセンシャルな部分だけ抜き出し、基本的な導入手順とかコード実装だけをまとめてみることにします。必要最低限さえ抑えておけば、意外と導入も簡単です。

まずは build.gradle へのライブラリ追加から。

次を モジュールレベルのbuild.gradleに追加すればOKです。

追記後は 【Sync now】 を押すのを忘れずに。

ここから具体的にActivity内にコードを追加していきます。

まずはConsentForm表示が必要かのチェックからです。

以下条件の該当時だけ表示することにします。

  • EUに在住している(と推定できる)
  • その上でConsent同意がなされていない

もし非EUユーザーなのに ConsentForm が表示されたら迷惑だし、またEUユーザーでもアプリ起動する度に同意画面が表示されたら迷惑です。

だから表示有無のチェックが必要。

 

具体的には以下のようなメソッドを定義します。

▼ Acitivty内にこんなメソッド作成

ただし "パブリッシャーID"  は各自のAdMobでのIDに置き換えてください。

そして requestConsent()  が同意フォームの表示処理(後述)

また loadOrShowAds()  がAdMob広告を表示する処理です。(後述)

この時点では同意フォームは表示されません。

もしEUユーザーなら同意フォームを表示します。

その具体的なコードは次の通りです。

▼ Activity内に以下のメソッドを追加

このコードの "ポリシーページURL"  は各自で置き換えてください。

あとはフォームの同意語状況に応じて処理を変えます。

▼ それぞれの ConsentStatus  の値と処理

  • PERSONALIZED
    => 非EUユーザーと同じくパーソナライズ広告表示OK
  • NON_PERSONALIZED
    => パーソナライズド広告の表示が拒否された。
  • UNKNOWN
    => 状態不明だけどパーソナライズ広告表示は恐らくNG

もしパーソナライズ広告表示が拒否されたなら、後述するようにパーソナライズでない設定で広告表示すればOKです。広告表示できない訳ではありません。

 

ちなみに表示される同意フォームはこんな見た目

▼ 実機で表示したときの様子

Android実機でGDPRConsentの同意フォーム(ConsentForm)を表示したときの様子

EUユーザー専用の同意画面です。

ただしこのコードの場合、開発者にも表示されます。

ここまでが同意フォームの表示のやり方

ユーザーは次のどちらかの意志を表明したはずです。

ただし広告拒否については除外。

  • パーソナライズド広告を許可する
  • ノンパーソナライズド広告なら許可する

非EUユーザーなら無条件で前者。

この2通りで広告表示設定をすこしだけ変更します。

 

例えばバナーを表示する場合・・・

以下のようにすればパーソナライズド設定が変更可能です。

▼ 広告表示処理でこういう細工をする

ハイライトした部分に注目!

このように "npa"  に "1"  をもつBundleインスタンスを作ります。そしてそれを AdRequest#addNetworkExtrasBundle  に渡せば非パーソナライズになります。

インタースティシャル広告やリワード広告も同様です。

あとそれから・・・このコードで「 needNonPersonalizedAd  って何?」と思う人もいるかもしれませんが、これは手順2のコードで定義してあります。念のため。

GDPRContentの導入手順まとめ

ここまでの手順を簡単にまとめ

  1. build.gradleにGDPRConsent追加する
  2. 同意フォーム表示が必要か調べる
  3. EUユーザーに同意フォームを表示する
  4. 同意結果によって広告設定を変更する

初めてだと少し面倒くさいかもしれません。

でも導入しておいた方がいいのは事実です。

以上、GDPRConsentの導入手順でした。ではまた。