@baukit/notifications-expo

中文文档
0.18.3发布于 2026/11/07MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 7951

用于 @baukit/ notifications-core的可选的expo-nofication适配器,它只替换带有一个所有者名称空间标记的通知.

中文使用文档

@baukit/notifications-expo

这个 expo-notifications 执行情况 @baukit/notifications-core 平台端口。 这个 调度、列表和取消仅带有其所有者标记的通知,它从未 电话 cancelAllScheduledNotificationsAsync。 。 。 .

import { resolveNotificationOccurrences } from '@baukit/notifications-core';
import {
  createExpoOwnedNotificationScheduler,
  IOS_PENDING_NOTIFICATION_LIMIT,
} from '@baukit/notifications-expo';
import * as Notifications from 'expo-notifications';

const scheduler = createExpoOwnedNotificationScheduler(Notifications, {
  pendingLimit: IOS_PENDING_NOTIFICATION_LIMIT,
});

const { desired } = resolveNotificationOccurrences({ occurrences, timeZone, gap, fold, clock, horizonDays });
const outcome = await scheduler.replaceOwned(
  { namespace: 'reminders' },
  desired.map((entry) => ({
    ...entry,
    content: { content: { title: entry.title, body: entry.body }, channelId: 'reminders' },
  })),
);
  • 每个应用程序创建一个调度器并共享. 一个命名空间的替换一次运行一次 那个例子.
  • 每个请求都得到标识符 baukit:<namespace>:<logicalId> 和日期触发器 即时计划. channelId 是可选的,只有Android.
  • 适配器在 baukitNotification 键入 content.data,旁边 产品本身的数据。 已经使用该密钥拒绝的产品数据 NotificationPlanError('reserved_data_key')。 。 。 .
  • 许可数为: granted 真实或iOS状态被授权,临时, 或者麻风. undetermined 算作没有批准,所以产品先问.
  • IOS_PENDING_NOTIFICATION_LIMIT 为64. 限量计算设备上每个待处理的请求,所以 当其他特性的日程安排也通过一个更低的数字.
  • 结果报告列出、取消、许可、时间表和通过代码和逻辑ID限制失败, 从来没有通知内容.

模块通过,包只从 expo-notifications,所以请 包本身在节点和测试中加载。 测试运行 核心符合套件对 模拟模块.

边界

软件包不请求权限,创建Android频道,设置通知处理器,或者 选择副本。 它不支持重复触发;计划一个滚动地平线,并在 应用程序打开或计划更改 .

版本与发布记录

@baukit/notifications-expo 共发布 60 个版本,首次发布于 2026/09/29;过去 12 个月发布了 60 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.18.3latest2026/11/07今天
0.18.22026/11/061 天前
0.18.12026/11/062 天前
0.18.02026/11/052 天前
0.17.12026/11/034 天前
0.17.02026/11/025 天前

关于 @baukit/notifications-expo 的常见问题

@baukit/notifications-expo 是什么?

用于 @baukit/ notifications-core的可选的expo-nofication适配器,它只替换带有一个所有者名称空间标记的通知.

如何安装 @baukit/notifications-expo?

在项目目录运行 npm install @baukit/notifications-expo,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:expo-notifications(^57.0.21)、@baukit/notifications-core(^0.18.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@baukit/notifications-expo 支持 TypeScript 吗?

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

@baukit/notifications-expo 支持 ESM 还是 CommonJS?

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

@baukit/notifications-expo 需要什么版本的 Node.js?

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

@baukit/notifications-expo 可以商用吗?

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

@baukit/notifications-expo 的下载量有多少?

根据 npm 官方下载统计,@baukit/notifications-expo 在 2026/10/08 – 2026/11/06 这 30 天内被下载 7,951 次,日均约 265 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@baukit/notifications-expo 还在维护吗?

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