# วิธีแสดงสถานะเที่ยวบินบนหน้าจอล็อก

แสดงประตูขึ้นเครื่อง สถานะ และเวลาบนหน้าจอล็อกของผู้โดยสารที่เช็คอินแต่ละคนจนกว่าเครื่องจะลงจอด คู่มือนี้จะสร้าง Journey ดังกล่าวด้วย [องค์ประกอบ Live Activity](/th/product/customer-journey/journey-elements/channels/live-activity/)

## ข้อกำหนดเบื้องต้น

* แอป iOS ของคุณรองรับ Live Activities ดู [คู่มือ iOS SDK Live Activities](/th/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/)
* มีการเผยแพร่สคีมาวิดเจ็ตเที่ยวบินสำหรับแอปนี้แล้ว ดู [การกำหนดค่าสคีมา iOS Live Activity](/th/developer/first-steps/connect-messaging-services/ios-configuration/ios-live-activity-schemas-configuration/)

## สร้าง Events

นี่คือชื่อ Event ตัวอย่างสำหรับคู่มือนี้ เมื่อแอปหรือแบ็กเอนด์ของคุณส่งชื่อเป็นครั้งแรก Pushwoosh จะ [สร้าง Event นั้นโดยอัตโนมัติ](/th/product/audience-data-and-segmentation/events/#implementation) สร้าง Events ใน Control Panel ก่อนเฉพาะในกรณีที่คุณต้องการตั้งค่าประเภทแอตทริบิวต์ด้วยตนเองก่อนการส่งครั้งแรก

สร้าง (หรือใช้ซ้ำ) Events `CheckInCompleted`, `FlightStatusChanged` และ `FlightLanded`

[เรียนรู้เพิ่มเติมเกี่ยวกับการสร้าง Events](/th/product/audience-data-and-segmentation/events/#implementation)

## สร้าง Journey

เปิด [Customer Journey Builder](/th/product/customer-journey/pushwoosh-journey-overview/) สร้างแคมเปญ และสร้างทุกอย่างด้านล่างบน canvas เดียว

1. ไปที่ **Campaigns → Customer Journey Builder**
2. คลิก **Create campaign**
3. คลิก **Build a journey from scratch**

### ตั้งค่า Entry

1. เพิ่มองค์ประกอบ **Trigger-based entry** ลงใน canvas
2. ตั้งค่าเป็น `CheckInCompleted`

![แผง Trigger-based entry ที่ตั้งค่า EVENT เป็น CheckInCompleted](/live-activity-how-to-track-flight-status-with-live-activity-3.webp)

### เริ่มการ์ดเที่ยวบิน

1. เพิ่มองค์ประกอบ **Live Activity** หลังจาก entry
2. ตั้งชื่อเป็น `Flight card start`
3. ตั้งค่า **Action** เป็น **Start**
4. เลือก **Widget** และ **Schema version** ของเที่ยวบิน

![การ์ดเที่ยวบินเริ่มต้นโดยตั้งค่า Action เป็น Start และเลือก Widget และ Schema version ของเที่ยวบินแล้ว](/live-activity-how-to-track-flight-status-with-live-activity-1.webp)

5. ตั้งค่า **Card key: event** เป็น `CheckInCompleted`

![Card key: event ตั้งค่าเป็น CheckInCompleted](/live-activity-how-to-track-flight-status-with-live-activity-4.webp)

6. กรอก **Card content** (`gate`, `status`, `estimatedTime`) และฟิลด์การแจ้งเตือน

![ฟิลด์ Card content gate, status และ estimatedTime ถูกกรอกข้อมูลแล้ว โดยมีฟิลด์การแจ้งเตือนอยู่ด้านล่าง](/live-activity-how-to-track-flight-status-with-live-activity-5.webp)

7. คลิก **Apply**


### รอและอัปเดตการ์ด

ดำเนินการต่อบน canvas เดียวกันหลังจากองค์ประกอบ Start

1. เพิ่มองค์ประกอบ **Wait for Trigger**
2. รอ `FlightStatusChanged`
3. ตั้งค่าระยะเวลารอที่เหมาะสมกับการอัปเดตเที่ยวบินของคุณ

![Wait for Trigger ตั้งค่าเป็น FlightStatusChanged พร้อมระยะเวลารอ](/live-activity-how-to-track-flight-status-with-live-activity-6.webp)

4. บนสาขาที่ทำงานเมื่อ Event เกิดขึ้น ให้เพิ่มองค์ประกอบ **Live Activity**
5. ตั้งชื่อเป็น `Flight card update`
6. ตั้งค่า **Action** เป็น **Update**
7. เลือก **Widget** และ **Schema version** เดียวกัน

![อัปเดตการ์ดเที่ยวบินโดยตั้งค่า Action เป็น Update และเลือก Widget และ Schema version เดียวกัน](/live-activity-how-to-track-flight-status-with-live-activity-7.webp)

8. เลือก `Flight card start` ใน **Card created by**

![Card created by ตั้งค่าเป็น Flight card start บนองค์ประกอบ Update](/live-activity-how-to-track-flight-status-with-live-activity-8.webp)

9. อัปเดต **Card content**

![ฟิลด์ Card content ได้รับการอัปเดตบนองค์ประกอบ Flight card update](/live-activity-how-to-track-flight-status-with-live-activity-9.webp)

10. คลิก **Apply**

### รอและสิ้นสุดการ์ด

ดำเนินการต่อบน canvas เดียวกันหลังจากองค์ประกอบ Update

1. เพิ่มองค์ประกอบ **Wait for Trigger** อีกหนึ่งรายการ
2. รอ `FlightLanded`

![Wait for Trigger ตั้งค่าเป็น FlightLanded](/live-activity-how-to-track-flight-status-with-live-activity-10.webp)

3. บนสาขาที่ทำงานเมื่อ Event เกิดขึ้น ให้เพิ่มองค์ประกอบ **Live Activity**
4. ตั้งชื่อเป็น `Flight card end`
5. ตั้งค่า **Action** เป็น **End**
6. เลือก **Widget** และ **Schema version** เดียวกัน
7. เลือก `Flight card start` ใน **Card created by**

![สิ้นสุดการ์ดเที่ยวบินโดยตั้งค่า Action เป็น End, เลือก Widget และ Schema version เดียวกัน, และ Card created by ตั้งค่าเป็น Flight card start](/live-activity-how-to-track-flight-status-with-live-activity-11.webp)

8. ตั้งค่าการแจ้งเตือนและ **Dismiss after, min** หากจำเป็น

![ฟิลด์การแจ้งเตือนและ Dismiss after, min บนองค์ประกอบ Flight card end](/live-activity-how-to-track-flight-status-with-live-activity-12.webp)

9. คลิก **Apply**

![Journey สถานะเที่ยวบินทั้งหมดบน canvas พร้อมด้วย entry, Start, Wait for Trigger, Update, Wait for Trigger และ End](/live-activity-how-to-track-flight-status-with-live-activity-13.webp)

## สิ่งที่ผู้โดยสารเห็น

บนหน้าจอล็อก ผู้โดยสารจะได้รับการ์ด Live Activity หนึ่งใบที่เปลี่ยนแปลงไปตามความคืบหน้าของเที่ยวบิน ตัวอย่างเช่น:

<Tabs>
<TabItem label="หลังเช็คอิน">
ประตู `B12`, สถานะ `Boarding`, เวลาโดยประมาณ `18:45`

![การ์ด Live Activity บนหน้าจอล็อกหลังเช็คอิน แสดงประตู B12, สถานะ Boarding และเวลาโดยประมาณ 18:45](/live-activity-how-to-track-flight-status-with-live-activity-14.webp)
</TabItem>
<TabItem label="เมื่อสถานะเปลี่ยน">
การ์ดใบเดียวกันจะอัปเดต เช่น ประตู `B14`, สถานะ `Delayed`, เวลาโดยประมาณ `19:10`

![การ์ด Live Activity บนหน้าจอล็อกหลังการเปลี่ยนแปลงสถานะ แสดงประตู B14, สถานะ Delayed และเวลาโดยประมาณ 19:10](/live-activity-how-to-track-flight-status-with-live-activity-15.webp)
</TabItem>
<TabItem label="หลังเครื่องลงจอด">
การ์ดจะปิดและหายไปจากหน้าจอล็อก
</TabItem>
</Tabs>