# 如何在锁屏上显示配送进度

让客户从下单到送达，全程在锁屏上跟踪快递员。本指南将使用 [Live Activity 元素](/zh/product/customer-journey/journey-elements/channels/live-activity/) 构建这一 Journey。

## 前提条件

*   您的 iOS 应用支持 Live Activities。请参阅 [iOS SDK Live Activities 指南](/zh/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/)。
*   已为此应用发布了配送小组件 schema。请参阅 [iOS Live Activity schemas 配置](/zh/developer/first-steps/connect-messaging-services/ios-configuration/ios-live-activity-schemas-configuration/)。

## 创建事件

这些是本指南的示例事件名称。当您的应用或后端首次发送名称时，Pushwoosh 会[自动创建该事件](/zh/product/audience-data-and-segmentation/events/#implementation)。仅当您想在首次发送前自行设置属性类型时，才需要在 Control Panel 中首先创建事件。

创建（或重用）事件 `OrderPlaced`、`CourierStatusChanged` 和 `OrderDelivered`。

[了解有关创建事件的更多信息](/zh/product/audience-data-and-segmentation/events/#implementation)

## 构建 Journey

打开 [Customer Journey Builder](/zh/product/customer-journey/pushwoosh-journey-overview/)，创建一个营销活动，并在一个画布上构建以下所有内容。

1.  转到 **Campaigns → Customer Journey Builder**。
2.  点击 **Create campaign**。
3.  点击 **Build a journey from scratch**。

### 设置入口

1.  将 **Trigger-based entry** 元素添加到画布中。
2.  将其设置为 `OrderPlaced`。

![Trigger-based entry 面板，其中 EVENT 设置为 OrderPlaced](/live-activity-how-to-track-deliveries-with-live-activity-3.webp)

### 启动订单卡片

1.  在入口后添加一个 **Live Activity** 元素。
2.  将其命名为 `Order card start`。
3.  将 **Action** 设置为 **Start**。
4.  选择配送 **Widget** 和 **Schema version**。

![订单卡片启动，Action 设置为 Start，并选择了配送 Widget 和 Schema version](/live-activity-how-to-track-deliveries-with-live-activity-1.webp)

5.  将 **Card key: event** 设置为 `OrderPlaced`。

![Card key: event 设置为 OrderPlaced](/live-activity-how-to-track-deliveries-with-live-activity-4.webp)

6.  填写 **Card content** (`courierName`、`eta`、`distanceMeters`) 和警报字段。

![Card content 字段 courierName、eta 和 distanceMeters 已填写，下方为警报字段](/live-activity-how-to-track-deliveries-with-live-activity-5.webp)

7.  点击 **Apply**。

### 等待并更新卡片

在 Start 元素之后，继续在同一画布上操作。

1.  添加一个 **Wait for Trigger** 元素。
2.  等待 `CourierStatusChanged`。
3.  设置一个适合您的配送更新的等待期。

![Wait for Trigger 设置为 CourierStatusChanged 并带有等待期](/live-activity-how-to-track-deliveries-with-live-activity-6.webp)

4.  在事件发生时触发的分支上，添加一个 **Live Activity** 元素。
5.  将其命名为 `Order card update`。
6.  将 **Action** 设置为 **Update**。
7.  选择相同的 **Widget** 和 **Schema version**。

![订单卡片更新，Action 设置为 Update，并选择了相同的 Widget 和 Schema version](/live-activity-how-to-track-deliveries-with-live-activity-7.webp)

8.  在 **Card created by** 中选择 `Order card start`。

![在 Update 元素上，Card created by 设置为 Order card start](/live-activity-how-to-track-deliveries-with-live-activity-8.webp)

9.  更新 **Card content**。

![在订单卡片更新元素上更新了 Card content 字段](/live-activity-how-to-track-deliveries-with-live-activity-9.webp)

10. 点击 **Apply**。

### 等待并结束卡片

在 Update 元素之后，继续在同一画布上操作。

1.  再添加一个 **Wait for Trigger** 元素。
2.  等待 `OrderDelivered`。

![Wait for Trigger 设置为 OrderDelivered](/live-activity-how-to-track-deliveries-with-live-activity-10.webp)

3.  在事件发生时触发的分支上，添加一个 **Live Activity** 元素。
4.  将其命名为 `Order card end`。
5.  将 **Action** 设置为 **End**。
6.  选择相同的 **Widget** 和 **Schema version**。
7.  在 **Card created by** 中选择 `Order card start`。

![订单卡片结束，Action 设置为 End，选择了相同的 Widget 和 Schema version，并且 Card created by 设置为 Order card start](/live-activity-how-to-track-deliveries-with-live-activity-11.webp)

8.  如果需要，设置警报和 **Dismiss after, min**。

![订单卡片结束元素上的警报字段和 Dismiss after, min](/live-activity-how-to-track-deliveries-with-live-activity-12.webp)

9.  点击 **Apply**。

![画布上完整的配送 Journey，包含入口、Start、Wait for Trigger、Update、Wait for Trigger 和 End](/live-activity-how-to-track-deliveries-with-live-activity-13.webp)

## 客户看到的内容

在锁屏上，客户会收到一个 Live Activity 卡片，该卡片会随着配送进度而变化。例如：

<Tabs>
<TabItem label="下单后">
快递员 `Alex M.`，预计送达时间 `18:30`，距离 `1200` 米。

![下单后锁屏上的 Live Activity 卡片，显示快递员 Alex M.、预计送达时间 18:30 和距离 1200 米](/live-activity-how-to-track-deliveries-with-live-activity-14.webp)
</TabItem>
<TabItem label="快递员状态变更时">
同一张卡片会更新，例如快递员 `Alex M.`，预计送达时间 `18:15`，距离 `400` 米。

![快递员状态更新后锁屏上的 Live Activity 卡片，显示预计送达时间 18:15 和距离 400 米](/live-activity-how-to-track-deliveries-with-live-activity-15.webp)
</TabItem>
<TabItem label="送达时">
卡片会关闭并从锁屏上消失。
</TabItem>
</Tabs>