# @hibira-io/push-web 中文文档

规范地址：https://npmcn.com/package/%40hibira-io/push-web/

版本：1\.3\.0
npm 元数据更新时间：2026-11-01T05:25:53.875Z
中文译文更新时间：2026-11-01T08:23:42.419Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40hibira-io/push-web
原文对照：https://npmcn.com/package/%40hibira-io/push-web/?lang=original
项目主页：https://hibira.io/
源码仓库：https://github.com/hibira-io/hibira-push-web

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：99.7 kB，8 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：0 个
- 首次发布：2026-10-24T07:05:20.869Z
- 最新版本发布：2026-11-01T05:25:53.452Z
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

Hibira push的Web推送通知：一个从push Beams移动的应用程序的插入式客户端

## 安装

```sh
npm install @hibira-io/push-web
```

也可以使用：`pnpm add @hibira-io/push-web`、`yarn add @hibira-io/push-web`、`bun add @hibira-io/push-web`

## README

# @hibira-io / push-web

Web推送通知 [Hibira推](https://hibira.io/)。是网络 兼容beam的推送API的客户端：麻省理工学院许可的push的分支 beam web SDK与主机是可配置的，所以为该SDK编写的代码 更改导入后继续工作。

适用于标准的Web Push浏览器：Chrome， Edge, Firefox， Opera和 Safari 16.4+ （beam SDK没有启用Safari）。

## 安装

```sh
npm install @hibira-io/push-web
```

或加载脚本，该脚本定义全局的 `HibiraPush`：

```html
<script src="https://cdn.jsdelivr.net/npm/@hibira-io/push-web@1/dist/push-web.min.js"></script>
```

## 服务工

服务于 `/service-worker.js` 在你的站点根目录下加载我们的：

```js
importScripts('https://cdn.jsdelivr.net/npm/@hibira-io/push-web@1/dist/service-worker.js');
// Only if your app is not on the default cluster:
// self.HibiraPush.endpoint = 'https://ws-tyo.hibira.io';
```

你也可以复制 `node_modules/@hibira-io/push-web/dist/service-worker.js` 进入你的网站。要自己处理通知，请设置 `self.HibiraPush.onNotificationReceived` （与比姆斯的论点相同） `onNotificationReceived`）。

## 使用

```js
import { Client, TokenProvider } from '@hibira-io/push-web';

const push = new Client({
  instanceId: 'YOUR_INSTANCE_ID', // portal: app page → Push notifications
  // endpoint: 'https://ws.hibira.io', // the default
});

await push.start();
await push.addDeviceInterest('news');

// Authenticated users: your backend returns a user token
// (generateToken in the server SDKs).
await push.setUserId('alice', new TokenProvider({ url: '/push/user-token' }));
```

`endpoint` 是门户中应用页面上显示的推送API基础URL。 `endpointOverride` 被接受为同义词。

## 要求访客打开通知

浏览器只会让网站显示几次权限框，而访问者不会 谁点了“阻止”就不能再问了。 `promptForNotifications` 展示了我们的 首先打开自己的横幅（就像Gmail显示的那样），然后只打开浏览器的框 在访问者点击“打开”之后。一旦他们允许，浏览器就可以 注册，并设置您通过的兴趣和用户ID。

```js
import { promptForNotifications } from '@hibira-io/push-web';

const { outcome } = await promptForNotifications({
  instanceId: 'YOUR_INSTANCE_ID',
  interests: ['orders'],
  siteName: 'Acme Shop',
});
// outcome: 'granted' | 'denied' | 'dismissed' | 'skipped' | 'unsupported' | 'error'
```

在每个页面加载时调用它：它不会显示已经允许的访问者 通知（它只是确保它们已注册），到没有的浏览器 网络推送，或者在“现在不行”冷却下来的时候。

-   **“不是现在”** 等待 `cooldownDays` (7)前再问一遍，后停止 `maxAsks` （3）. `resetNotificationPrompt(instanceId)` 忘记答案； `force: true` 无论如何，在你的浏览器中设置“打开通知”按钮 设置。
-   **阻塞**： `showBlockedHelp: true` 控件中的通知取消阻止 浏览器而不是什么都没有。
-   **语言**:英语、繁體中文,简体中文,日本語,한국어,ไทย和Tiếng Việt, 从浏览器中选择。集 `locale`，或将任何字符串替换为 `text` （`{site}` 充满了 `siteName`）。
-   **看**： `layout: 'bar'` （默认情况下，沿着顶部或底部边缘）或 `'card'` (角), `position`， `theme` （`auto`/`light`/`dark`)， `accent`， `icon`， `zIndex`， `delay`。横幅位于一个阴影根，所以你的CSS没有 影响它，它的CSS不会泄漏到您的页面。
-   `client`， `userId` 与 `tokenProvider`， `onShow` 和 `onResult` 也 接受;看到 `index.d.ts` 对于每个选项。

使用CDN脚本 `HibiraPush.promptForNotifications({...})`。要么 方式, `/service-worker.js` 以上仍然是需要的。

## 从@hikibi/push-web

Hikibi现在是Hibira，这个包裹从 `@hikibi/push-web` 来 `@hibira-io/push-web`。API是相同的：更改导入和 `importScripts` URL，并使用 `HibiraPush` 你用过的地方 `HikibiPush` ( 旧的名字从1.2.0开始消失了)。 `@hikibi/push-web` 1.0.0停留在NPM上 （已弃用）并且不会获得新版本。

## 从beam web SDK开始

| beam web SDK | @hibira-io / push-web |
| --- | --- |
| `import * as PusherPushNotifications from '@pusher/push-notifications-web'` | `import * as HibiraPush from '@hibira-io/push-web'` |
| `new PusherPushNotifications.Client({ instanceId })` | `new HibiraPush.Client({ instanceId })` |
| `importScripts('https://js.pusher.com/beams/service-worker.js')` | `importScripts('https://cdn.jsdelivr.net/npm/@hibira-io/push-web@1/dist/service-worker.js')` |
| `PusherPushNotifications.onNotificationReceived = …` 在服务工作者中 | `HibiraPush.onNotificationReceived = …` |

其他的(`start`、兴趣、 `setUserId`， `stop`， `clearAllState`， `getRegistrationState` 它的值是不变的。浏览器 在beam的第一个寄存器上再次注册 `start()`.

## 许可证

麻省理工学院。基于push beam web SDK，版权所有(c) 2019 push；看到 许可证。

## 常见问题

### @hibira-io/push-web 是什么？

Hibira push的Web推送通知：一个从push Beams移动的应用程序的插入式客户端

### 如何安装 @hibira-io/push-web？

在项目目录运行 npm install @hibira-io/push-web，或使用 pnpm add / yarn add / bun add。

### @hibira-io/push-web 支持 TypeScript 吗？

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

### @hibira-io/push-web 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @hibira-io/push-web 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @hibira-io/push-web 可以商用吗？

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

### @hibira-io/push-web 还在维护吗？

最新版本 1\.3\.0 发布于 2026/11/01（2 天前）；至今共发布 5 个版本，其中过去 12 个月发布了 5 个；首次发布于 2026/10/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

