iOS Live Activities API
เอกสารของ Apple:
startLiveActivity
Anchor link toPOST https://api.pushwoosh.com/json/1.3/startLiveActivity
อนุญาตให้สร้าง iOS Live Activities
Request body
Anchor link to| พารามิเตอร์ | ประเภท | จำเป็น/ทางเลือก | คำอธิบาย |
|---|---|---|---|
| application | String | จำเป็น | รหัสแอปพลิเคชัน Pushwoosh |
| auth | String | จำเป็น | โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel |
| notifications | Array | จำเป็น | อาร์เรย์ JSON ของพารามิเตอร์ข้อความ ดูรายละเอียดในตาราง Notifications ด้านล่าง |
Notifications
Anchor link toพารามิเตอร์ที่ใช้ในอาร์เรย์ notifications:
| พารามิเตอร์ | ประเภท | จำเป็น/ทางเลือก | คำอธิบาย |
|---|---|---|---|
| content | String | จำเป็น | เนื้อหาสำรองสำหรับอุปกรณ์ที่ใช้ iOS เวอร์ชันต่ำกว่า 16.1 ที่ไม่รองรับ Live Activity สำหรับ iOS 16.1+ (ที่รองรับ Live Activity) เนื้อหาจะมาจากฟิลด์ live_activity |
| title | String | ทางเลือก | ชื่อเรื่องของข้อความแจ้งเตือน |
| live_activity | Object | จำเป็น | ข้อมูล Live Activity เพื่อสร้าง Live Activity ใน iOS |
| live_activity.content-state | Object | จำเป็น | เนื้อหาสำหรับการแจ้งเตือน Live Activity |
| live_activity.attributes-type | String | จำเป็น | ประเภทของแอตทริบิวต์ที่ใช้ใน Live Activity |
| live_activity.attributes | Object | จำเป็น | แอตทริบิวต์สำหรับ Live Activity |
| live_activity_id | String | จำเป็น | ตัวระบุที่ไม่ซ้ำกันสำหรับ Live Activity ใช้เพื่อกำหนดเป้าหมายกิจกรรมนี้เมื่อเรียกใช้ updateLiveActivity ต้องไม่ซ้ำกันในแต่ละเซสชันของกิจกรรม |
| filter | String | ทางเลือก | ชื่อของฟิลเตอร์ Pushwoosh (เซกเมนต์) ดูที่ ชื่อเซกเมนต์ / ฟิลเตอร์ Live Activity จะเริ่มต้นบนอุปกรณ์ทั้งหมดที่ตรงกับฟิลเตอร์นี้ |
| devices | Array of Strings | ทางเลือก | รายการของ โทเค็นอุปกรณ์ Live Activity จะเริ่มต้นเฉพาะบนอุปกรณ์ที่ระบุเท่านั้น |
ตัวอย่างคำขอ
Anchor link to{ "request": { "application": "XXXXX-XXXXX", "auth": "SECRET_API_TOKEN", "notifications": [ { "content": "Your order is being prepared", "title": "Food Delivery", "live_activity": { "event": "start", "title": "Order status", "content-state": { "status": "Third", "estimatedTime": "37 min", "emoji": "👨🍳" }, "attributes-type": "FoodDeliveryAttributes", "attributes": {} }, "live_activity_id": "FIRST_LIVE_ACTIVITY", "filter": "FILTER_NAME_1" } ] }}{ "request": { "application": "XXXXX-XXXXX", "auth": "SECRET_API_TOKEN", "notifications": [ { "content": "Your order is being prepared", "title": "Food Delivery", "live_activity": { "event": "start", "title": "Order status", "content-state": { "status": "Third", "estimatedTime": "37 min", "emoji": "👨🍳" }, "attributes-type": "FoodDeliveryAttributes", "attributes": {} }, "live_activity_id": "SECOND_LIVE_ACTIVITY", "devices": ["first_third", "second_device"] } ] }}ตัวอย่างการตอบกลับ
Anchor link to{ "status_code": 200, "status_message": "OK", "response": { "Messages": [ "XXXXX-XXXXXXXX-XXXXXXXX" ] }}หมายเหตุ:
อ่าน บทความนี้ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานกับ Live Activities โดยใช้ Pushwoosh iOS SDK
updateLiveActivity
Anchor link toPOST https://api.pushwoosh.com/json/1.3/updateLiveActivity
อนุญาตให้อัปเดตและสิ้นสุด iOS Live Activities
Request body
Anchor link to| พารามิเตอร์ | ประเภท | จำเป็น/ทางเลือก | คำอธิบาย |
|---|---|---|---|
| auth | String | จำเป็น | โทเค็นการเข้าถึง API จาก Pushwoosh Control Panel |
| application | String | จำเป็น | รหัสแอปพลิเคชัน Pushwoosh |
| notifications | Array | จำเป็น | อาร์เรย์ JSON ของพารามิเตอร์ข้อความ ดูรายละเอียดในตาราง Notifications ด้านล่าง |
Notifications
Anchor link toพารามิเตอร์ที่ใช้ในอาร์เรย์ notifications:
| พารามิเตอร์ | ประเภท | จำเป็น/ทางเลือก | คำอธิบาย |
|---|---|---|---|
| live_activity | Object | จำเป็น | ข้อมูล Live Activity เพื่ออัปเดต Live Activity ใน iOS |
| live_activity.event | String | จำเป็น | ระบุประเภทของเหตุการณ์ ใช้ "update" เพื่ออัปเดต Live Activity หรือ "end" เพื่อปิด |
| live_activity.content-state | Object | จำเป็น | อ็อบเจกต์ที่มีคู่คีย์-ค่าที่ใช้ในการส่งข้อมูลไปยัง Live Activity เพื่ออัปเดตเนื้อหา |
| live_activity.dismissal-date | Integer | ทางเลือก | เวลา (เป็นวินาที) ที่ Live Activity ควรจะสิ้นสุด |
| live_activity_id | String | จำเป็น | ตัวระบุที่ไม่ซ้ำกันของ Live Activity ที่จะอัปเดต ต้องตรงกับ live_activity_id ที่ใช้ใน startLiveActivity การอัปเดตจะถูกส่งไปยังอุปกรณ์ทั้งหมดที่กิจกรรมนี้ได้เริ่มต้นไว้ |
| live_activity.relevance-score | Integer | ทางเลือก | บอกระบบ iOS ว่า Live Activity ใดมีความสำคัญสูงกว่ากิจกรรมอื่น ๆ รับค่าตั้งแต่ 1 ถึงอนันต์ (แนะนำให้ใช้ค่าไม่เกิน 100) |
| live_activity.stale-date | Integer | ทางเลือก | เวลา (เป็นวินาที) ที่แสดงถึงวันที่ Live Activity กลายเป็นข้อมูลเก่าหรือไม่ทันสมัย |
ตัวอย่างคำขอ
Anchor link to{ "request": { "application": "XXXXX-XXXXX", "auth": "SECRET_API_TOKEN", "notifications": [ { "live_activity": { "event": "update", "title": "Live Activity Update", "content-state": { "status": "second 66", "estimatedTime": "66 min", "emoji": "👨" }, "relevance-score": 60 }, "live_activity_id": "FIRST_LIVE_ACTIVITY" } ] }}ตัวอย่างการตอบกลับ
Anchor link to{ "status_code": 200, "status_message": "OK", "response": { "Messages": [ "XXXXX-XXXXXXXX-XXXXXXXX" ] }}อ่านบทความนี้ เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานกับ Live Activities โดยใช้ Pushwoosh iOS SDK
กิจกรรมหลายรายการต่ออุปกรณ์
Anchor link toคุณสามารถเริ่มต้น Live Activities หลายรายการบนอุปกรณ์เดียวกันได้โดยการเรียกใช้ startLiveActivity หลายครั้งด้วยค่า live_activity_id ที่แตกต่างกัน
ตัวอย่างเช่น หากคุณเริ่มต้นสองกิจกรรม: FIRST_LIVE_ACTIVITY ด้วย filter: FILTER_NAME_1 และ SECOND_LIVE_ACTIVITY ด้วย filter: FILTER_NAME_2 อุปกรณ์ที่ตรงกับทั้งสองฟิลเตอร์จะมีกิจกรรมทั้งสองทำงานพร้อมกัน
หากต้องการอัปเดตหนึ่งในนั้น ให้ส่ง live_activity_id ของกิจกรรมนั้นไปยัง updateLiveActivity การอัปเดตจะถูกส่งไปยังอุปกรณ์ทั้งหมดที่กิจกรรมนั้นถูกสร้างขึ้น กิจกรรมอื่นจะไม่ได้รับผลกระทบ
พารามิเตอร์ relevance-score จะควบคุมลำดับความสำคัญในการแสดงผลเมื่อมี Live Activities หลายรายการทำงานอยู่บนอุปกรณ์เดียวกัน หากพื้นที่หน้าจอมีจำกัดหรือกิจกรรมถูกจัดกลุ่ม กิจกรรมที่มีค่าสูงกว่าจะแสดงด้วยลำดับความสำคัญที่สูงกว่า