Compliant with GDPR, CCPA, COPPA, LGPD, PECR, PDPA, PIPEDA, and more.
只需添加一次 UniConsent 标签并填入您的许可证密钥。该标签会立即定义两个函数,然后在后台加载完整的 CMP。
<script src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>
您可以在安装与设置部分找到许可证密钥。完整的安装指南(包括面向现有安装的经典两段式标签)请参阅安装 UniConsent 网页标签。
在同意状态最终确定时触发一次。
如果在触发之后才订阅,回调会立即执行。
unicReady(function (status) {
if (status.UNIC_P_1) {
loadAnalytics();
}
});
与 unicReady 同时触发,之后每次同意状态变化时再次触发(例如用户重新打开设置并更改某个目的)。
延迟订阅会立即以当前状态回调,之后每次变化时再次回调。未改变任何内容的保存会被忽略。
unicUpdate(function (status) {
applyConsent(status);
});
相同的数据会以 unic:ready 和 unic:update 的形式在 window 上派发。
请在标签之前注册监听器,以便事件触发时监听器已经存在。
window.addEventListener('unic:update', function (e) {
applyConsent(e.detail);
});
将您的代码放在标签之后的任意位置即可,无需其他配置。
<script src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>
<script>
unicReady(function (status) { /* 同意状态已最终确定 */ });
unicUpdate(function (status) { /* 每次变化 */ });
</script>
使用 async 时,您的内联代码可能在标签之前执行。请添加下面两行队列保护代码,这样提前发出的调用会在标签加载后被重放。
<script async src="https://cmp.uniconsent.com/v2/cmp.js" data-license="YOUR_LICENSE"></script>
<script>
window.unicReady = window.unicReady || function (cb) { (window.unicReady.q = window.unicReady.q || []).push(cb); };
window.unicUpdate = window.unicUpdate || function (cb) { (window.unicUpdate.q = window.unicUpdate.q || []).push(cb); };
unicReady(function (status) { /* 同意状态已最终确定 */ });
unicUpdate(function (status) { /* 每次变化 */ });
</script>
| 字段 | 类型 | 含义 |
|---|---|---|
IS_LOAD | boolean | 同意状态已最终确定,可以加载标签 |
LOC | string | 检测到的用户位置 |
GEO | string | 适用规则的地区,无适用规则时为 N |
EU, US, CA, BR, CN, N | boolean | 适用的地区标志 |
NPA | 0 或 1 | 为 1 时仅应投放非个性化广告 |
customVendors | object | 自定义供应商 ID 到布尔同意值的映射 |
UNIC_P_1 … UNIC_P_10 | boolean | TCF 目的 1 至 10(仅 GDPR) |
UNIC_SF_1, UNIC_SF_2 | boolean | TCF 特殊功能(仅 GDPR) |
UNIC_EP_1 … UNIC_EP_4 | boolean | 扩展目的(仅退出制地区) |
unicReady 和 unicUpdate 是 window 上的保留名称。请勿将这些名称用于其他用途的函数。wait_for_update 为 3 秒。如果您已自行设置 Consent Mode 默认值,请将其放在该标签之后,否则会被覆盖。