@zapiack /网络
使用Zapiack为网站推送通知。注册浏览器,显示推送,报告点击,并跟踪访问者的行为 接下来,你可以看到是哪些因素让人们回来,以及他们回来后做了什么。
npm install @zapiack/web
或者使用script标签:
<script src="https://cdn.jsdelivr.net/npm/@zapiack/web/dist/zapiack.global.js"></script>
<script>Zapiack.Push.init({ appKey: 'pk_...' });</script>
设置
1. 托管service worker 在您的网站的根,所以它可以控制每一个页面。复制 node_modules/@zapiack/web/dist/zapiack-sw.js
来 /zapiack-sw.js,或者从那里上菜。
2. 为你的项目设置推送 在仪表板上(推,然后 设置推送),并开启网页平台,然后输入你的
网站的地址。你得到一个公钥,开头是 pk_。它可以安全地放在您的页面中。
3. 从每一页开始:
import { ZapiackPush } from '@zapiack/web';
await ZapiackPush.init({ appKey: 'pk_...' });
4. 通过点击请求许可,而不是页面加载:
button.addEventListener('click', async () => {
const answer = await ZapiackPush.requestPermission(); // 'granted' | 'denied' | 'default'
});
当访问者同意时,浏览器被订阅并注册。之后,它在每次页面加载时再次注册自己。
将浏览器链接到用户
await ZapiackPush.login('user_123'); // the id your server uses for them
await ZapiackPush.logout(); // on sign-out
await ZapiackPush.addTags({ plan: 'pro' });
await ZapiackPush.removeTags(['plan']);
然后您的服务器可以发送到 { externalUserIds: ['user_123'] } 或者 { tags: { plan: 'pro' } }.
知道通知何时被点击
ZapiackPush.onClick((click) => {
// click.link, click.event, click.actionId (the button, if one was tapped)
});
链接会自动打开。这用于您自己的路由或在页面中显示某些内容。如果点击打开了一个新页面,则 加载页面后,处理程序仍然运行。
看看水龙头后会发生什么
推送可以要求在访问者点击后跟随他们一段时间。当窗口打开时:
await ZapiackPush.track('purchase_completed', { orderId: 'ord_789' });
报告事件,记入推送,当您的服务器将其命名为推送的目标时,它将被视为转换。如果推一下
询问屏幕时,也会报告页面更改,而不需要您的代码。 track 什么都不做,然后回来 false,当
客人不是被推着来的,或者窗户已经过去了。
其他
ZapiackPush.isSupported(); // false in browsers that cannot receive web push
ZapiackPush.permission(); // 'granted' | 'denied' | 'default'
await ZapiackPush.installationId();
await ZapiackPush.unsubscribe();
init 选项: serviceWorkerPath (默认 /zapiack-sw.js), serviceWorkerScope, autoRegister (默认 true), appVersion.
很高兴知道
- 事件保存在设备上,并在网络允许的时候发送,因此关闭的标签或停止的service worker不会损失任何东西。
- 只有从通知中打开的网页:链接中的其他内容将被忽略。
- 推送中设置的图片会显示在浏览器支持的位置;按钮只在显示它们的地方(Chrome和Edge)。
- Web推送需要一个安全的页面(https,或者在构建时使用本地主机)。
许可证
麻省理工学院