You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中如何确认已拒绝GDPR授权请求?

解决GDPR授权拒绝后状态异常的问题
  • 读取SharedPreferences中的原始状态
    AdMob的GDPR授权状态会存储在App的SharedPreferences中,直接读取对应字段能拿到最准确的状态。可使用以下代码获取:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    String consentStatus = prefs.getString("IABConsent_ConsentStatus", "UNKNOWN");
    boolean isSubjectToGDPR = prefs.getBoolean("IABConsent_SubjectToGDPR", false);
    Log.d("GDPR_DEBUG", "状态:" + consentStatus + ",是否受GDPR约束:" + isSubjectToGDPR);
    

    拒绝授权对应的状态值通常为"NON_PERSONALIZED"或"REJECTED"(取决于SDK版本),同时isSubjectToGDPR应返回true。

  • 确认SDK版本兼容性
    旧版Consent SDK存在状态同步bug,建议升级到最新的User Messaging Platform (UMP) SDK——这是官方替代旧Consent SDK的工具,状态管理逻辑更稳定可靠。

  • 检查授权流程实现逻辑
    若使用自定义授权流程,需确保用户选择“不同意”后,正确调用状态更新并持久化:

    consentInformation.setConsentStatus(ConsentStatus.NON_PERSONALIZED);
    consentInformation.saveConsent(new ConsentInformation.OnConsentSavedListener() {
        @Override
        public void onConsentSaved() {
            // 状态已完成持久化
        }
    });
    

    若使用官方弹窗组件,排查后续代码是否存在意外覆盖授权状态的逻辑。

  • 清理设备缓存测试
    设备的SharedPreferences缓存可能导致状态读取异常,尝试清理App的存储缓存后重启App,重新走一遍授权流程验证状态是否正常。

内容的提问来源于stack exchange,提问作者leegill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 11:52:07