👻

[GMS2] ヨーロッパ向けにGDPRに対応する

3 min read

前回、AdMobの設定方法という記事を書いたのですが、関連してヨーロッパ向けのアプリにAdMobなどの広告を入れるときに必須になるGDPRへの対応方法についてメモしておきます。

GDPRについては、詳しくはググっていただけると良いと思いますが、「EU一般データ保護規則」という法律で、広告を表示する際などに、広告ネットワークが、ユーザーのデバイスIDなどの情報にアクセスすることへの許可を必ずユーザー側に求めなければならないといった条項が含まれています。
罰則金が非常に重いらしく、ヨーロッパ向けに広告付きアプリをリリースする際には必ず対応が必要になります。

対応方法

こちらに関しては便利なプラグインが用意されており、非常に簡単です。
前回の記事で使用したGoogle AdMobプラグインの中に、Obj_AdMob_consentというオブジェクトファイルが同梱されているので、それを最初のルーム内のどこかに配置するだけです。

動作確認方法

このGDPRの承認を求めるポップアップは、対象国内からのアクセスでなければ表示されない仕組みになっているので、日本からデバッグを行うには、以下のようにして動作確認をします。

obj_AdMob_Consent内のcreateイベントの中身は下記のようになっています。

/// @description Initialize variables

// Regarding consent request first of all we should select the mode we want to use for.
// You can use debug modes for different geographic locations EEA, NON-EEA, DISABLED.
// You can also use PRODUCTION mode when we are ready to deploy the application.
//AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_DEBUG_GEOGRAPHY_EEA);
//AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_DEBUG_GEOGRAPHY_DISABLED)
//AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_DEBUG_GEOGRAPHY_NOT_EEA)
AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_PRODUCTION);

// This function is here for debug purposes and uses 'AdMob_Consent_GetType' and
// 'AdMob_Consent_GetStatus' to print the current consent Status/Type to the console.
function AdMob_Consent_showDebugInfo()
{
	var consent_type = AdMob_Consent_GetType();
	switch(consent_type)//https://developers.google.com/admob/ump/android/api/reference/com/google/android/ump/ConsentInformation.ConsentType
	{
		// The user gave permission for data to be collected in order to provide personalized ads.
		case AdMob_Consent_Type_PERSONALIZED:
			show_debug_message("GoogleMobilesAds ConsentType: PERSONALIZED")
		break
			
		// The user refused to share data for personalized ads. Ads will be NON PERSONALIZED
		case AdMob_Consent_Type_NON_PERSONALIZED:
			show_debug_message("GoogleMobilesAds ConsentType: NON_PERSONALIZED")
		break			

		// Unable to get the current type of consent provided by the use
		// Note that for EEA users, the type will always be UNKNOWN (known issue) 
		case AdMob_Consent_Type_UNKNOWN:
			show_debug_message("GoogleMobilesAds ConsentType: UNKNOWN")
		break
	}
}

この中の、以下の部分を変更します。

// Regarding consent request first of all we should select the mode we want to use for.
// You can use debug modes for different geographic locations EEA, NON-EEA, DISABLED.
// You can also use PRODUCTION mode when we are ready to deploy the application.
// ↓ここのコメントアウトを外すことで、対象国内からのアクセスをシミュレートできます。
AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_DEBUG_GEOGRAPHY_EEA);
// ↓ここのコメントアウトを外すと、ロケーション設定がオフになっている場合をシミュレートできます。
//AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_DEBUG_GEOGRAPHY_DISABLED)
// ↓ここのコメントアウトを外すと、対象国以外のロケーションをシミュレートできます。
//AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_DEBUG_GEOGRAPHY_NOT_EEA)
// ↓最終的にアプリをリリースする際には、この部分のみコメントアウトを外してプロダクションモードにします。
//AdMob_Consent_RequestInfoUpdate(AdMob_Consent_Mode_PRODUCTION);

その他の設定

あとAdMob関連で必要な設定といえば、iOS14以降での対応が必須の、AppTrackingTransparencyの設定もありますが、こちらもyoyo謹製の便利なプラグインが用意されているので設定は難しくありません。
ですが、こちら、今回のGDPRとの兼ね合いで、ATTでトラッキングを拒否された場合、GDPRの承認メッセージをそもそも出さないようにするなどの修正が必要なケースもあるので、次回はそれをメモできればと思います。

Discussion

ログインするとコメントできます