High-speed delivery 设置
在 Pushwoosh 中,受众细分是通过 Segments 定义的。
对于标准推送活动,Segment 是在发送 /createMessage 请求之后编译的。这意味着在消息发出之前可能会有短暂的延迟,特别是当 Segment 很复杂时。
使用 High-speed delivery,Segments 每 10 分钟预编译一次。这使得它们保持最新并随时可用,因此可以立即发送消息——无需等待 Segment 编译。
High-speed delivery 在时间至关重要时特别有用。例如,像 UEFA 和 FIBA 这样的体育组织可以使用它来发送每一秒都很重要的实时更新。
本指南以体育应用为例,说明如何设置 High-speed delivery。您将学习如何创建受众 Segment,以通知用户即将到来的比赛和现场事件。
为什么要使用 High-speed delivery
Anchor link to体育组织使用 High-speed delivery 的先决条件如下:
- 所有比赛都已提前安排好,因此您知道何时创建相应的 Segments,并可以预编译受众 Segments。
- 每场比赛都关联一个唯一的 ID。例如,冠军联赛决赛的比赛 ID 是 0123。
- 每个球队都关联一个唯一的 ID。例如,尤文图斯 ID 是 111,皇家马德里 ID 是 222 等。
- 有一组您希望通知用户的现场事件(进球、阵容、开球等)。
所有用于 High-speed delivery 的 Segments 应提前创建——在示例用例中,最好在比赛开始前创建。Pushwoosh 将 Segment 条件应用于应用的用户群,并每 10 分钟预编译一次 Segments(此间隔可调整)。
当您发送包含推送内容和 Segment 名称的 /createMessage API 请求时,Pushwoosh 已经拥有预编译的接收者列表,允许立即发送推送通知。
创建 Tags
Anchor link to首先,创建一组要应用的 Tags,并设置用户设备的 Tag 值。 创建 Tags(LIST 类型),对应现场比赛事件,如 kickoff(开球)、goal(进球)、red card(红牌) 等。
例如:
MATCH-KICKOFF, MATCH-GOAL, MATCH-RED_CARD

创建描述球队现场比赛事件的同一组 Tags。 例如: TEAM-KICKOFF, TEAM-GOAL, TEAM-RED_CARD
通过订阅这些 Tags,应用用户可以选择他们希望接收的通知:
- 关于特定比赛的通知(例如,尤文图斯 - 皇家马德里比赛);
- 关于喜爱球队比赛的通知(例如,仅尤文图斯比赛);
- 关于比赛期间发生的事件的通知(例如,仅尤文图斯 - 皇家马德里比赛中的进球);
- 关于喜爱球队特定事件的通知(例如,尤文图斯比赛的进球和阵容)。
设置 Tags
Anchor link to现在,您可以通过 setTags API 请求填充先前指定的 Tag 值,并订阅用户到特定类别的推送通知。
例如:
当用户订阅接收冠军联赛决赛开球和进球更新时,调用包含比赛 ID 的 /setTags:
{ "request": { "application": "app_code", "hwid": "device_hardware_id", "tags": { "MATCH_KICKOFF": "0123", // match ID "MATCH_GOAL": "0123" // match ID } }}用户将收到关于冠军联赛决赛开球和进球的通知。
当用户订阅接收皇家马德里比赛的进球和红牌更新时,按如下方式调用 /setTags:
{ "request": { "application": "app_code", "hwid": "device_hardware_id", "tags": { "TEAM_KICKOFF": "222", // team ID "TEAM_GOAL": "222" // team ID } }}只要皇家马德里在比赛,该用户就会收到关于开球和进球的通知。
创建 Segments
Anchor link to现在,您可以根据 Tags 及其值(比赛 ID 和球队 ID)为比赛事件创建 Segments。Segments 应在比赛开始前 30 分钟通过 /createFilter API 请求创建。
要通知用户上述示例中冠军联赛决赛的进球,请使用以下参数调用 /createFilter:
Segment 名称:0123_GOAL
Segment 条件:#TEAM-GOAL(111, 222) OR #MATCH-GOAL(0123)
{ "request": { "auth": "auth_token", "name": "0123_GOAL", "conditions": [ ["TEAM-GOAL", "IN", ["111", "222"]], ["MATCH-GOAL", "IN", ["0123"]] ], "operator": "OR", // optional. Operator values: 'AND', 'OR' "application" : "AAAAA-00000" }}此请求将编译订阅了冠军联赛决赛(比赛 ID=0123)进球更新的用户 Segment,或者关注尤文图斯或皇家马德里(球队 ID=111, 222)的用户 Segment。
要在 Pushwoosh 控制面板中设置 High-Speed Delivery,请创建一个新 Segment,使用相应的 Tag 值,并将其关联到您要发送推送的应用。特定于应用的 Segments 每 10 分钟预编译一次,以保持受众 Segments 始终更新。

当比赛事件发生时(进球、比赛开球、红牌等),调用包含推送通知内容和 Segment 名称的 /createMessage:
{ "request": { "application": "AAAAA_00000", "auth": "auth_token", "notifications": [ { "content": "12’ Juventus goal! Juventus 1 – 0 Real Madrid", "filter": "0123_GOAL", "send_date": "now" } ] }}一旦我们收到 /createMessage 调用,我们就已经拥有符合 Segment 标准的预编译设备列表,并立即向 APNs 和 FCM 网关发送通知。
删除 Segments
Anchor link to比赛结束后,应删除所有相应的 Segments,以免计算资源浪费在重新编译不再相关的 Segments 上,特别是以牺牲接下来安排的比赛的 Segments 为代价。通过 /deleteFilter API 请求删除 Segments,例如:
{ "request": { "auth": "auth_token", "name": "0123_GOAL" }}为避免手动删除 Segments,请通过 /createFilter 请求设置 Segment 过期日期,以便 Segment 在指定日期自动删除:
{ "request": { "auth": "auth_token", "name": "0123_GOAL", "conditions": [ ["TEAM-GOAL", "IN", ["111", "222"]], ["MATCH-GOAL", "IN", ["0123"]] ], "operator": "OR", // optional. Values: 'AND', 'OR' "application": "AAAAA-00000", "expiration_date": "YYYY-MM-DD" // optional. Segment (Filter) expiry }}