For the complete documentation index, see llms.txt. This page is also available as Markdown.

如何使用 AdBlock 动态域名 API

AdBlock 工具正变得越来越复杂,这给希望最大化在线广告收入的发布商带来了重大挑战。为帮助缓解这些挑战,此 API 允许发布商根据当前可用域名动态调整其脚本,从而显著降低内容被 AdBlock 软件拦截的风险。

通过定期轮换域名确保广告投放,发布商可以:

  • 维持收入来源: 避免因广告被拦截而导致的中断。

  • 提升用户体验: 无缝投放广告内容,避免触发 AdBlock 检测。

  • 自动化域名管理: 通过自动化的 7 天域名生命周期消除手动更新。

新域名每 3 天生成一次,并可通过 API 获取。域名的生命周期为 6 天。

  • 活跃 3 天

  • 弃用 3 天

一旦生命周期到期,域名将被停用。出于性能考虑,建议在从 API 请求新域名前将该域名缓存 24 小时。

此 API 仅适用于 Popunder 内联脚本流内视频 广告位。

要求

要使用此 API,发布商需要:

  • 发起一个 GET 请求 到端点:https://ads.exoclick.com/adblock-domains.php

  • 您将在响应中收到一个新的广告投放域名

  • 然后,您必须将广告位标签中使用的 syndication 端点更改为 API 响应中提供的新端点。

实施步骤

1

获取当前域名

要动态获取当前域名, 您必须进行服务器到服务器的 API 调用。这很关键,因为如果从客户端调用,API 调用可能会被拦截。

下面是一个 PHP 中服务器到服务器调用的示例:

下面是 API 的预期响应:

2

更新您的脚本

使用 域名 从端点返回的域名来更新广告位中使用的域名。原始域名取决于广告格式:

  • 对于 流内视频 广告位,请更改 VAST 标签:

    • 之前 : https://s.magsrv.com/v1/vast.php?t={random}&idzone={zoneId}

    • 之后 : https://newsub.newdomain.com/v1/vast.php?t={random}&idzone={zoneId}

  • 对于 Popunder 广告位,请更改 syndication_host 在内联脚本中:

    • 之前 : s.pemsrv.com

    • 之后 : newsub.newdomain.com

检测 AdBlock

为了检测用户是否启用了广告拦截扩展,您 必须托管 ads.js 在发布商端 (您自己的域名/CDN),并将其包含在您的 body 标签的最前面。

不要 请求 https://www.exoclick.com/ads.js 直接。

创建您自己的 ads.js 文件:

  1. 创建一个名为 ads.js 在您网站的公共路径中(例如 /js/ads.js).

  2. 将以下内容添加到该文件中。

  3. 在您的广告集成逻辑之前,从页面加载该文件。

参考文件内容:

然后在您的 body 标签的最前面添加以下一行:

如果客户端正在使用 Adblock,由于包含“exoclick”和“ads”关键字,此脚本将被拦截。加载此脚本后,JavaScript 代码片段将尝试读取一个特定变量。如果该变量未定义或无法访问,我们就可以判断该脚本已被拦截。

集成示例

在这两个示例中,我们使用 fetchAdblockDomain.php 作为用于获取 adblock 域名的服务器到服务器调用名称。

流内

要在流内使用动态域名,请确保 在脚本中包含 VAST 播放器,否则播放器将加载默认的流内广告位,而不会使用更新后的域名。在此示例中,我们使用的是 Fluidplayer HTML5 播放器。

Popunder

故障排查

未返回域名

有时,端点可能会返回空域名。

调试时务必记录端点的响应,以识别潜在问题。如果 success 为 false,请联系支持团队。

尽管已启用 Adblock,仍返回默认域名

以下是尽管已启用 Adblock,您的脚本仍可能使用默认域名的一些常见原因:

  • ads.js 未托管在发布方一侧。此集成要求从 ads.js 您自己的域名提供服务(例如 /js/ads.js)。直接请求 https://www.exoclick.com/ads.js 不受支持。

  • 默认域名在 adblock 域名前被渲染。请确保在您的网站上插入广告位的脚本 始终等待服务器到服务器调用。根据执行链的不同,默认域名可能会在返回 adblock 域名之前被添加到站点,这会阻止您的网站插入更新后的域名。

如需进一步帮助,请联系支持团队 这里.

最后更新于

这有帮助吗?