开发者更新日志
此页面列出了影响 Pushwoosh 集成的 SDK 发布、API 更新和平台变更。
2026 年 11 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 11 月 02 日 | Web Push SDK v3.104.1 | 重大变更 | PW_SiteOpened 按页面原有的大小写发送 path,页面规则也区分大小写进行匹配。以小写形式保存的规则和 path 条件不再匹配包含大写字母的页面。 了解更多 |
2026 年 10 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 10 月 30 日 | Android SDK v6.17.2 | 重大变更 | Rich Media 不再替换 <script> 中类似 {Name|text|} 的单花括号占位符,因此依赖它们的脚本会得到原始文本。双花括号占位符仍然有效。 了解更多 |
| 10 月 30 日 | Android SDK v6.17.2 | 修复 | 地理围栏的进入和离开转换能够到达 SDK,因此地理围栏推送通知会正常触发。调用 stopLocationTracking() 之后的转换会被忽略。 了解更多 |
| 10 月 30 日 | Android SDK v6.17.2 | 修复 | 在 Android 9 及更低版本上,模态 Rich Media 窗口外的点击会传递到应用。 了解更多 |
| 10 月 30 日 | Android SDK v6.17.2 | 修复 | registerExistingToken() 仅在服务器接受令牌后才报告成功。已保存但未送达的令牌会重新发送。 了解更多 |
| 10 月 30 日 | Customer Journey API | 重大变更 | 选择 现有用户和新用户 或 仅新用户 时,基于受众的进入在保存或启动 Journey 时还会拒绝嵌套了基于事件的细分或静态细分的细分。 了解更多 |
| 10 月 30 日 | Device API | 重大变更 | 邮件扫描程序产生的电子邮件打开和点击不再发送 PW_EmailOpen 或 PW_EmailLinkClicked,不再设置 Last Email Open 或 Last Email Click 标签,也不再推进 Journey。 了解更多 |
| 10 月 30 日 | Customer Journey API | 修复 | 读取 Journey 时,相对于事件等待的 Wait 点会在 dynamic_time.event_name 中返回事件名称,而不是事件属性。了解更多 |
| 10 月 29 日 | Statistics API | 重大变更 | 消息统计默认不计入被标记为机器人(链接扫描器)的邮件打开和点击。设置 include_bots: true 可将其计入。了解更多 |
| 10 月 28 日 | Capacitor SDK v1.0.14 | 重大变更 | pushReceivedCallback 和 pushOpenedCallback 接收一个事件对象,因此将第一个参数当作消息文本读取的 TypeScript 代码将无法再编译(捆绑 Android SDK 6.17.1、iOS SDK 7.3.0)。了解更多 |
| 10 月 28 日 | Unity SDK v6.3.0 | 重大变更 | 通过 CocoaPods 或 EDM4U 获取 SDK 的 iOS 项目在更新后会切换到 Swift Package Manager,“了解更多”中列出的情况除外。此后 Xcode 需要能够访问 github.com。了解更多 |
| 10 月 28 日 | Unity SDK v6.3.0 | 修复 | 在 iOS 上,空的 Application Code 会让 SDK 保持未初始化状态,而不会导致应用崩溃。了解更多 |
| 10 月 27 日 | Cordova SDK v8.3.80 | 修复 | 在 onDeviceReady 之前、WebView 重建期间或没有监听器时到达的 Android VoIP 通话事件,会在下一次 onDeviceReady 时传递(捆绑 Android SDK 6.17.1、iOS SDK 7.3.0)。了解更多 |
| 10 月 27 日 | Web Push SDK v3.103.0 | 新增 | Web 活动可以按推送权限状态定位访客,且 Pushwoosh.getPushPermissionStatus() 已公开。了解更多 |
| 10 月 27 日 | Web Push SDK v3.102.0 | 变更 | PW_SiteOpened 带有解码并转为小写的 path,因此 Web 活动的页面规则匹配不区分大小写,并支持非拉丁字符路径。了解更多 |
| 10 月 27 日 | iOS SDK v7.3.0 | 弃用 | Pushwoosh.sharedInstance()、initializeWithAppCode、所有 Pushwoosh 实例成员、PWInAppManager.shared()、PWInbox 和 PWRichMediaManager.shared() 已弃用,改用 Pushwoosh.configure、Pushwoosh.inbox 和 Pushwoosh.media.legacyRichMedia。了解更多 |
| 10 月 27 日 | iOS SDK v7.3.0 | 修复 | registerForPushNotifications(completion:) 会报告服务器的实际结果,而不是提前返回成功;随注册传入的标签在临时故障后也会保留。了解更多 |
| 10 月 27 日 | iOS SDK v7.3.0 | 重大变更 | Rich Media 不再替换 <script> 内的单花括号占位符(例如 {Name|text|}),因此依赖它们的脚本会得到原始文本。双花括号占位符仍然有效。了解更多 |
| 10 月 27 日 | iOS SDK v7.3.0 | 修复 | 当 iOS 撤销 VoIP 令牌时,SDK 不再注销设备,因此常规推送通知可以继续送达。了解更多 |
| 10 月 27 日 | iOS SDK v7.3.0 | 重大变更 | PWInboxMessageProtocol 新增了必需的 tabId 属性,自行实现该协议的代码必须添加此属性。了解更多 |
| 10 月 23 日 | Android SDK v6.17.1 | 修复 | Firebase 轮换的推送令牌能够送达 Pushwoosh,即使设备当时处于离线状态。了解更多 |
| 10 月 23 日 | Messaging API v2 | 新增 | 新增 custom_data_raw:以 JSON 文本形式提供的自定义数据,可精确保留大于 2^53 的整数,且不能与 custom_data 同时使用。REST 请求会自动填充该字段。了解更多 |
| 10 月 21 日 | Messaging API v2 | 新增 | 新增 sms.rcs(content_sid、content_variables),用于通过 Twilio 内容模板发送 RCS,适用于使用 Twilio 并配置了自己的凭据和 Messaging Service 的应用。了解更多 |
| 10 月 20 日 | User-centric API | 重大变更 | 对于名称超过 128 个字符或包含控制字符的事件,postEvent 不再自动创建,并返回字段无效错误。现有事件仍可正常使用。了解更多 |
| 10 月 19 日 | .NET SDK v2.1.0 | 新增 | Pushwoosh.DotNet 和 Pushwoosh.DotNet.Geozones 除 .NET 8 外还包含 .NET 10 构建(捆绑 Android SDK 6.17.0、iOS SDK 7.2.10)。了解更多 |
| 10 月 19 日 | .NET SDK v2.1.0 | 重大变更 | 低于 iOS 15.0 时构建会以 PW0001 失败,Pushwoosh.DotNet 与 Pushwoosh.DotNet.Geozones 版本不匹配时会以 PW0002 失败。iOS 上的 PWInlineInAppView 已过时,不再显示任何内容。了解更多 |
| 10 月 19 日 | Messaging API v2 | 重大变更 | 对于没有 button_textN 的 Chrome button_urlN,以及在 Android、Huawei、Baidu 和 Chrome 上超过 2419200 秒(28 天)的 time_to_live,请求会被拒绝并返回 400。了解更多 |
| 10 月 19 日 | Messaging API v2 | 修复 | iOS 的 sound_enabled: false 会发送无声通知。了解更多 |
| 10 月 19 日 | Messaging API v2 | 重大变更 | 当应用使用 APNs Sandbox 网关且拥有超过 200 个启用 iOS 推送的订阅者时,Segment 消息(非事务性消息)会以 SandboxMaxDevices 失败。了解更多 |
| 10 月 19 日 | Statistics API | 变更 | 传入 applications 时,getTagStats 对任何标签都按应用统计,否则按整个账户统计。此前,应用特定标签必须传入 applications,而其他标签会拒绝该参数。了解更多 |
| 10 月 16 日 | Messages API v1 | 重大变更 | createTargetedMessage 会强制执行 API 令牌的应用限制:受限令牌不能向其他应用发送消息,未指定应用的 devices_filter 会被拒绝。了解更多 |
| 10 月 16 日 | React Native SDK v7.0.6 | 新增 | 在 React Native 0.75+ 上,Podfile 中的 pushwoosh_spm_post_install 会通过 Swift Package Manager 安装 iOS SDK(捆绑 Android SDK 6.17.0,通过 Swift Package Manager 捆绑 iOS SDK 7.2.10)。了解更多 |
| 10 月 16 日 | Web Push SDK v3.100.0 | 变更 | 当应用拥有自己的 Web VAPID 密钥时,新的 Safari 16+ 订阅者会注册为 device_type 11(而不是 10),与统一 Web 平台上的行为一致。现有的 Website Push ID 订阅保持 10,在统一 Web 平台上也是如此。了解更多 |
| 10 月 16 日 | Web Push SDK v3.99.0 | 新增 | Web 活动表单通过一次请求将所有值提交到 Pushwoosh,并归属到显示该表单的活动。了解更多 |
| 10 月 15 日 | Android SDK v6.17.0 | 新增 | 通过 pw_buttons 负载字段新增最多三个推送操作按钮,被点击的按钮由 PushMessage.getTappedButtonId() 返回。了解更多 |
| 10 月 15 日 | Android SDK v6.17.0 | 新增 | SDK 会在注册和应用打开时向 Pushwoosh 报告设备的推送权限状态。了解更多 |
| 10 月 15 日 | Android SDK v6.17.0 | 弃用 | Action 和 PushMessage.getActions()(pw_actions)已弃用,改用 pw_buttons 和 PushMessage.getButtons()。了解更多 |
| 10 月 15 日 | Android SDK v6.17.0 | 重大变更 | InboxMessage 新增了抽象方法 getTabId(),自行实现该接口的代码必须添加此方法。了解更多 |
| 10 月 15 日 | Messaging API v2 | 新增 | 新增 geo_zone(lat、lng,以及以米为单位的 range),用于让 Segment 消息定位最后位置位于该圆形区域内的设备。了解更多 |
| 10 月 15 日 | Messaging API v2 | 变更 | 使用 follow_user_timezone: true 时,已经过去的 at 不再被移到当前时间。较晚的时区会在该时间收到消息,其余时区遵循 past_timezones_behaviour。了解更多 |
| 10 月 15 日 | Messaging API v2 | 新增 | 为 iOS、Android、Huawei 和 Baidu 内容新增按平台设置的 silent 标志。了解更多 |
| 10 月 15 日 | iOS SDK v7.2.10 | 新增 | 通过 Pushwoosh.configure.featureFlags 新增功能开关(本地缓存、refresh(completion:)、addUpdateListener(_:)、logImpression(_:))。目前处于 Beta 阶段。了解更多 |
| 10 月 15 日 | iOS SDK v7.2.10 | 新增 | SDK 会报告推送权限状态(granted_explicit、provisional、ephemeral、denied、not_determined),getRemoteNotificationStatus() 也会以 push_permission_status 返回该状态。了解更多 |
| 10 月 15 日 | iOS SDK v7.2.10 | 修复 | 对于缺失或为空的令牌,startLiveActivityWithToken:activityId:completion: 会以错误结束,而不是将其发送出去。了解更多 |
| 10 月 13 日 | Messages API v1 | 修复 | 使用最佳发送时间和 timezone 的 createMessage 会按请求的时区计算发送日期。了解更多 |
| 10 月 13 日 | Web Push SDK v3.97.0 | 新增 | 内嵌 Web 活动会渲染在第一个匹配其 CSS 选择器的页面元素内,而不是覆盖在页面上方。了解更多 |
| 10 月 12 日 | Event Streaming | 变更 | 如果 HTTP 端点连续 24 小时每次投递都失败,其集成会被暂停、未投递的事件会被丢弃,并且账户所有者会收到一封邮件。了解更多 |
| 10 月 12 日 | Messaging API v2 | 新增 | 新增 inbox.expires_in,即从发送日期起计算的有效期,例如 "604800s"。两者都设置时,以 expiration_date 为准。了解更多 |
| 10 月 11 日 | Messaging API v2 | 新增 | 新增包含 2–5 张卡片的 Viber carousel,它需要 body,且不能与图片、按钮或模板同时使用。了解更多 |
| 10 月 11 日 | Web Push SDK v3.96.0 | 新增 | 新增站内商品推荐:trackProductView()、recommendations.fetch()、recommendations.trackClick() 以及 [data-pw-recommendations] 小部件,需在控制面板中开启站内推荐后使用。了解更多 |
| 10 月 11 日 | Web Push SDK v3.95.0 | 新增 | applicationOpen 和 registerDevice 会发送 push_permission_status(not_determined、granted_explicit、denied、unsupported),被拒绝的权限会在不带推送令牌的情况下注册。了解更多 |
| 10 月 10 日 | Device API | 新增 | registerDevice 和 applicationOpen 接受 push_permission_status,其值存储在 Push Permission Status 系统标签中。了解更多 |
| 10 月 09 日 | Android SDK v6.16.0 | 新增 | 通过 Pushwoosh.getInstance().getFeatureFlags() 新增功能开关(本地缓存、isEnabled()、refresh()、addUpdateListener()、logImpression())。目前处于 Beta 阶段。了解更多 |
| 10 月 09 日 | Android SDK v6.16.0 | 新增 | 在 pushwoosh-firebase 中新增 PushwooshFcmRouterService,供自行处理 FCM 的应用使用:Pushwoosh 消息和令牌交给 SDK,其他消息交给 onAppMessageReceived()。了解更多 |
| 10 月 09 日 | Capacitor SDK v1.0.13 | 新增 | 新增 Message Inbox API(loadMessages()、readMessage()、deleteMessage()、performAction()、计数器),以及用于 presentInboxUI() 的类型化 InboxStyle(捆绑 Android SDK 6.16.0、iOS SDK 7.2.9)。了解更多 |
| 10 月 09 日 | Capacitor SDK v1.0.13 | 重大变更 | getTags() 的类型声明为它一直返回的扁平标签对象,因此解构 { tags } 的 TypeScript 代码将无法再编译。了解更多 |
| 10 月 09 日 | Cordova SDK v8.3.79 | 修复 | 修复了导致插件 Android 构建失败的 isRegisteredForPushNotifications 编译错误(捆绑 Android SDK 6.16.0、iOS SDK 7.2.9)。了解更多 |
| 10 月 09 日 | Messaging API v2 | 新增 | 为 Segment 消息新增 schedule.best_time_to_send,最多可提前 30 天。了解更多 |
| 10 月 09 日 | Messaging API v2 | 变更 | 消息最多可提前 30 天安排发送,此前为 14 天。了解更多 |
| 10 月 09 日 | Messaging API v2 | 重大变更 | 发送给有设备、但没有该消息渠道对应设备的 users 的事务性消息,会返回 OK 但不发送,而不是返回 NoRecipientsFound,与 v1 Messages API 一致。了解更多 |
| 10 月 09 日 | Web Push SDK v3.94.1 | 新增 | 通过 Pushwoosh.featureFlags 新增功能开关(类型化的 getter、isEnabled()、refresh()、更新监听器、logImpression()),不使用功能开关的网站不会发送任何请求。目前处于 Beta 阶段。了解更多 |
| 10 月 08 日 | Web Push SDK v3.93.1 | 修复 | 关联到 Web 弹窗的 App Inbox 消息在点击时会显示该弹窗。了解更多 |
| 10 月 08 日 | iOS SDK v7.2.9 | 修复 | 在后台到达的带有 content-available 的可见推送,只有在被点击时才计为已打开,并且只计为已接收一次。了解更多 |
| 10 月 07 日 | Messaging API v2 | 修复 | platforms 为空的推送会发送到推送平台(静默推送则发送到支持静默推送的平台),而不是所有已启用的平台。了解更多 |
| 10 月 07 日 | Tags API | 重大变更 | 名为 PW_FF_*(不区分大小写)的标签保留给功能开关使用:setTags、registerDevice 和批量更新会丢弃其值,getTags 也不会返回它们。了解更多 |
| 10 月 06 日 | React Native SDK v7.0.5 | 修复 | 在 iOS 上,JS 运行时中每次调用 Linking.getInitialURL() 都会返回启动应用的推送中的链接,即使其他库先读取了该链接也是如此。了解更多 |
| 10 月 06 日 | Web Push SDK v3.93.0 | 变更 | 当 Web SDK 设置由控制面板管理时,webPopups.enable 来自控制面板。通过 npm 安装时,enable: false 也会停止在代码中创建的小部件。了解更多 |
| 10 月 06 日 | Web Push SDK v3.92.0 | 变更 | 当 Web SDK 设置由控制面板管理时,控制面板中的 inboxWidget 值会覆盖代码片段中的值。控制面板未设置的键(例如 triggerId)保留代码片段中的值。了解更多 |
| 10 月 05 日 | Capacitor SDK v1.0.12 | 重大变更 | CocoaPods 和 Swift Package Manager 安装的最低 iOS 版本均提高到 15.0(捆绑 Android SDK 6.15.1、iOS SDK 7.2.8)。了解更多 |
| 10 月 05 日 | Customer Journey API | 重大变更 | 从 2026 年 11 月 5 日起创建的 Journey,如果位于事件入口或 API 入口之后的推送、SMS、Viber、WhatsApp、应用内、智能内容或 Inbox 步骤缺少 message_type,将无法启动。通过 API 创建的 Journey 在 12 月 5 日之前只会收到警告。了解更多 |
| 10 月 05 日 | Customer Journey API | 修复 | v3 的 start、pause、finish、draft 和 archive 端点返回 400 及验证结果,而不是 500。了解更多 |
| 10 月 02 日 | Event Streaming | 重大变更 | Webhook 投递以每批最多 100 个事件或 768 KiB 的方式发送,并且只有 2xx 响应才算投递成功。了解更多 |
| 10 月 02 日 | Flutter SDK v2.3.25 | 重大变更 | pushwoosh_flutter、pushwoosh_inbox 和 pushwoosh_geozones 的最低 iOS 部署目标提高到 15.0(捆绑 Android SDK 6.15.1、iOS SDK 7.2.8)。了解更多 |
| 10 月 02 日 | Flutter SDK v2.3.25 | 新增 | iOS 插件也以 Swift 包的形式提供,Flutter 3.44+ 默认使用这种方式。了解更多 |
| 10 月 02 日 | Flutter SDK v2.3.25 | 修复 | 在 Android 上,addToApplicationIconBadgeNumber 会在当前角标数字上累加,而不是替换它。了解更多 |
| 10 月 02 日 | Messaging API v2 | 新增 | schedule.past_timezones_behaviour 支持 PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND 和 PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY。了解更多 |
| 10 月 02 日 | React Native SDK v7.0.4 | 修复 | 在 iOS 上,冷启动时 Linking.getInitialURL() 会返回启动应用的推送中的 Universal Link,即使链接验证较慢也是如此(捆绑 Android SDK 6.15.1)。了解更多 |
| 10 月 02 日 | Statistics API | 重大变更 | 对于 message_type 为 ALL(默认值)或 TRANSACTIONAL 的情况,未指定 date_range 的 messages:list 只返回最近 31 天(UTC)的数据,除非设置了 messages_ids 或 messages_codes。了解更多 |
| 10 月 01 日 | Android SDK v6.15.1 | 重大变更 | pushwoosh-inbox-ui 默认在消息显示时将其标记为已读,而不是在点击时;设置 PushwooshInboxStyle.automaticReadOnDisplay = false 可保持仅在点击时标记。了解更多 |
| 10 月 01 日 | Messaging API v2 | 重大变更 | REST 请求正文中的未知枚举值会返回 400 并指明字段名,而不是回退到默认值。了解更多 |
2026 年 9 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 9 月 30 日 | iOS SDK v7.2.8 | 修复 | 修复了在其他 SDK 包装应用代理(app delegate)的应用中(例如启用了 FirebaseAppDelegateProxyEnabled 的 Firebase)启动时崩溃的问题。了解更多 |
| 9 月 29 日 | Web Push SDK v3.91.1 | 重大变更 | 收件箱小部件配置文本(title、emptyInboxTitle、emptyInboxText)现在以文本形式渲染,而不再作为 HTML 注入。在其中使用了标记的页面需要进行调整。了解更多 |
| 9 月 29 日 | Web Push SDK v3.90.0 | 重大变更 | subscriptionWidget 现在用 prompt.enabled 和 launcher.enabled(各自独立开启)取代 enable,并用 launcher.width/launcher.height 取代 launcher.size。仍传入 enable 的代码片段会回退到旧的订阅小部件。了解更多 |
| 9 月 29 日 | Web Push SDK v3.89.1 | 新增 | 新增订阅小部件(subscriptionWidget 初始化参数或 Control Panel):它由提示和启动器铃铛组成,将推送订阅按钮、自定义订阅弹出窗口和订阅提示整合为一个组件,使访问者不会同时看到两个相互竞争的请求。了解更多 |
| 9 月 25 日 | iOS SDK v7.2.7 | 新增 | 新增 Pushwoosh.media.setRichMediaColorScheme(_:) 和 Pushwoosh_RICH_MEDIA_COLOR_SCHEME Info.plist 键,使用 prefers-color-scheme 构建的 Rich Media 可以跟随应用或系统主题。原生应用内消息现在支持深色外观。了解更多 |
| 9 月 25 日 | iOS SDK v7.2.7 | 新增 | 新增 PWInbox.reportActionForMessageWithCode(_:),用于在不执行收件箱消息操作的情况下,将其上报为已打开。了解更多 |
| 9 月 25 日 | iOS SDK v7.2.7 | 变更 | 当应用未将 APNs 设备令牌传给 handlePushRegistration(_:) 时,SDK 现在会自行获取该令牌,因此无需调用该方法设备即可完成注册。可通过 Pushwoosh_AUTO_DEVICE_TOKEN_REGISTRATION = NO 关闭。了解更多 |
| 9 月 24 日 | Android SDK v6.15.0 | 新增 | 新增 PushwooshInbox.markMessageOpened(),用于在不执行收件箱消息操作的情况下,将其上报为已打开。了解更多 |
| 9 月 22 日 | Web Push SDK v3.86.0 | 变更 | 在由面板管理的应用中,Control Panel 中保存的值现在会覆盖站点初始化代码片段中的同名参数。了解更多 |
| 9 月 21 日 | Web Push SDK v3.85.0 | 新增 | 新增面板管理模式:Web SDK 设置(autoSubscribe、defaultNotificationTitle、defaultNotificationImage、safariWebsitePushID、subscribeWidget)现在可以在 Control Panel 中管理,而无需通过初始化代码片段。了解更多 |
| 9 月 21 日 | Web Push SDK v3.85.0 | 修复 | 修复了从未订阅过的访客首次访问时发出不必要的 /unregisterDevice 请求的问题。了解更多 |
| 9 月 17 日 | Android SDK v6.14.0 | 新增 | Live Update 通知现在与常规推送一样,点击后会打开应用并跟随深度链接,且打开次数会计入统计。新增 PushwooshLiveUpdates.getLiveUpdateActivityId(),用于将它们与常规推送区分开。了解更多 |
| 9 月 16 日 | Web Push SDK v3.82.0 | 新增 | App Inbox 消息现在可以打开 Web 弹出窗口,而不是链接。弹出窗口代码位于 action_params.wp 中,并通过 IInboxMessagePublic.webPopupCode 提供。了解更多 |
| 9 月 15 日 | Web Push SDK v3.81.0 | 新增 | Web 弹出窗口内的 subscribe 操作按钮现在会请求推送权限,并将最终的 granted/denied/default 状态回传给弹出窗口。了解更多 |
| 9 月 14 日 | Web Push SDK v3.78.0 | 新增 | 小部件样式(App Inbox 小部件上的 --pw-inbox-*,Web 弹出窗口上的 --pw-popup-*)现在在小部件根元素上使用真正的 CSS 自定义属性。这是受支持的公共 API,页面可以通过自己的 CSS 覆盖。了解更多 |
| 9 月 12 日 | Web Push SDK v3.75.0 | 新增 | App Inbox 小部件现在渲染与 Control Panel 营销活动预览相同的四种单元格布局(classic、banner、captioned、carousel),使 Web 收件箱消息的外观与设计一致。了解更多 |
| 9 月 12 日 | Web Push SDK v3.75.0 | 重大变更 | 公共收件箱消息的 sendDate 现在是 UTC 时刻,而不再是标记为 Z 的本地挂钟时间。收件箱消息内容现在会进行 HTML 转义,并且 IInboxMessagePublic 新增了必填字段 layout、iconUrl、heroUrl、carousel 和 customData。了解更多 |
| 9 月 11 日 | Android SDK v6.13.0 | 新增 | 新增 RichMediaManager.setRichMediaColorScheme() 和 com.pushwoosh.rich_media_color_scheme 清单键,使用 prefers-color-scheme 构建的 Rich Media 可以跟随应用或系统主题。原生应用内消息现在支持深色外观。了解更多 |
| 9 月 11 日 | Android SDK v6.13.0 | 修复 | 来自已打开通知的深度链接现在会送达已在运行的 activity,而不是它的新副本。了解更多 |
| 9 月 9 日 | iOS SDK v7.2.6 | 变更 | postEvent(_:withAttributes:completion:) 现在在服务器接受事件后即调用其 completion,而不再等待账户的应用内资源下载完成。了解更多 |
| 9 月 8 日 | Flutter SDK v2.3.24 | 新增 | iOS 上的推送负载现在携带 foreground 和 onStart 键,与 Android 上已有的行为一致。了解更多 |
| 9 月 8 日 | Flutter SDK v2.3.24 | 修复 | Pushwoosh.initialize() 现在会对非字符串的 app_id 抛出 ArgumentError,而不是导致应用崩溃。了解更多 |
| 9 月 4 日 | Android SDK v6.12.0 | 新增 | 向 pushwoosh-inbox-ui 新增了丰富的消息卡片(banner、captioned、classic、carousel、video),由消息的 displayType 选择,并新增 PushwooshInboxUi.onButtonClickListener 用于内嵌按钮的点击。了解更多 |
| 9 月 2 日 | Web Push SDK v3.73.0 | 新增 | 新增 pushNotifications 初始化参数(默认为 true)和 isPushAvailable()。推送通知不再是 initialize() 完成的前提条件,因此即使关闭推送,弹出窗口、收件箱、事件和标签也能正常工作。了解更多 |
| 9 月 2 日 | Web Push SDK v3.73.0 | 重大变更 | npm 包的 TypeScript 使用者会看到 Pushwoosh.driver 的类型为 IPushService | undefined。启用 strictNullChecks 且直接读取 pushwoosh.driver.* 的代码需要加入保护判断,推荐使用 isPushAvailable()。运行时行为不变。了解更多 |
2026 年 8 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 8 月 31 日 | Web Push SDK v3.70.0 | 新增 | 新增了 webPopups.colorScheme ('auto'、'light' 或 'dark'),用于选择配置了深色模式的弹出窗口所渲染的调色板。了解更多 |
| 8 月 31 日 | Web Push SDK v3.70.0 | 新增 | Web 弹出窗口的主题选择器和评级块现在通过 SDK 写入:选择的内容会附加到绑定的设备标签上,评级会作为自定义事件发布。了解更多 |
| 8 月 31 日 | Web Push SDK v3.70.0 | 变更 | 带有已过期倒计时块的 Web 弹出窗口将不再显示,即使通过 show() 手动触发也是如此。了解更多 |
| 8 月 27 日 | iOS SDK v7.2.5 | 变更 | 推送链接现在仅对应用的 Associated Domains 中列出的域在应用内打开。所有其他链接都在浏览器中打开。了解更多 |
| 8 月 27 日 | iOS SDK v7.2.5 | 新增 | PushwooshInboxKit 卡片现在将推送附件显示为卡片图片。了解更多 |
| 8 月 27 日 | iOS SDK v7.2.5 | 修复 | 修复了推送链接、外部链接和应用内按钮打开错误目标或根本不打开的问题。了解更多 |
| 8 月 24 日 | Customer Journey API | 重大变更 | send_email 点的 email_type 字段现在只接受空字符串、marketing 或 transactional(小写),在 Journey 验证或启动时进行验证。了解更多 |
| 8 月 21 日 | Android SDK v6.11.0 | 新增 | 在 pushwoosh-inapp-ui 中新增了一个视频应用内模板。它会显示一个全屏自动播放的视频,并叠加标题、消息和操作按钮,以及静音和关闭控件。了解更多 |
| 8 月 21 日 | Android SDK v6.11.0 | 新增 | 新增了 Pushwoosh.getBaseUrl(),用于返回 SDK 当前发送请求的 Pushwoosh API 端点。了解更多 |
| 8 月 21 日 | Android SDK v6.11.0 | 变更 | 在华为/荣耀仅支持 HMS 的设备上的推送传输现在在 Cordova 和 React Native 中自动检测,与原生应用匹配。在完整的 HMS 设置下,HMS Push Kit 可开箱即用。了解更多 |
| 8 月 21 日 | Android SDK v6.11.0 | 弃用 | Pushwoosh.enableHuaweiPushNotifications() 已被弃用,不再有任何效果。推送传输现已自动检测。了解更多 |
| 8 月 19 日 | Messaging API v2 | 新增 | 在 NotifySegment 中新增了 use_latest_user_device。设置后,仅向每个匹配用户的最近活动设备发送,而不是发送到与该用户 ID 关联的每个设备。了解更多 |
| 8 月 14 日 | iOS SDK v7.2.4 | 修复 | 修复了当应用从应用内委托回调中调用 SDK 时,原生应用内消息闪烁、消失或卡在屏幕上的问题。了解更多 |
| 8 月 14 日 | iOS SDK v7.2.4 | 修复 | 修复了当原生应用内消息的按钮链接包含空格或非拉丁字符时无法显示的问题。了解更多 |
| 8 月 14 日 | iOS SDK v7.2.4 | 修复 | 修复了原生应用内消息中的个性化占位符回退到默认文本而不是设备标签值的问题。了解更多 |
| 8 月 13 日 | Messaging API v2 | 新增 | 在 FrequencyCapping 中新增了 mode 和 timezone。新的日历日模式将计数和天数窗口锚定到给定 IANA 时区的本地午夜,而不是从发送时间开始的滚动窗口。了解更多 |
| 8 月 12 日 | React Native SDK v6.1.59 | 新增 | 新增了 setEmails() 和 setUserEmails(),用于为电子邮件渠道注册用户的电子邮件地址,将推送和电子邮件投递匹配到同一用户。了解更多 |
| 8 月 11 日 | Flutter SDK v2.3.23 | 新增 | 新增了 setAppCode()/getAppCode() 用于在运行时切换 Pushwoosh 应用及其 API 端点;在 initialize() 中新增了可选的 base_url 参数;新增了 presentInApp() 用于从配置对象渲染原生应用内消息。了解更多 |
| 8 月 10 日 | iOS SDK v7.2.3 | 修复 | 修复了可能导致 Rich Media 无法显示的问题。了解更多 |
| 8 月 10 日 | iOS SDK v7.2.3 | 变更 | 提高了在运行时配置 SDK 的应用的启动集成检查的准确性。了解更多 |
| 8 月 07 日 | iOS SDK v7.2.2 | 新增 | 原生应用内消息现在支持动态内容:营销活动文本中的个性化占位符会用设备的标签值填充,与 Rich Media 相同。了解更多 |
| 8 月 07 日 | iOS SDK v7.2.2 | 修复 | 修复了读取前台推送委托时可能发生的崩溃,以及当营销活动上下文或自定义推送数据携带无效 JSON 值时 Rich Media 的渲染问题。了解更多 |
| 8 月 07 日 | iOS SDK v7.2.2 | 变更 | 增强了 SDK 对格式错误的服务器和推送负载的抵御能力,提高了收件箱操作、推送处理和注册的稳定性。了解更多 |
| 8 月 07 日 | Android SDK v6.10.2 | 新增 | 原生应用内消息现在支持动态内容:营销活动文本中的个性化占位符会用设备的标签值填充,与 Rich Media 相同。了解更多 |
| 8 月 06 日 | Messaging API v2 | 新增 | 在 SMS 负载块中新增了 subject、file_urls 和 message_at。subject 和 file_urls 会在具有 MMS 端点的提供商上将消息转换为 MMS;其他提供商会忽略这两者并发送纯文本正文。了解更多 |
| 8 月 03 日 | Android SDK v6.10.1 | 新增 | 在 pushwoosh-inapp-ui 中新增了横幅(带有可选自动关闭的紧凑条)、轮播(可滑动的卡片组)和底部卡片(底部固定的卡片,可向下滑动关闭)应用内模板。了解更多 |
2026 年 7 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 7 月 31 日 | iOS SDK v7.2.1 | 新增 | PushwooshInApp 支持底部卡片、轮播(可滑动的幻灯片)和横幅(紧凑的 toast)应用内模板,此外还支持模态、全屏和故事模板。了解更多 |
| 7 月 31 日 | Statistics API | 变更 | 当 page × per_page 超过 100,000 时,messages:list 现在会报错。请缩小日期范围或使用更小的页面。了解更多 |
| 7 月 29 日 | Messaging API v2 | 修复 | Notify 不再丢弃包含 Liquid 个性化({{ }} / {% %})的深层链接 URL。了解更多 |
| 7 月 28 日 | Messaging API v2 | 变更 | 同时设置 days: 0 和 count: 0 现在会完全禁用频率上限,而不是返回错误。这使得在无需额外逻辑的情况下关闭上限变得更容易。仅发送 days 或 count 中的一个仍会被拒绝。了解更多 |
| 7 月 27 日 | Web Push SDK v3.63.0 | 新增 | Web 弹出窗口现在可以完全由您自己的代码控制,新增了用于显示、隐藏和检查弹出窗口状态的 API,以及用于实时响应可见性变化的事件。了解更多 |
| 7 月 24 日 | iOS SDK v7.2.0 | 新增 | 应用内消息现在可以在设备上原生渲染。新增了 PushwooshInApp,通过 Pushwoosh.inApp API 支持模态、全屏和故事模板。了解更多 |
| 7 月 24 日 | Android SDK v6.10.0 | 新增 | 应用内消息现在可以在设备上原生渲染。新增了 pushwoosh-inapp-ui,通过 PushwooshInAppUi API 支持模态、全屏和故事模板。了解更多 |
| 7 月 24 日 | Android SDK v6.10.0 | 修复 | 修复了可能导致某些应用内消息无法显示的问题。了解更多 |
| 7 月 23 日 | Tags API | 重大变更 | 标签不再区分为应用程序特定标签和账户级标签。listTags 对每个标签都返回 isApplicationSpecific: true,addTag 会忽略 application_specific。了解更多 |
| 7 月 21 日 | User-centric API | 新增 | postEvent 现在支持 PW_Conversion 用于收入跟踪。了解更多 |
| 7 月 15 日 | iOS SDK v7.1.5 | 修复 | 修复了自定义 VoIP 铃声配置的问题,并使 SDK 对格式错误的推送负载、标签、收件箱数据和富媒体内容更具弹性。了解更多 |
| 7 月 15 日 | iOS SDK v7.1.5 | 变更 | Live Activity 推送令牌现在会在应用重新启动后重新注册,并跳过重复的令牌更新,以实现更可靠的远程更新。了解更多 |
| 7 月 14 日 | Liquid Templates | 新增 | connected_content 标签现在可以发送请求头,因此您可以在从 URL 拉取动态内容时传递授权令牌。了解更多 |
| 7 月 09 日 | Android SDK v6.9.6 | 变更 | 使 SDK 对应用内消息、Rich Media 和通知处理中的罕见问题更具弹性。在 Google Play 服务库过时或缺失的设备上,地理定位、地理围栏和 Firebase 推送注册现在也更可靠,标签更新和本地通知存储处理也得到了改进。了解更多 |
| 7 月 03 日 | Android SDK v6.9.5 | 变更 | 模态 Rich Media 动画时长现在可以通过应用内样式设置进行远程配置,无需更新应用。通知、应用内消息和 Rich Media 在此版本中也进行了稳定性改进。了解更多 |
| 7 月 03 日 | iOS SDK v7.1.4 | 新增 | Live Activities 现在可以安排在未来日期开始,并可通过 activityId 取消。模态 Rich Media 现在支持淡入淡出和无动画过渡,并可配置动画时长。了解更多 |
| 7 月 03 日 | iOS SDK v7.1.4 | 修复 | 修复了模态 Rich Media 自动关闭计时器(之前仅在首次显示时有效)以及模态 Rich Media 关闭后的资源清理问题。了解更多 |
| 7 月 01 日 | Messaging API v2 | 新增 | Notify 现在通过 viber 负载块支持 Viber 作为渠道。了解更多 |
2026 年 6 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 6 月 26 日 | Messaging API v2 | 新增 | 通过向事务性 Notify 的 android 块添加 live_update 对象(OPERATION_START/OPERATION_UPDATE/OPERATION_END,共享 live_update.id)来发送 Android Live Updates。了解更多 |
| 6 月 25 日 | iOS SDK v7.1.3 | 新增 | 为拥有 UNUserNotificationCenter 委托的应用新增了 handleWillPresentNotification() 和 handleNotificationResponse(),以及一个打印配置诊断信息的启动集成检查器。了解更多 |
| 6 月 25 日 | Android SDK v6.9.4 | 变更 | 模态应用内消息现在可以在没有过渡动画的情况下呈现。了解更多 |
| 6 月 24 日 | Messaging API v2 | 新增 | Notify 现在可以从保存的预设构建 SMS:设置负载级别的 sms_preset,而不是为每个区域设置内联 sms.body(内联 sms.body 仍然会覆盖该区域设置的预设)。了解更多 |
| 6 月 24 日 | Android SDK v6.9.3 | 修复 | 修复了模态 Rich Media 在后台转换和打开外部链接时的崩溃问题。Core 和 WebKit 现在作为传递依赖项提供。取代已撤回的 6.9.2 版本。了解更多 |
| 6 月 19 日 | Google Wallet API | 新增 | 从您的后端发行和更新 Google Wallet 通行证。更改会同步到保存了该通行证的每台设备。了解更多 |
| 6 月 18 日 | iOS SDK v7.1.2 | 新增 | PushwooshInboxKit 现在支持通过 displayType 为每条消息选择丰富的卡片类型(轮播、视频和 Apple Wallet),并为 Wallet 通行证操作提供委托回调。了解更多 |
| 6 月 18 日 | Customer Journey API | 新增 | 新的 REST/JSON Customer Journey API,用于创建、更新和管理 Journey,触发 API 入口,并读取 Journey 统计信息(基础 URL https://journey.pushwoosh.com)。了解更多 |
| 6 月 16 日 | Android SDK v6.9.1 | 新增 | 新增了 getSubscriptionAccountId() 用于 Google Play Billing 订阅归因。Firebase Messaging 现在作为传递依赖项提供。Live Updates 进度条可以隐藏,仅用于状态更新。了解更多 |
| 6 月 16 日 | Web Push SDK v3.59.0 | 新增 | 从代码中嵌入 Web 弹出窗口:从 SDK 包中导出 WebPopupsWidget。了解更多 |
| 6 月 15 日 | Messaging API v2 | 新增 | 新增了 Cancel 方法 (POST /messaging/v2/cancel),用于通过 message_code 取消待处理、等待中或处理中的消息。了解更多 |
| 6 月 15 日 | iOS SDK v7.1.1 | 新增 | 新增了 Pushwoosh.configure.pushPrimer,这是一个在 iOS 系统权限提示前显示的可自定义的软性选择加入对话框。了解更多 |
| 6 月 15 日 | iOS SDK v7.1.0 | 新增 | 新增了 PushwooshNotificationServiceExtension,这是一个用于通知服务扩展的即用型基类。了解更多 |
| 6 月 15 日 | iOS SDK v7.1.0 | 弃用 | PWNotificationExtensionManager 已被弃用,建议使用 PushwooshNotificationServiceExtension 的子类。了解更多 |
| 6 月 11 日 | Messaging API v2 | 新增 | 在 NotifyTransactional 中新增了 use_latest_user_device:当目标为 users 时,仅向每个用户最近活动的设备发送。了解更多 |
| 6 月 11 日 | Customer Journey Statistics API | 新增 | GET /api/journey/{id}/statistics/external 现在会在 points 中返回应用内 Journey 元素,并提供 pointStat 指标 shows、interactions 和 skipped。此前,仅包含应用内消息的 Journey 返回 points: []。了解更多 |
| 6 月 08 日 | iOS SDK v7.0.46 | 新增 | 新增了 PushwooshNotificationUI 模块:一个即用型的全屏“故事”体验,用于展开的推送通知,通过在通知内容扩展中继承 PushwooshStoriesViewController 来渲染。了解更多 |
| 6 月 08 日 | iOS SDK v7.0.46 | 修复 | 修复了 App Store 上传被拒(错误 409)、通知服务扩展在使用 App Groups 时挂起以及格式错误的角标值导致的崩溃问题。了解更多 |
| 6 月 02 日 | Android SDK v6.9.0 | 新增 | 新增了 pushwoosh-liveupdates 模块,用于在 Android 16 (API 36+) 上实现持续的、进度式的通知,适用于订单、行程和配送等用例。了解更多 |
| 6 月 02 日 | Apple Wallet PassKit API | 新增 | 新增了 Apple Wallet 通行证作为渠道,并提供了 PassKit API 用于发行和更新通行证。更新会同步到添加了该通行证的每台设备。了解更多 |
| 6 月 01 日 | Tags API | 新增 | 新增了用于电子邮件分段的电子邮件系统标签:Last Email Open Message Code、Last Email Click Message Code、Last Email Confirm、Bounced Email 和 Unsubscribed Emails。了解更多 |
2026 年 5 月
Anchor link to| 日期 | 组件 | 变更 | 详情 |
|---|---|---|---|
| 5 月 26 日 | Messaging API v2 | 新增 | Notify 现在支持 SMS 作为一级渠道。了解更多 |
| 5 月 22 日 | Web Push SDK v3.57.0 | 新增 | 新增了 api.setLanguage(...) 用于覆盖设备区域设置。其优先级高于 initParams 和 navigator.language。了解更多 |
| 5 月 22 日 | Web Push SDK v3.57.0 | 新增 | 在 SDK init 参数中新增了对 webPopups 小部件选项的支持。了解更多 |
| 5 月 22 日 | SMTP gateway | 新增 | 新增了 SMTP 提交端点 smtp.pushwoosh.com:587 (STARTTLS + AUTH PLAIN)。消息将作为事务性电子邮件转发到 Messaging API v2。了解更多 |
| 5 月 21 日 | Android SDK v6.8.1 | 变更 | 提高了会话、空闲和退出意图跟踪的准确性。setLogLevel() 现在会保留先前的级别,并在遇到无法识别的值时记录错误而不是抛出异常。了解更多 |
| 5 月 18 日 | iOS SDK v7.0.43 | 移除 | 旧版 PushwooshInboxUI 已从构建和发布管道中移除。请迁移到 PushwooshInboxKit。了解更多 |
| 5 月 18 日 | iOS SDK v7.0.43 | 重大变更 | 包含 . 的应用代码现在被明确拒绝。这种格式早已被弃用。如果您仍在使用,请联系 Pushwoosh 支持。了解更多 |
| 5 月 18 日 | iOS SDK v7.0.43 | 修复 | InboxKit 刷新现在仅在真正的后台转换时运行,以防止额外的 POST 请求 |
| 5 月 14 日 | Android SDK v6.8.0 | 新增 | 新增了 setAdvertisingId() 用于将 GAID 传递给 Pushwoosh 以进行 Meta Ads MADID 匹配。需要用户同意并在您的应用中手动集成。了解更多 |
| 5 月 13 日 | iOS SDK v7.0.41 | 新增 | 新增了 setAdvertisingId() 用于将 IDFA 传递给 Pushwoosh 以进行 Meta Ads MADID 匹配。需要在您的应用中获得 ATT 同意并手动集成。了解更多 |
| 5 月 07 日 | iOS SDK v7.0.40 | 新增 | 新增了 PushwooshInboxKit,支持横幅、带标题和经典卡片布局,内联 CTA 按钮,以及滑动删除功能。了解更多 |