iOS लाइव एक्टिविटीज़ API
Apple दस्तावेज़ीकरण:
कस्टमर जर्नी लाइव एक्टिविटी पॉइंट को रॉ JSON एडिटर के बजाय फ़ील्ड नामों से अपना कंटेंट-स्टेट फ़ॉर्म बनाने देने के लिए, अपने attributes-type के लिए एक स्कीमा पब्लिश करें — लाइव एक्टिविटी स्कीमा API देखें।
startLiveActivity
Anchor link toPOST https://api.pushwoosh.com/json/1.3/startLiveActivity
iOS लाइव एक्टिविटीज़ बनाने की अनुमति देता है।
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक/वैकल्पिक | विवरण |
|---|---|---|---|
| application | स्ट्रिंग | आवश्यक | Pushwoosh एप्लीकेशन कोड |
| auth | स्ट्रिंग | आवश्यक | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| notifications | ऐरे | आवश्यक | मैसेज पैरामीटर्स का JSON ऐरे। नीचे नोटिफिकेशन्स टेबल में विवरण देखें। |
नोटिफिकेशन्स
Anchor link tonotifications ऐरे में उपयोग किए गए पैरामीटर्स:
| पैरामीटर | प्रकार | आवश्यक/वैकल्पिक | विवरण |
|---|---|---|---|
| content | स्ट्रिंग | आवश्यक* | उस पुश के लिए अलर्ट बॉडी जो लाइव एक्टिविटी शुरू करती है, और 16.1 से नीचे के iOS संस्करणों पर चलने वाले डिवाइस पर दिखाया गया फ़ॉलबैक टेक्स्ट। |
| title | स्ट्रिंग | आवश्यक* | उस पुश के लिए अलर्ट शीर्षक जो लाइव एक्टिविटी शुरू करता है। |
| live_activity | ऑब्जेक्ट | आवश्यक | iOS में लाइव एक्टिविटी बनाने के लिए लाइव एक्टिविटी डेटा। |
| live_activity.content-state | ऑब्जेक्ट | आवश्यक | लाइव एक्टिविटी नोटिफिकेशन के लिए कंटेंट। |
| live_activity.attributes-type | स्ट्रिंग | आवश्यक | लाइव एक्टिविटी में उपयोग किए गए एट्रिब्यूट्स का प्रकार। |
| live_activity.attributes | ऑब्जेक्ट | आवश्यक | लाइव एक्टिविटी के लिए एट्रिब्यूट्स। |
| live_activity_id | स्ट्रिंग | आवश्यक | लाइव एक्टिविटी के लिए एक यूनिक आइडेंटिफ़ायर। updateLiveActivity को कॉल करते समय इस एक्टिविटी को टारगेट करने के लिए उपयोग किया जाता है। प्रति एक्टिविटी सेशन यूनिक होना चाहिए। |
| filter | स्ट्रिंग | वैकल्पिक | Pushwoosh फ़िल्टर (सेगमेंट) का नाम। सेगमेंट / फ़िल्टर नाम देखें। इस फ़िल्टर से मेल खाने वाले सभी डिवाइस पर लाइव एक्टिविटी शुरू की जाएगी। |
| devices | स्ट्रिंग्स का ऐरे | वैकल्पिक | डिवाइस टोकन की एक सूची। लाइव एक्टिविटी केवल निर्दिष्ट डिवाइस पर शुरू की जाएगी। |
| send_date | स्ट्रिंग | वैकल्पिक | उस पुश को शेड्यूल करता है जो एक विशिष्ट तिथि और समय के लिए लाइव एक्टिविटी शुरू करता है — filter या devices टारगेटिंग के साथ काम करता है। YYYY-MM-DD HH:mm फॉर्मेट का उपयोग करें, या तुरंत शुरू करने के लिए now (यह पैरामीटर छोड़े जाने पर डिफ़ॉल्ट भी है)। अतीत में 1 दिन से अधिक या भविष्य में 30 दिनों से अधिक नहीं होना चाहिए, अन्यथा रिक्वेस्ट एक वैलिडेशन एरर के साथ अस्वीकार कर दी जाती है। |
| timezone | स्ट्रिंग | वैकल्पिक | send_date की व्याख्या करने के लिए उपयोग किया जाने वाला टाइमज़ोन। यदि छोड़ा जाता है, तो send_date को UTC में व्याख्या किया जाता है। |
| apns_priority | इंटीजर | वैकल्पिक | इस लाइव एक्टिविटी पुश के लिए APNs डिलीवरी प्राथमिकता को नियंत्रित करता है। 10 (उच्च प्राथमिकता, लॉक स्क्रीन पर तत्काल रेंडरिंग के लिए apns-priority: 10 हेडर के साथ डिलीवर किया गया) या 5 (कम प्राथमिकता, डिवाइस की बैटरी बचाने के लिए apns-priority: 5 के साथ डिलीवर किया गया) स्वीकार करता है। किसी भी अन्य मान को 5 के रूप में माना जाता है, बिना किसी वैलिडेशन एरर के। हर लाइव एक्टिविटी पुश डिफ़ॉल्ट रूप से प्राथमिकता 5 पर होता है, भले ही उसमें अलर्ट कंटेंट (content/title) हो — उच्च-प्राथमिकता डिलीवरी का अनुरोध करने के लिए स्पष्ट रूप से apns_priority: 10 सेट करें। नीचे टाइम सेंसिटिव पुश और डिलीवरी प्राथमिकता देखें। |
ध्यान दें: *
contentयाtitleमें से कम से कम एक खाली नहीं होना चाहिए। Pushwoosh एक स्टार्ट रिक्वेस्ट को अस्वीकार कर देता है जहाँ दोनों खाली होते हैं।
रिक्वेस्ट का उदाहरण
Anchor link to{ "request": { "application": "XXXXX-XXXXX", "auth": "SECRET_API_TOKEN", "notifications": [ { "content": "Your order is being prepared", "title": "Food Delivery", "apns_priority": 10, "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", "apns_priority": 10, "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"] } ] }}{ "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": "THIRD_LIVE_ACTIVITY", "filter": "FILTER_NAME_1", "send_date": "2026-06-16 16:00" } ] }}रिस्पॉन्स का उदाहरण
Anchor link to{ "status_code": 200, "status_message": "OK", "response": { "Messages": [ "XXXXX-XXXXXXXX-XXXXXXXX" ] }}ध्यान दें:
Pushwoosh iOS SDK का उपयोग करके लाइव एक्टिविटीज़ के साथ काम करने के बारे में अधिक जानने के लिए यह लेख पढ़ें।
updateLiveActivity
Anchor link toPOST https://api.pushwoosh.com/json/1.3/updateLiveActivity
iOS लाइव एक्टिविटीज़ को अपडेट करने और समाप्त करने की अनुमति देता है
रिक्वेस्ट बॉडी
Anchor link to| पैरामीटर | प्रकार | आवश्यक/वैकल्पिक | विवरण |
|---|---|---|---|
| auth | स्ट्रिंग | आवश्यक | Pushwoosh कंट्रोल पैनल से API एक्सेस टोकन। |
| application | स्ट्रिंग | आवश्यक | Pushwoosh एप्लीकेशन कोड |
| notifications | ऐरे | आवश्यक | मैसेज पैरामीटर्स का JSON ऐरे। नीचे नोटिफिकेशन्स टेबल में विवरण देखें। |
नोटिफिकेशन्स
Anchor link tonotifications ऐरे में उपयोग किए गए पैरामीटर्स:
| पैरामीटर | प्रकार | आवश्यक/वैकल्पिक | विवरण |
|---|---|---|---|
| live_activity | ऑब्जेक्ट | आवश्यक | iOS में लाइव एक्टिविटी को अपडेट करने के लिए लाइव एक्टिविटी डेटा। |
| live_activity.event | स्ट्रिंग | आवश्यक | इवेंट प्रकार निर्दिष्ट करता है। लाइव एक्टिविटी को अपडेट करने के लिए "update" का उपयोग करें या इसे बंद करने के लिए "end" का उपयोग करें। |
| live_activity.content-state | ऑब्जेक्ट | आवश्यक | की-वैल्यू पेयर वाला ऑब्जेक्ट जिसका उपयोग लाइव एक्टिविटी को उसके कंटेंट को अपडेट करने के लिए डेटा पास करने के लिए किया जाता है। |
| live_activity.dismissal-date | इंटीजर | वैकल्पिक | वह समय (सेकंड में) जब लाइव एक्टिविटी समाप्त होनी चाहिए। end में इसे छोड़ दें ताकि कार्ड तब तक अपना अंतिम content-state दिखाता रहे जब तक iOS इसे स्वयं हटा न दे — नीचे दिया गया नोट देखें। इसके बजाय अतीत की कोई तारीख सेट करें ताकि यह अपडेट पहुंचते ही कार्ड हट जाए। |
| live_activity_id | स्ट्रिंग | आवश्यक | अपडेट करने के लिए लाइव एक्टिविटी का यूनिक आइडेंटिफ़ायर। startLiveActivity में उपयोग किए गए live_activity_id से मेल खाना चाहिए। अपडेट उन सभी डिवाइस पर डिलीवर किया जाएगा जिन पर यह एक्टिविटी शुरू की गई थी। |
| live_activity.relevance-score | इंटीजर | वैकल्पिक | iOS सिस्टम को बताता है कि किस लाइव एक्टिविटी की प्राथमिकता दूसरों की तुलना में अधिक है। 1 से अनंत तक के मान स्वीकार करता है (100 तक के मान अनुशंसित हैं)। |
| live_activity.stale-date | इंटीजर | वैकल्पिक | वह समय (सेकंड में) जो उस तारीख का प्रतिनिधित्व करता है जिस पर एक लाइव एक्टिविटी पुरानी या आउट ऑफ डेट हो जाती है। |
| apns_priority | इंटीजर | वैकल्पिक | इस लाइव एक्टिविटी पुश के लिए APNs डिलीवरी प्राथमिकता को नियंत्रित करता है। 10 (उच्च प्राथमिकता, लॉक स्क्रीन पर तत्काल रेंडरिंग के लिए apns-priority: 10 हेडर के साथ डिलीवर किया गया) या 5 (कम प्राथमिकता, डिवाइस की बैटरी बचाने के लिए apns-priority: 5 के साथ डिलीवर किया गया) स्वीकार करता है। किसी भी अन्य मान को 5 के रूप में माना जाता है, बिना किसी वैलिडेशन एरर के। हर लाइव एक्टिविटी पुश डिफ़ॉल्ट रूप से प्राथमिकता 5 पर होता है, भले ही उसमें अलर्ट कंटेंट (content/title) हो — उच्च-प्राथमिकता डिलीवरी का अनुरोध करने के लिए स्पष्ट रूप से apns_priority: 10 सेट करें। नीचे टाइम सेंसिटिव पुश और डिलीवरी प्राथमिकता देखें। |
| content | स्ट्रिंग | वैकल्पिक | इस अपडेट के लिए अलर्ट बॉडी। सामान्य मामला केवल कंटेंट-स्टेट अपडेट का होता है, जो कंटेंट, शीर्षक या उपशीर्षक में से किसी को भी सेट नहीं करता है और कोई अलर्ट नहीं ले जाता है। |
| title | स्ट्रिंग | वैकल्पिक | इस अपडेट के लिए अलर्ट शीर्षक। कंटेंट, शीर्षक या उपशीर्षक सेट करने से एक अलर्ट ट्रिगर होता है और ios_sound बजने देता है। तीनों में से कोई भी सेट न होने पर, अपडेट चुप रहता है, जो केवल कंटेंट-स्टेट अपडेट के लिए डिफ़ॉल्ट है। |
| subtitle | स्ट्रिंग | वैकल्पिक | इस अपडेट के लिए अलर्ट उपशीर्षक। ऊपर content/title के समान अलर्ट-ट्रिगरिंग भूमिका। |
| ios_sound | स्ट्रिंग | वैकल्पिक | ऐप के मुख्य बंडल में साउंड फ़ाइल का नाम। यह content/title/subtitle के साथ aps.alert के अंदर रहता है, न कि टॉप-लेवल aps.sound, जिसे ActivityKit लाइव एक्टिविटीज़ के लिए अनदेखा करता है, इसलिए यह केवल तभी बजता है जब यह अपडेट उन तीनों में से कम से कम एक को भी सेट करता है। iOS भी अपने आप लाइव एक्टिविटी अलर्ट को रेट-लिमिट करता है। एक ही पेलोड को एक डिलीवरी पर साउंड के साथ और अगली पर बिना साउंड के आते देखा गया है, डिवाइस और सिम्युलेटर दोनों पर। |
ध्यान दें:
relevance-scoreकेवल एक ही डिवाइस पर कई सक्रिय लाइव एक्टिविटीज़ के बीच प्रदर्शन क्रम को प्रभावित करता है — यह डिलीवरी की तात्कालिकता को प्रभावित नहीं करता है। एक अपडेट कितनी तत्काल डिलीवर किया जाता है, यह नियंत्रित करने के लिएapns_priorityका उपयोग करें।
रिक्वेस्ट का उदाहरण
Anchor link to{ "request": { "application": "XXXXX-XXXXX", "auth": "SECRET_API_TOKEN", "notifications": [ { "apns_priority": 10, "title": "Live Activity Update", "live_activity": { "event": "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" ] }}Pushwoosh iOS SDK का उपयोग करके लाइव एक्टिविटीज़ के साथ काम करने के बारे में अधिक जानने के लिए यह लेख पढ़ें।
टाइम सेंसिटिव पुश और डिलीवरी प्राथमिकता
Anchor link toडिफ़ॉल्ट रूप से, Apple बैटरी बचाने के लिए लाइव एक्टिविटी अपडेट को कम प्राथमिकता (apns-priority: 5) पर डिलीवर करता है। जब कोई डिवाइस लॉक होता है, तो एक कम-प्राथमिकता वाला अपडेट बैकग्राउंड में प्रोसेस होता है और उपयोगकर्ता द्वारा डिवाइस को अनलॉक करने के बाद ही लॉक स्क्रीन पर दिखाई देता है। पहले से ही अनलॉक डिवाइस पर यह अभी भी तुरंत रेंडर होता है। उच्च-प्राथमिकता (apns-priority: 10) डिलीवरी का अनुरोध करने के लिए ऊपर वर्णित apns_priority पैरामीटर का उपयोग करें ताकि अपडेट बिना अनलॉक किए तुरंत लॉक स्क्रीन पर रेंडर हो।
apns_priority: 10 उपलब्ध होने पर भी, Apple इसे कितनी बार उपयोग किया जा सकता है, इस पर एक सीमा लगाता है।
प्रति डिवाइस कई एक्टिविटीज़
Anchor link toआप एक ही डिवाइस पर अलग-अलग live_activity_id मानों के साथ कई बार startLiveActivity को कॉल करके कई लाइव एक्टिविटीज़ शुरू कर सकते हैं।
उदाहरण के लिए, यदि आप दो एक्टिविटीज़ शुरू करते हैं: FIRST_LIVE_ACTIVITY filter: FILTER_NAME_1 के साथ और SECOND_LIVE_ACTIVITY filter: FILTER_NAME_2 के साथ, तो एक डिवाइस जो दोनों फ़िल्टर से मेल खाता है, दोनों एक्टिविटीज़ को एक साथ चलाएगा।
उनमें से किसी एक को अपडेट करने के लिए, उसका live_activity_id updateLiveActivity को पास करें। अपडेट उन सभी डिवाइस पर डिलीवर किया जाता है जहाँ वह एक्टिविटी बनाई गई थी। दूसरी एक्टिविटी प्रभावित नहीं होती है।
relevance-score पैरामीटर प्रदर्शन प्राथमिकता को नियंत्रित करता है जब एक ही डिवाइस पर कई लाइव एक्टिविटीज़ सक्रिय होती हैं। यदि स्क्रीन स्पेस सीमित है या एक्टिविटीज़ को समूहीकृत किया गया है, तो उच्च मान वाली एक्टिविटी को उच्च प्राथमिकता के साथ दिखाया जाता है।