自定义 Service Worker 位置
虽然非常轻量级,但您需要上传的 aimtell-worker.js 文件对于启用我们的平台和网络推送通知背后的逻辑非常有帮助。简而言之,即使有人离开您的网站,它也使我们能够监听传入的推送通知。
该文件需要位于根目录中实际上源于这样一个事实:该文件必须与某人想要订阅通知的页面位于同一目录中(Google 强制执行的安全措施)。 在这里查看更多相关内容。
也就是说,虽然文件本身是必需的,但您可以将其放置在根目录之外,并且仍然允许访问者在任何页面上进行订阅。它需要一些额外的技术步骤,但如果您有方便的开发人员,他们应该能够毫无麻烦地实现它。
**注意:**虽然您可以使用此技术将 aimtell-worker.js 上传到您网站上的任何路径,但它仍然必须位于您的网站上。这意味着,如果您的网站是 https://yoursite.com,则无法在 https://anothersite.com 上引用该工作人员
以下是有关如何完成此操作的指南:
1.更新工作文件以传递自定义标头:“Service-Worker-Allowed:/”
对于此示例,假设您想要将工作器上传到自定义路径:
https://yoursite.com/directory/path/aimtell-worker.jsThe key ingredient here is, in order for this to work you need to make sure that file passes back the custom header:
Service-Worker-Allowed:/可以通过多种方式在服务器端完成此操作,但最常见的是通过 .htaccess 文件或服务器端语言。
PHP 示例
例如,如果您使用的是 PHP,您可以将工作文件调整为名为 Simtell-worker.js.php 的文件,并在该文件中定义标头。
所以,而不是:
https://yoursite.com/directory/path/aimtell-worker.js
您可以创建一个包含以下内容的 PHP 文件:
<?php
header('Service-Worker-Allowed: /');
header('Content-Type: application/javascript');
?>
importScripts('https://cdn.aimtell.com/sdk/aimtell-worker-sdk.js');并将其上传到:
https://yoursite.com/directory/path/aimtell-worker.js.php
2.在跟踪代码片段中引用新创建的文件。
创建/更新上述文件后,您应该可以联系到您的aiimtell-worker。因此,根据我们的 PHP 示例,如果您将其添加到 https://yoursite.com/directory/path/aimtell-worker.js.php 下,那么您应该能够访问该页面并查看 aimtell 工作代码。

假设您看到该文件,您现在只需在跟踪脚本中声明它即可。从仪表板获取您的 Aimtell 跟踪代码,然后简单地使用以下方式声明它:
_at.worker = '/directory/path/aimtell-worker.js.php';具体来说,它看起来像:
<script>
var _at = _at || {};
_at.domain = 'website.com';
_at.owner = '76c1231hffb19e';
_at.idSite = '2634';
_at.webpushid = 'web.16.aimtell.com';
_at.worker = '/directory/path/aimtell-worker.js.php';
_at.attributes = {};
(function() {var u='//s3.amazonaws.com/cdn.aimtell.com/trackpush/';
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript';
g.async=true;
g.defer=true;
g.src=u+'trackpush.min.js';
s.parentNode.insertBefore(g,s);
})();
</script>That's it! Now you should be able to view your site and get the opt-in prompt as expected!