# Как показывать статус доставки на экране блокировки

Позвольте клиентам отслеживать курьера на экране блокировки с момента оформления заказа до его доставки. В этом руководстве мы создадим такой Journey с помощью [элемента Live Activity](/ru/product/customer-journey/journey-elements/channels/live-activity/).

## Предварительные требования

* Ваше iOS-приложение поддерживает Live Activities. См. [руководство по Live Activities в iOS SDK](/ru/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/).
* Для этого приложения опубликована схема виджета доставки. См. [настройку схем iOS Live Activity](/ru/developer/first-steps/connect-messaging-services/ios-configuration/ios-live-activity-schemas-configuration/).

## Создание событий

В этом руководстве используются примеры названий событий. Когда ваше приложение или бэкенд впервые отправляет название, Pushwoosh [создает это событие автоматически](/ru/product/audience-data-and-segmentation/events/#implementation). Создавайте события в Control Panel заранее, только если вы хотите самостоятельно задать типы атрибутов перед первой отправкой.

Создайте (или используйте существующие) события `OrderPlaced`, `CourierStatusChanged` и `OrderDelivered`.

[Узнать больше о создании событий](/ru/product/audience-data-and-segmentation/events/#implementation)

## Создание Journey

Откройте [Customer Journey Builder](/ru/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**.

![Элемент Order card start с 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**.

![Элемент Order card update с Action, установленным на Update, и теми же выбранными Widget и Schema version](/live-activity-how-to-track-deliveries-with-live-activity-7.webp)

8. Выберите `Order card start` в поле **Card created by**.

![Параметр Card created by установлен на Order card start в элементе Update](/live-activity-how-to-track-deliveries-with-live-activity-8.webp)

9. Обновите **Card content**.

![Обновленные поля Card content в элементе Order card update](/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. Выберите `Order card start` в поле **Card created by**.

![Элемент Order card end с 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 в элементе Order card end](/live-activity-how-to-track-deliveries-with-live-activity-12.webp)

9. Нажмите **Apply**.

![Полный Journey доставки на канве с элементами entry, 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.`, ETA `18:30`, расстояние `1200` метров.

![Карточка Live Activity на экране блокировки после оформления заказа, показывающая курьера Alex M., ETA 18:30 и расстояние 1200 метров](/live-activity-how-to-track-deliveries-with-live-activity-14.webp)
</TabItem>
<TabItem label="При изменении статуса курьера">
Та же карточка обновляется, например: курьер `Alex M.`, ETA `18:15`, расстояние `400` метров.

![Карточка Live Activity на экране блокировки после обновления статуса курьера, показывающая ETA 18:15 и расстояние 400 метров](/live-activity-how-to-track-deliveries-with-live-activity-15.webp)
</TabItem>
<TabItem label="При доставке">
Карточка закрывается и исчезает с экрана блокировки.
</TabItem>
</Tabs>