सामग्री पर जाएं

iOS लाइव एक्टिविटीज़ API

Apple दस्तावेज़ीकरण:

कस्टमर जर्नी लाइव एक्टिविटी पॉइंट को रॉ JSON एडिटर के बजाय फ़ील्ड नामों से अपना कंटेंट-स्टेट फ़ॉर्म बनाने देने के लिए, अपने attributes-type के लिए एक स्कीमा पब्लिश करें — लाइव एक्टिविटी स्कीमा API देखें।

startLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/startLiveActivity

iOS लाइव एक्टिविटीज़ बनाने की अनुमति देता है।

रिक्वेस्ट बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यक/वैकल्पिकविवरण
applicationस्ट्रिंगआवश्यकPushwoosh एप्लीकेशन कोड
authस्ट्रिंगआवश्यकPushwoosh कंट्रोल पैनल से API एक्सेस टोकन।
notificationsऐरेआवश्यकमैसेज पैरामीटर्स का JSON ऐरे। नीचे नोटिफिकेशन्स टेबल में विवरण देखें।

नोटिफिकेशन्स

Anchor link to

notifications ऐरे में उपयोग किए गए पैरामीटर्स:

पैरामीटरप्रकारआवश्यक/वैकल्पिकविवरण
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"
}
]
}
}

रिस्पॉन्स का उदाहरण

Anchor link to
{
"status_code": 200,
"status_message": "OK",
"response": {
"Messages": [
"XXXXX-XXXXXXXX-XXXXXXXX"
]
}
}

ध्यान दें:

Pushwoosh iOS SDK का उपयोग करके लाइव एक्टिविटीज़ के साथ काम करने के बारे में अधिक जानने के लिए यह लेख पढ़ें।

updateLiveActivity

Anchor link to

POST https://api.pushwoosh.com/json/1.3/updateLiveActivity

iOS लाइव एक्टिविटीज़ को अपडेट करने और समाप्त करने की अनुमति देता है

रिक्वेस्ट बॉडी

Anchor link to
पैरामीटरप्रकारआवश्यक/वैकल्पिकविवरण
authस्ट्रिंगआवश्यकPushwoosh कंट्रोल पैनल से API एक्सेस टोकन।
applicationस्ट्रिंगआवश्यकPushwoosh एप्लीकेशन कोड
notificationsऐरेआवश्यकमैसेज पैरामीटर्स का JSON ऐरे। नीचे नोटिफिकेशन्स टेबल में विवरण देखें।

नोटिफिकेशन्स

Anchor link to

notifications ऐरे में उपयोग किए गए पैरामीटर्स:

पैरामीटरप्रकारआवश्यक/वैकल्पिकविवरण
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 पैरामीटर प्रदर्शन प्राथमिकता को नियंत्रित करता है जब एक ही डिवाइस पर कई लाइव एक्टिविटीज़ सक्रिय होती हैं। यदि स्क्रीन स्पेस सीमित है या एक्टिविटीज़ को समूहीकृत किया गया है, तो उच्च मान वाली एक्टिविटी को उच्च प्राथमिकता के साथ दिखाया जाता है।