跳转到主要内容
推送通知通过及时、个性化的内容跨设备重新吸引用户——即使他们没有主动使用您的应用或网站。 观看推送通知如何驱动最高参与度,或跳过直接开始。
OneSignal 提供一个完整平台来管理移动端、Web 和桌面端的推送通知:
  • 仪表板API 发送营销活动和事务消息
  • 通过 Journeys 自动化多渠道流程
  • 使用细分、过滤器或用户数据精确定向用户
  • A/B 测试并优化消息性能
  • 用用户属性和动态内容个性化内容
  • 与您的技术栈集成 — HubSpot、Mixpanel、Amplitude、Zapier 及更多

推送设置

在发送推送通知之前,完成平台设置、配置权限提示并启用所需功能。

平台设置指南

权限

精心设计的选择加入体验能最大化您的推送受众。

功能和高级用例


发送推送通知

您可以通过多种方式发送消息。最佳选择取决于您的使用场景。

从仪表板发送

选择消息渠道

选择 创建… 然后选择您的消息渠道。您也可以导航到 消息模板 查看历史消息。
OneSignal 仪表板显示创建消息选项

选择编辑方式

设置名称和标签

添加用于跟踪和报告的内部元数据。API 等效参数:name

选择受众

选择接收消息的用户。您可以包含和排除细分来定向特定群体。未设置细分时,默认发送给所有”已订阅用户”。
仪表板中消息名称、标签和受众细分选择字段
定向方式仪表板API
细分
过滤器仅限 API
别名仅限 API

投递时间安排和优化

查看时机如何影响推送通知性能。
选择消息开始发送的时间。
选项描述API 字段
立即发送立即投递给所有收件人。
定时发送在特定时间发送,最多提前 30 天。send_after
按用户优化: 设置用户何时接收消息。
选项描述API 字段
同时发送给所有人所有收件人同时收到消息。最适合紧急消息。
智能投递根据用户会话活动在最佳时间发送。delayed_option: last-active
按时区自定义时间在每个用户时区的设定本地时间发送。delayed_option: timezonedelivery_time_of_day
覆盖限流更改限流速率。throttle_rate_per_minute
覆盖频率限制为此消息禁用频率限制。enable_frequency_cap

设计属性

推送消息可以显示面向用户的内容,也可以执行后台操作。
  • 显示通知:需要消息,可以包含标题、图片、操作按钮和其他视觉元素。
  • 后台/纯数据通知:省略消息,包含 content_available,可选包含附加数据
展示 Web 和移动端推送通知结构的标注图
使用 AI 消息编写器 快速生成通知标题和正文。只需几次点击,即可调整语调和内容以匹配您的品牌。

标题

通知最顶部的可自定义文本。文本外观由操作系统控制。
  • 网页推送华为必需
  • 未设置时在网页上默认为网站名称
  • 建议限制:25–50 个字符(移动端),60–80 个字符(网页)
  • 支持:AI 消息编写器、表情符号、消息个性化多语言消息
  • API:headings

副标题

仅在 iOS 和 macOS 上支持的次要文本(通过 APNs)。在 Android 或网页上不可用。

消息

通知的主要内容。不支持自定义字体或样式。样式由操作系统设置。

图标

在 Android 和网页上自定义小图标和大图标。iOS 始终使用应用图标。

图片

在 Android、iOS 和 Windows/Android 版 Chrome 的通知中添加大图片。
  • 建议尺寸:1024×512px(2:1 纵横比)
  • 最大尺寸:1 MB,最大宽度:2000 px
  • Safari(macOS/iOS)或 macOS 通知中心不支持
  • 在移动端需要点击或展开才能查看
  • 支持格式:PNGJPGGIF(仅 iOS 支持动画)
  • API:ios_attachments(iOS)、big_picture(Android)、chrome_web_image(Chrome 网页)
  • 参见图片和富媒体

应用名称

显示通知的应用名称。
  • iOS:在 Xcode 的 Display Name 下设置;更新需重启设备
  • Android/亚马逊/华为:在 AndroidManifest.xml<application android:label="YOUR APP NAME"> 下设置
  • 网页:显示网站名称和/或浏览器

功能属性

操作按钮

向推送通知添加交互式按钮。

启动 URL

控制用户点击通知时的跳转目标。
  • API:url(单个通用 URL)、app_url(深度链接,例如 your-app://screen)、web_url(http/https 网页链接)
  • 参见 URL、链接和深度链接

徽章

在应用图标上显示圆点或徽章数字。
  • iOS:红色数字徽章;可设置、增加或清除。API:ios_badgeTypeios_badgeCount
  • Android:需要通知类别
  • 华为:徽章显示为数字或圆点。API:huawei_badge_classhuawei_badge_set_numhuawei_badge_add_num
  • Web(Chrome/Android):Android 状态栏中显示的图标;必须是 72×72 alpha PNG。API:chrome_web_badge
  • 参见徽章

声音

推送送达时播放声音。
  • iOS:使用 sound 设置
  • Android:通过通知类别设置
  • 网页:不可用

附加数据

向载荷添加自定义键值对供 SDK 处理。

Collapse ID(移动推送)

如果共享相同的 collapse_id,则用更新的通知替换早期通知。最大长度:64 个字符。API:collapse_id 例如,天气应用发送三条预警。如果用户在三条全部发送后才打开设备,则只显示最后一条消息。

网页推送主题(网页推送)

通过使用唯一的 web_push_topic 值避免替换旧的网页通知。具有不同主题的通知将独立保持可见。最大长度:64 个字符。API:web_push_topic

优先级

设置推送的紧急程度,特别是在省电模式下。
  • (推荐):即时、基于警报的消息
  • 普通:用于后台/数据通知
  • API:priority
  • 平台文档:APNs 优先级FCM 优先级

存活时间(TTL)

设备离线时消息的保留时长。默认:3 天。范围:0–2,419,200 秒(28 天)。API:ttl 如果用户离线且 TTL 过期,消息将被丢弃。将 ttl: 0 设置为永不延迟送达的消息。
iOS 限制:APNs 在设备离线时仅存储最新的通知。早期通知会被丢弃。了解更多

通知分组

当设备收到来自您应用的 4 条或更多通知后,Android 和 iOS 会自动分组通知。
Android 设备显示来自同一应用的分组推送通知

取消推送通知

如果消息尚未送达,可以取消它。OneSignal 将停止向所有尚未加入队列的订阅发送消息。这不会从已收到消息的设备上删除消息。 消息报告中,选择操作 > 取消,或使用取消消息 API

从设备移除推送通知

消息送达后,仅在设置了 Collapse ID网页推送主题 的情况下,才能替换推送通知。未设置这两项时,通知无法被替换或移除。

分析

跟踪消息性能和参与度。

常见问题

OneSignal 推送支持哪些平台?

OneSignal 支持 iOS(APNs)、Android(FCM)、华为(HMS)、亚马逊(ADM)、网页浏览器(Chrome、Firefox、Safari、Edge)、macOS 和 Windows 上的推送。参见上方的平台设置指南

发送给用户之前如何测试推送通知?

设置测试订阅来验证送达、渲染和深度链接,而不影响真实用户。您也可以发送到单用户细分进行快速测试。

为什么我的推送通知没有显示?

常见原因包括平台凭据缺失或过期、用户未授予权限,或设备级别的设置(如勿扰模式)。完整的故障排除清单请参见通知未显示或延迟

推送通知的最大载荷大小是多少?

所有平台的总载荷大小约为 4 KB。data 字段最多支持 2048 字节。超出这些限制可能导致通知被截断或拒绝。