如何使用 data-block-ad-types 动态屏蔽广告类型
作为发布商,您可能希望根据特定条件(如用户身份验证、用户偏好设置或其他因素)来控制向访客展示哪些类型的广告。本文中,我们演示两个代码片段,说明如何在您的 ExoClick 广告位中动态管理显示或屏蔽哪些广告类型。
为了实现这一点,我们正在利用 ExoClick 的 data-block-ad-types 功能,并让它无需复杂的后端集成即可对多个广告位进行动态控制。
示例 1 - 根据用户输入动态显示广告
这种方法非常适合根据用户同意来调整广告限制。当访问者同意你的条款时,他们的偏好会存储在其浏览器的 localStorage中。此操作会永久修改该用户在后续访问中的广告设置,使你在获得同意后能够展示更广泛的广告类型。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script>
const adZoneConfigs = [
{ containerId: "zid-5662140", class: "eas6a97888e20", zoneid: "5662140" },
{ containerId: "zid-5532602", class: "eas6a97888e2", zoneid: "5532602" },
];
// 根据布尔值更改被屏蔽的广告类型,并重新渲染广告
let updateAdRestrictions = (value) => {
if (value === true) {
adZoneConfigs.forEach((adZone) => {
let adContainer = document.getElementById(adZone.containerId);
adContainer.innerHTML = "";
adContainer.innerHTML = `
<ins class="${adZone.class}" data-zoneid="${adZone.zoneid}" data-block-ad-types=""></ins>
`;
(AdProvider = window.AdProvider || []).push({ serve: {} });
});
}
return;
};
</script>
</head>
<body>
<h1>测试页面</h1>
<!-- 接受条款并在点击时将同意信息添加到本地存储 -->
<button
id="accept-terms-button"
onclick="updateAdRestrictions(true); localStorage.setItem('acceptTerms', true); this.remove();"
>
我接受条款和条件
</button>
<main>
<script
async
type="application/javascript"
src="https://a.magsrv.com/ad-provider.js"
></script>
<h2>zid-5662140</h2>
<div id="zid-5662140">
<ins
class="eas6a97888e20"
data-zoneid="5662140"
data-block-ad-types="101"
></ins>
<script>
(AdProvider = window.AdProvider || []).push({ serve: {} });
</script>
</div>
<h2>zid-5532602</h2>
<div id="zid-5532602">
<ins
class="eas6a97888e2"
data-zoneid="5532602"
data-block-ad-types="101"
></ins>
<script>
(AdProvider = window.AdProvider || []).push({ serve: {} });
</script>
</div>
</main>
<!-- 检查本地存储中已验证的 cookie,并在用户已验证时调用 updateAdRestrictions -->
<!-- 必须放在广告位脚本之后 -->
<script>
const cookie = localStorage.getItem("acceptTerms");
const parsedCookie = JSON.parse(cookie)
if (parsedCookie === true) {
updateAdRestrictions(true);
document.getElementById("accept-terms-button").remove();
}
</script>
</body>
</html>示例 2 - 根据 URL 参数动态显示广告
这种方法适合根据 URL 参数更改广告设置。例如,在用户完成身份验证后,可以将其重定向到包含如下参数的 URL: ?user_verified=1。该参数会向页面表明用户已通过验证,从而促使系统在该会话中显示限制更少的广告类型。
最后更新于
这有帮助吗?
