引自免费微信小程序:皆我百晓生
在Google Consent Mode V2中,日志打印仅显示ad_storage
和analytics_storage
的授权状态是正常的。ad_user_data
和ad_personalization_signals
这两个字段实际上并不直接体现在LogCat的日志输出中,因为它们与广告存储(ad_storage)权限密切相关。
根据官方文档,你已经设置了默认的权限值为false:
<meta-data
android:name="google_analytics_default_allow_ad_storage"
android:value="false" />
<meta-data
android:name="google_analytics_default_allow_ad_user_data"
android:value="false" />
<meta-data
android:name="google_analytics_default_allow_ad_personalization_signals"
android:value="false" />
当你通过Consent SDK设置用户的同意偏好时,如果用户同意了ad_storage
,那么可以理解为他们间接地允许了与广告相关的用户数据使用(ad_user_data)。而对于个性化广告信号(ad_personalization_signals),其是否启用也是基于ad_storage
权限的状态。
要确保Consent Mode正确运作并处理这些权限,请确保遵循以下步骤:
-
初始化Google Consent SDK:
您需要按照官方文档配置并初始化Google Consent SDK,以便能够获取和设置用户的同意偏好。
-
请求用户同意:
在应用内向用户展示同意对话框,并根据用户的选择更新Consent SDK中的同意偏好。
-
设置同意偏好:
使用Consent SDK提供的方法来设置用户的同意偏好,包括对ad_storage
和analytics_storage
的同意状态。
例如,设置同意偏好可能如下所示:
// 假设consentInformation对象已经初始化完成并且获取了用户的同意信息
ConsentInformation consentInformation = ...;
Form form = ...; // 从表单获取用户选择的同意选项
boolean adStorageConsent = ...; // 根据form获取ad_storage的同意状态
boolean analyticsStorageConsent = ...; // 根据form获取analytics_storage的同意状态
consentInformation.setConsentStatus(adStorageConsent ? ConsentInformation.ConsentStatus.PERSONALIZED : ConsentInformation.ConsentStatus.NON_PERSONALIZED);
consentInformation.setAnalyticsStorageConsent(analyticsStorageConsent);
// 更新同意信息到Google
ConsentInformation.getInstance(context).updateConsentInfo();
请注意,在实际应用中,您需要根据用户的实际选择来设置adStorageConsent
和analyticsStorageConsent
的值。
虽然上述代码示例并没有直接包含ad_user_data
和ad_personalization_signals
的设置,但只要你正确设置了ad_storage
的同意状态,SDK会自动据此处理与之相关的数据使用情况。如果你期望在LogCat中查看更详细的同意信息,目前Google Consent Mode V2并未提供这样的详细日志输出功能。