@zapiack/web

中文文档
0.1.0发布于 2026/11/03MITTypeScriptESM + CJS零依赖

使用Zapiack的网站推送通知:注册、点击和点击后发生的事情。

中文使用文档
文档目录7 节
  1. 设置
  2. 将浏览器链接到用户
  3. 知道通知何时被点击
  4. 看看水龙头后会发生什么
  5. 其他
  6. 很高兴知道
  7. 许可证

@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,或者在构建时使用本地主机)。

许可证

麻省理工学院

版本与发布记录

@zapiack/web 共发布 2 个版本,首次发布于 2026/11/03;过去 12 个月发布了 2 个版本。

版本发布日期距今
0.1.0latest2026/11/03今天
0.0.0-stage2026/11/03今天

关于 @zapiack/web 的常见问题

@zapiack/web 是什么?

使用Zapiack的网站推送通知:注册、点击和点击后发生的事情。

如何安装 @zapiack/web?

在项目目录运行 npm install @zapiack/web,或使用 pnpm add / yarn add / bun add。

@zapiack/web 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@zapiack/web 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@zapiack/web 可以商用吗?

@zapiack/web 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@zapiack/web 还在维护吗?

最新版本 0.1.0 发布于 2026/11/03(今天);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/11/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。