# 잠금 화면에 항공편 상태를 표시하는 방법

체크인한 각 승객의 잠금 화면에 항공편이 착륙할 때까지 게이트, 상태, 시간을 표시합니다. 이 가이드에서는 [라이브 액티비티(Live Activity) 요소](/ko/product/customer-journey/journey-elements/channels/live-activity/)를 사용하여 해당 Journey를 구축합니다.

## 사전 요구 사항

* iOS 앱이 라이브 액티비티(Live Activities)를 지원해야 합니다. [iOS SDK 라이브 액티비티 가이드](/ko/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/)를 참조하세요.
* 이 앱에 대한 항공편 위젯 스키마가 게시되어 있어야 합니다. [iOS 라이브 액티비티 스키마 구성](/ko/developer/first-steps/connect-messaging-services/ios-configuration/ios-live-activity-schemas-configuration/)을 참조하세요.

## 이벤트 생성

이 가이드의 예시 이벤트 이름입니다. 앱 또는 백엔드에서 처음으로 이름을 보내면 Pushwoosh는 [해당 이벤트를 자동으로 생성합니다](/ko/product/audience-data-and-segmentation/events/#implementation). 첫 전송 전에 속성 유형을 직접 설정하려면 Control Panel에서 먼저 이벤트를 생성하세요.

`CheckInCompleted`, `FlightStatusChanged`, `FlightLanded` 이벤트를 생성(또는 재사용)하세요.

[이벤트 생성에 대해 자세히 알아보기](/ko/product/audience-data-and-segmentation/events/#implementation)

## Journey 구축

[Customer Journey Builder](/ko/product/customer-journey/pushwoosh-journey-overview/)를 열고 캠페인을 생성한 후, 아래의 모든 것을 하나의 캔버스에 구축하세요.

1. **캠페인 → Customer Journey Builder**로 이동합니다.
2. **캠페인 생성**을 클릭합니다.
3. **처음부터 Journey 구축**을 클릭합니다.

### 진입 설정

1. **트리거 기반 진입(Trigger-based entry)** 요소를 캔버스에 추가합니다.
2. `CheckInCompleted`로 설정합니다.

![EVENT가 CheckInCompleted로 설정된 트리거 기반 진입 패널](/live-activity-how-to-track-flight-status-with-live-activity-3.webp)

### 항공편 카드 시작

1. 진입 요소 뒤에 **라이브 액티비티(Live Activity)** 요소를 추가합니다.
2. 이름을 `Flight card start`로 지정합니다.
3. **작업(Action)**을 **시작(Start)**으로 설정합니다.
4. 항공편 **위젯(Widget)**과 **스키마 버전(Schema version)**을 선택합니다.

![작업이 시작으로 설정되고 항공편 위젯 및 스키마 버전이 선택된 항공편 카드 시작](/live-activity-how-to-track-flight-status-with-live-activity-1.webp)

5. **카드 키: 이벤트(Card key: event)**를 `CheckInCompleted`로 설정합니다.

![카드 키: 이벤트가 CheckInCompleted로 설정됨](/live-activity-how-to-track-flight-status-with-live-activity-4.webp)

6. **카드 콘텐츠(Card content)**(`gate`, `status`, `estimatedTime`)와 알림 필드를 채웁니다.

![게이트, 상태, 예상 시간 카드 콘텐츠 필드가 채워져 있고 아래에 알림 필드가 있음](/live-activity-how-to-track-flight-status-with-live-activity-5.webp)

7. **적용**을 클릭합니다.


### 대기 및 카드 업데이트

시작(Start) 요소 뒤의 동일한 캔버스에서 계속 진행합니다.

1. **트리거 대기(Wait for Trigger)** 요소를 추가합니다.
2. `FlightStatusChanged`를 기다립니다.
3. 항공편 업데이트에 맞는 대기 기간을 설정합니다.

![대기 기간과 함께 FlightStatusChanged로 설정된 트리거 대기](/live-activity-how-to-track-flight-status-with-live-activity-6.webp)

4. 이벤트가 발생할 때 실행되는 분기에 **라이브 액티비티(Live Activity)** 요소를 추가합니다.
5. 이름을 `Flight card update`로 지정합니다.
6. **작업(Action)**을 **업데이트(Update)**로 설정합니다.
7. 동일한 **위젯(Widget)**과 **스키마 버전(Schema version)**을 선택합니다.

![작업이 업데이트로 설정되고 동일한 위젯 및 스키마 버전이 선택된 항공편 카드 업데이트](/live-activity-how-to-track-flight-status-with-live-activity-7.webp)

8. **생성된 카드(Card created by)**에서 `Flight card start`를 선택합니다.

![업데이트 요소에서 생성된 카드가 Flight card start로 설정됨](/live-activity-how-to-track-flight-status-with-live-activity-8.webp)

9. **카드 콘텐츠(Card content)**를 업데이트합니다.

![항공편 카드 업데이트 요소에서 카드 콘텐츠 필드가 업데이트됨](/live-activity-how-to-track-flight-status-with-live-activity-9.webp)

10. **적용**을 클릭합니다.

### 대기 및 카드 종료

업데이트(Update) 요소 뒤의 동일한 캔버스에서 계속 진행합니다.

1. 또 다른 **트리거 대기(Wait for Trigger)** 요소를 추가합니다.
2. `FlightLanded`를 기다립니다.

![FlightLanded로 설정된 트리거 대기](/live-activity-how-to-track-flight-status-with-live-activity-10.webp)

3. 이벤트가 발생할 때 실행되는 분기에 **라이브 액티비티(Live Activity)** 요소를 추가합니다.
4. 이름을 `Flight card end`로 지정합니다.
5. **작업(Action)**을 **종료(End)**로 설정합니다.
6. 동일한 **위젯(Widget)**과 **스키마 버전(Schema version)**을 선택합니다.
7. **생성된 카드(Card created by)**에서 `Flight card start`를 선택합니다.

![작업이 종료로 설정되고 동일한 위젯 및 스키마 버전이 선택되었으며 생성된 카드가 Flight card start로 설정된 항공편 카드 종료](/live-activity-how-to-track-flight-status-with-live-activity-11.webp)

8. 필요한 경우 알림과 **해제 시간(분)(Dismiss after, min)**을 설정합니다.

![항공편 카드 종료 요소의 알림 필드 및 해제 시간(분)](/live-activity-how-to-track-flight-status-with-live-activity-12.webp)

9. **적용**을 클릭합니다.

![진입, 시작, 트리거 대기, 업데이트, 트리거 대기, 종료가 포함된 캔버스 위의 전체 항공편 상태 Journey](/live-activity-how-to-track-flight-status-with-live-activity-13.webp)

## 승객에게 표시되는 내용

잠금 화면에서 승객은 항공편 진행 상황에 따라 변경되는 하나의 라이브 액티비티(Live Activity) 카드를 받게 됩니다. 예시는 다음과 같습니다:

<Tabs>
<TabItem label="체크인 후">
게이트 `B12`, 상태 `탑승 중`, 예상 시간 `18:45`.

![체크인 후 잠금 화면 라이브 액티비티 카드에 게이트 B12, 탑승 중, 예상 시간 18:45가 표시됨](/live-activity-how-to-track-flight-status-with-live-activity-14.webp)
</TabItem>
<TabItem label="상태 변경 시">
동일한 카드가 업데이트됩니다. 예를 들어 게이트 `B14`, 상태 `지연`, 예상 시간 `19:10`.

![상태 변경 후 잠금 화면 라이브 액티비티 카드에 게이트 B14, 지연, 예상 시간 19:10이 표시됨](/live-activity-how-to-track-flight-status-with-live-activity-15.webp)
</TabItem>
<TabItem label="착륙 후">
카드가 닫히고 잠금 화면에서 사라집니다.
</TabItem>
</Tabs>