自定义前台推送

为 App 打开时收到的推送定制样式

App 处于前台时收到推送,iOS 把这一刻交给您处理。Pushwoosh iOS SDK 以您的品牌配色和字体绘制动画横幅,并在 iOS 26 上使用 Apple 的 Liquid Glass 材质。

三部并排正面展示的 iPhone,分别处于不同 App 中:新闻 App 文章上方的品牌 Liquid Glass 横幅、游戏对局界面上方与美术风格一致的横幅、银行 App 转账界面上方的确认横幅

超过 80,000 家企业借助 Pushwoosh 扩大用户互动

前台推送全解析

App 在前台时到达的推送,需要 App 自己处理。iOS 要么在您的界面上方显示朴素的系统横幅,要么什么都不显示——您围绕它搭建了整个 Customer Journey 的消息,最终只呈现为灰色的系统样式。PushwooshForegroundPush 模块会把同一个 payload 渲染成一个完全由您掌控的横幅。

Liquid Glass (iOS 26)

开启 useLiquidView,横幅即以 Apple 的 Liquid Glass 材质绘制,看起来是 iOS 26 的一部分,而不是贴在屏幕上的一层。

标准横幅 (iOS 13 到 25)

低于 iOS 26 时,同一调用会以您的渐变和配色渲染实色横幅;较旧的 Swift 工具链则回退为模糊效果视图。一套配置覆盖三种情况。

卡片图片与 GIF

标题、正文、卡片图片和 GIF 动画,全部读取自推送已携带的 payload。

动效、触感与停留时间

入场动画、balls 或 regularPush 关闭动画、到达时从七个级别中选择的触感反馈,以及横幅自动消失前的停留秒数。

您可以控制什么

属性设置内容取值
useLiquidViewiOS 26 上的 Liquid Glass 材质Bool,默认 false
gradientColors、backgroundColor横幅绘制的背景您的品牌色
titlePushColor、messagePushColor两行文字的颜色您的品牌色
titlePushFont、messagePushFont两行文字的字体App 内置的任意字体
usePushAnimation入场动画Bool,默认 true
duration横幅自动消失前的停留时间秒
vibration到达时的触感反馈none、light、medium、heavy、soft、rigid、notification
disappearedPushAnimation横幅离开屏幕的方式balls 或 regularPush
style内置布局style1,目前唯一可用的样式
属性
1 / 9
useLiquidView
设置内容
iOS 26 上的 Liquid Glass 材质
取值
Bool,默认 false
属性
2 / 9
gradientColors、backgroundColor
设置内容
横幅绘制的背景
取值
您的品牌色
属性
3 / 9
titlePushColor、messagePushColor
设置内容
两行文字的颜色
取值
您的品牌色
属性
4 / 9
titlePushFont、messagePushFont
设置内容
两行文字的字体
取值
App 内置的任意字体
属性
5 / 9
usePushAnimation
设置内容
入场动画
取值
Bool,默认 true
属性
6 / 9
duration
设置内容
横幅自动消失前的停留时间
取值
秒
属性
7 / 9
vibration
设置内容
到达时的触感反馈
取值
none、light、medium、heavy、soft、rigid、notification
属性
8 / 9
disappearedPushAnimation
设置内容
横幅离开屏幕的方式
取值
balls 或 regularPush
属性
9 / 9
style
设置内容
内置布局
取值
style1,目前唯一可用的样式

在哪里设置

启动时一次调用

在 didFinishLaunchingWithOptions 中调用 foregroundNotificationWith(style:duration:vibration:disappearedPushAnimation:),并设置外观属性。整个 App 只需配置一次。

到达时一次调用

在 PWMessagingDelegate.onMessageReceived 回调中调用 showForegroundPush(userInfo:),直接根据消息 payload 渲染横幅。

一个点击代理

PWForegroundPushDelegate.didTapForegroundPush(userInfo:) 会交给您完整的 payload,点击即可深度链接到活动预设的位置。

在用户旅程中发挥作用

一条推送,三种呈现

前台横幅只是您已在发送的消息的一种呈现方式。同一细分、同一触发器、同一 payload、同一个 Customer Journey 中的同一步骤。改变的只是设备收到消息后如何处理。

App 关闭时,消息作为普通系统推送送达,或更新一个 Live Activity。App 打开时,SDK 绘制这个横幅。当这一刻值得用全屏展示优惠或表单时,同一个旅程会升级为 应用内消息。

读者正在看文章时,突发新闻来了

编辑事件触发旅程。一条静默推送在后台预热文章,读者完全察觉不到,提醒紧随其后一秒到达。

App 关闭的读者在锁屏上看到系统推送。已在 App 内的读者则会看到媒体自己的品牌横幅滑过正在阅读的文章,附带缩略图,一次点击即可深度链接到新文章。无论哪种情况,Message Inbox 都会保留这条提醒。

适用场景

横幅只在用户身处 App 内时触发,因此它的价值取决于会话内密度:您的发送有多少落在已经打开的屏幕上。会话时长长的 App 收益最大,而消息总是到达揣在口袋里的手机的 App 几乎没有收益。对会话时长普遍较长的出海手游和内容类 App 来说,这正是一个值得打磨的触点。

场景消息内容为什么适合横幅
出海手游:对局中的活动或奖励轮到你了:团本 5 分钟后开始会话时间长,大多数推送都在游戏中到达,与美术风格一致的横幅契合游戏 UI
媒体与新闻:阅读时突发新闻判决结果出炉读者已在 App 内,系统横幅会打断媒体自身的设计
流媒体:观看剧集时新内容上线第 3 季已上线提醒可以带上剧集海报,而不是以系统样式出现
创作者与订阅类 App:新作发布或试用提醒您关注的创作者有新作品精心设计的 App 不应把这一刻交给系统,点击可深度链接到付费墙
体育直播:用户在 App 内观看时进球1-0,第 68 分钟用户为这场比赛打开 App,推送到达时正在观看
跨境电商与交易平台:浏览时降价您的尺码已到货滚动浏览中出现的定制横幅更像店铺的一部分,而不是打扰
金融科技:应用内操作时的确认转账已发送在用户正等待确认的时刻,品牌化确认显得自然原生
场景
1 / 7
出海手游:对局中的活动或奖励
消息内容
轮到你了:团本 5 分钟后开始
为什么适合横幅
会话时间长,大多数推送都在游戏中到达,与美术风格一致的横幅契合游戏 UI
场景
2 / 7
媒体与新闻:阅读时突发新闻
消息内容
判决结果出炉
为什么适合横幅
读者已在 App 内,系统横幅会打断媒体自身的设计
场景
3 / 7
流媒体:观看剧集时新内容上线
消息内容
第 3 季已上线
为什么适合横幅
提醒可以带上剧集海报,而不是以系统样式出现
场景
4 / 7
创作者与订阅类 App:新作发布或试用提醒
消息内容
您关注的创作者有新作品
为什么适合横幅
精心设计的 App 不应把这一刻交给系统,点击可深度链接到付费墙
场景
5 / 7
体育直播:用户在 App 内观看时进球
消息内容
1-0,第 68 分钟
为什么适合横幅
用户为这场比赛打开 App,推送到达时正在观看
场景
6 / 7
跨境电商与交易平台:浏览时降价
消息内容
您的尺码已到货
为什么适合横幅
滚动浏览中出现的定制横幅更像店铺的一部分,而不是打扰
场景
7 / 7
金融科技:应用内操作时的确认
消息内容
转账已发送
为什么适合横幅
在用户正等待确认的时刻,品牌化确认显得自然原生

什么时候更适合其他触点

横幅介于朴素的系统提醒和全屏应用内消息之间,适合一眼看完的信息。很多场景落在它的两侧。

  • 消息在 App 关闭时到达:快递到门口、登机口变更、欺诈提醒。这应使用普通推送、中断级别 或 Live Activity。
  • 状态是持续的而非瞬时的:进行中的订单、行驶中的车辆、实时比分。这应使用 Live Activity。
  • 消息需要全屏:优惠、表单、付费墙。这应使用 应用内消息,它更丰富,并且无需代码即可编辑。
  • 您想改变谁收到消息或消息内容。这个模块只改变消息的外观,触达仍由 移动推送 负责。
横幅是您的样式,文案仍需您来写

50 个值得借鉴的推送通知案例,附每个案例的文案与创意思路。

获取案例

平台与技术支持

该模块仅适用于 iOS。Android 的前台行为由 通知渠道 控制,Pushwoosh SDK 根据推送 payload 创建渠道,无需 App 在代码中注册;Web 端没有对应的触点。最后一列说明实际绘制横幅的组件,因为这部分大多在您的 App 中,而不在服务端。

能力iOSAndroidWeb实现方式
自定义前台横幅iOS 13.0+,Pushwoosh SDK 6.10.0+––App 中的 PushwooshForegroundPush 模块
Liquid Glass 材质iOS 26,Swift 5.13+––Apple 的材质,通过 useLiquidView 开启
实色横幅回退低于 iOS 26,Swift 5.13+––SDK 绘制的标准视图
模糊横幅回退任意 iOS,Swift 低于 5.13––SDK 绘制的模糊效果视图
标题、正文、卡片图片、GIF支持––推送 payload,保持不变
品牌配色、渐变和字体支持––模块上的静态外观属性
触感、入场与关闭动画、停留时间支持––App 启动时的 foregroundNotificationWith
点击处理与深度链接支持––PWForegroundPushDelegate.didTapForegroundPush
无代码配置外观–––目前不支持,样式在 App 代码中设置
其他平台的类似会话内触点应用内消息、Live Activities应用内消息应用内消息独立产品,在 Control Panel 中无代码编辑
能力
1 / 10
自定义前台横幅
iOS
iOS 13.0+,Pushwoosh SDK 6.10.0+
Android
–
Web
–
实现方式
App 中的 PushwooshForegroundPush 模块
能力
2 / 10
Liquid Glass 材质
iOS
iOS 26,Swift 5.13+
Android
–
Web
–
实现方式
Apple 的材质,通过 useLiquidView 开启
能力
3 / 10
实色横幅回退
iOS
低于 iOS 26,Swift 5.13+
Android
–
Web
–
实现方式
SDK 绘制的标准视图
能力
4 / 10
模糊横幅回退
iOS
任意 iOS,Swift 低于 5.13
Android
–
Web
–
实现方式
SDK 绘制的模糊效果视图
能力
5 / 10
标题、正文、卡片图片、GIF
iOS
支持
Android
–
Web
–
实现方式
推送 payload,保持不变
能力
6 / 10
品牌配色、渐变和字体
iOS
支持
Android
–
Web
–
实现方式
模块上的静态外观属性
能力
7 / 10
触感、入场与关闭动画、停留时间
iOS
支持
Android
–
Web
–
实现方式
App 启动时的 foregroundNotificationWith
能力
8 / 10
点击处理与深度链接
iOS
支持
Android
–
Web
–
实现方式
PWForegroundPushDelegate.didTapForegroundPush
能力
9 / 10
无代码配置外观
iOS
–
Android
–
Web
–
实现方式
目前不支持,样式在 App 代码中设置
能力
10 / 10
其他平台的类似会话内触点
iOS
应用内消息、Live Activities
Android
应用内消息
Web
应用内消息
实现方式
独立产品,在 Control Panel 中无代码编辑

安全与托管

Pushwoosh 运行在位于美国和德国的自有硬件上,遵循 GDPR。

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type 2 CertifiedOWASP Compliant

工作原理

这个功能需要开发投入,我们直说。Control Panel 中没有前台外观的编辑器,因此需要开发人员在 App 中一次性接入,之后的一切都是您已经在做的发送工作。

  1. 添加模块,把前台交给 App (开发人员)

    将 PushwooshForegroundPush 与 PushwooshFramework、PushwooshCore、PushwooshBridge 和 PushwooshLiveActivities 一起添加,然后在 Info.plist 中将 Pushwoosh_SHOW_ALERT 设为 false。这会阻止 iOS 绘制自己的提醒,因为横幅是替代它,而不是与它并存。

  2. 一次性配置外观 (开发人员)

    在 didFinishLaunchingWithOptions 中调用 foregroundNotificationWith(style:duration:vibration:disappearedPushAnimation:),并设置颜色、渐变和字体等外观属性。在 onMessageReceived 中用 showForegroundPush(userInfo:) 渲染每条消息,并在 didTapForegroundPush 中处理点击。

  3. 照常发送 (无代码)

    相同的受众、相同的 Customer Journey、相同的 payload,无论活动来自 Control Panel 还是 Messages API。横幅只是这条推送在 App 打开时的呈现方式。

需要了解的限制

一个作用窗口很窄的体验打磨层,以下是它的边界。

  • 仅限前台。横幅只在 App 打开时触发,因此它的覆盖范围恰好等于您的发送中落在已打开屏幕上的那部分。
  • 仅限 iOS。Android 的前台行为由 通知渠道 控制,这是一个独立机制,本模块不涉及。
  • 它会替代原生前台提醒。Pushwoosh_SHOW_ALERT 必须设为 false,系统横幅与本横幅不会同时出现。
  • 代码配置。样式在 App 代码中设置,修改需要随 App 发版,而不是随活动修改。
  • 目前只有一种布局。style1 是唯一的内置样式,可定制项限于配色、渐变、字体、动效和停留时间。
  • Liquid Glass 需要 iOS 26 和 Swift 5.13+。低于此版本的设备使用同一配置渲染实色或模糊横幅,因此主打外观只覆盖受众中使用 iOS 26 的部分。
  • 它在服务端不留痕迹。送达和打开数据照常统计,渲染在客户端完成,因此请通过会话内点击率的 A/B 测试来衡量,而不是在报表中寻找它。