问题描述
昨天,我正试图从Quantcast Choice迁移到Google资助选择,以实现GDPR / EU CMP的目的。由于某种原因,在提示您同意并单击消息对话框上的“同意”后,方法googlefc.getConsentStatus()
始终返回UNKNowN
(0)。
经过进一步调查,似乎无论与同意消息进行哪种交互(直接单击同意按钮,拒绝同意按钮,选择单个供应商等),getConsentStatus()
始终返回{{1 }}。
任何人都知道发生了什么事吗?我想念什么吗?
我正在使用的相关代码:
UNKNowN
window.googlefc.callbackQueue.push({
'CONSENT_DATA_READY':
function () {
let consentStatus = window.googlefc.getConsentStatus();
vm.log("CM_CONSENT_STATUS",consentStatus);
switch (consentStatus) {
case window.googlefc.ConsentStatusEnum.CONSENTED_TO_PERSONALIZED_ADS:
case window.googlefc.ConsentStatusEnum.CONSENT_NOT_required:
vm.allow(true);
break;
case window.googlefc.ConsentStatusEnum.CONSENTED_TO_NON_PERSONALIZED_ADS:
vm.reject(true);
break;
case window.googlefc.ConsentStatusEnum.UNKNowN:
case window.googlefc.ConsentStatusEnum.NO_CONSENT:
break;
}
}
});
总是返回window.googlefc.getConsentStatus()
解决方法
这实际上似乎是预期的行为,因为“如果使用IAB TCF v2框架,“ window.googlefc.getConsentStatus()将始终返回window.googlefc.ConsentStatusEnum.UNKNOWN”。我遇到了同样的问题,并在reddit上跟踪了答案:https://www.reddit.com/r/adops/comments/ifh6n9/anybody_using_google_funding_choices_for_gdpr_cmp/
尽管我没有找到解决办法来使googlefc.getConsentStatus()函数正常工作或与之等效,但是我使我的CMP模态正常工作(您无需使用此代码即可工作。唯一的您真正要做的是将“资金选择”粘贴到顶部,而不用(adsbygoogle = window.adsbygoogle || [])。pauseAdRequests = 1停止广告请求;或者其他任何原因,因为资金选择会自己暂停广告-在获得同意后,无需重新加载即可启动它们)