UnityでAdMobをGDPR対応させる(その1)

AdMob for GDPR Unityプログラミング

この記事では表題の通り、UnityのAdMobをGDPR対応させるためのコードについて説明します。初めに言っておきますが我流です。私的な考えです。分かりやすくするため、細かい話を抜きにして、表現も極端にしています。だから間違いも多いでしょう。でも、文句はなるべく言いっこなしってことでお願いします。雰囲気重視です。ボリュームが多くなるので、何回かに分けて執筆します。

EU向けに誤った広告配信をすると罰則がある

Unityを使えばモバイルアプリを作成できます。アプリはGoogle PlayやApp Storeで公開でき、収益化できます。収益化には2通りあります。1つはアプリ自体やコンテンツを販売すること、もう1つはアプリに広告を付けてユーザー(=ゲームをプレイする人)に見てもらうことです。そして、広告を付けたアプリをEUで配信する場合には、手順を守らなければ罰金という罰則規定、すなわちGDPRがあります。

ユーザー好みの広告配信には同意が必要

ユーザー好みの広告(いわゆるパーソナライズド広告)を表示すれば、広告はタップされやすくなります。EU向けアプリでは、こう言う機能を有効にする前には、きっちりとユーザーの同意を得る必要があります。同意が得られない場合は、こう言う機能を無効にしないといけません。機能が無効の場合は、ユーザーがどんな人かわからないということになります。だから、子供を想定した安全な広告だけが配信されることになり、広告はタップされにくくなります。

EU以外は同意取得は不要

では、EU以外はどうなのかというと、EU以外は同意を得る必要はありません。だから、アプリの配信先からEUを除外すれば、同意を得る仕組みをアプリに組み込む必要はありません。また、EU向けでも、子供を想定した安全な広告だけを配信するのであれば、同意を得る仕組みをアプリに組み込む必要はありません。ですから、アプリ配信の選択肢としては下表のようになります。下表の選択肢1のみがGDPR違反で、それ以外は遵守していると言えるでしょう。EUを諦めるか、ユーザー好みの広告を諦めるか、どちらも諦めずに同意取得機能を組み込むかのいずれかの選択になります。そしてこの記事のシリーズでは選択肢2の「どちらも諦めずに同意取得機能を組み込む」方法について解説していきます。 (補足:ChatGPTやGeminiは「EUを除外せずにGDPR対応しろ」と言っています。GDPR対応はした方がいいかも。GDPRは今後、世界に拡大していくんだろう思います

選択肢EU配信同意取得機能ユーザー好みの広告配信機能GDPR遵守状態
1ありなしあり違反
2ありありあり遵守
3ありなしなし遵守
4なしなしあり遵守
GDPR対応が必要な場合、不要な場合

同意取得の仕組みを組み込んでいく

では早速、同意取得の仕組みを導入しましょう。GoogleMobileAdsパッケージはインポート済みとします。Googleの公式ページを見て理解できるのであれば、それに越したことはありません。理解できないのであれば、この記事のシリーズが参考になるでしょう。Google User Messaging Platform(UMP)SDK というやつを使いますがこれはGoogleMobileAdsパッケージに含まれていますので、別途パッケージをインポートする必要はありません。UMPを利用すれば、ユーザーがEUであればGDPRメッセージ(=同意取得ポップアップ)が自動で表示され、EUでなければ表示されないといったことが実現できます。アプリインストールから広告が表示されるまでの処理フローはAndroidの場合は概ね以下のようになります。

AdMob広告表示までのフロー(Android)

一方、iOSの場合のフローは概ね以下のようになります。フローの中のATTは、世界の全ユーザーが対象のApple独自の仕組みです。AndroidにはATTはありません。ATTはGDPRよりも強力なユーザーの意思表示と言えます。EU以外の地域ではATTメッセージのみが表示されます。EUではGDPRメッセージの後にATTメッセージが表示されます。つまり、「GDPRで同意を得えられても、ATTで同意を得られなければユーザー好みの広告は表示されない」というかなり厳しい仕様になっています。(iOSのフローが間違っていたので修正しました2024.12.1

iOS GBDRフロー

では次回からはコードを書いていきましょう。

このシリーズの記事

コメント