iOS इंटरैक्टिव पुश बनाएँ
iOS 8 ने इंटरैक्टिव नोटिफिकेशन पेश किए, जो उपयोगकर्ताओं को सीधे नोटिफिकेशन बैनर से कार्रवाई करने की अनुमति देते हैं। Pushwoosh अब iOS कैटेगरीज़ प्रदान करता है, जो आपको Pushwoosh कंट्रोल पैनल के भीतर कस्टम बटन बनाने में सक्षम बनाता है। और जानें
जब आपका एप्लिकेशन registerDevice को कॉल करता है, तो Pushwoosh API एक प्रतिक्रिया देता है जिसमें उपलब्ध कैटेगरीज़ की एक सूची होती है, जिसमें उनकी आईडी और प्रत्येक बटन के लिए विवरण इस प्रकार होते हैं:
{ "status_code": 200, "status_message": "ठीक है", "response": { "iosCategories": [ { "categoryId": 65, "buttons": [ { "id": 0, "label": "रेट करें", "type": "1", "startApplication": 1 }, { "id": 1, "label": "बाद में", "type": "0", "startApplication": 0 } ] } ] }}ये कैटेगरीज़ अब डिवाइस पर उपलब्ध हैं, इसलिए जब कोई संदेश आता है और आपका एप्लिकेशन फोरग्राउंड में नहीं चल रहा होता है, तो उन्हें ठीक से प्रदर्शित किया जा सकता है।
Pushwoosh Journey से एक कैटेगरी के साथ अपना पुश भेजने के लिए, बस अपना संदेश लिखते समय इसे iOS प्लेटफ़ॉर्म सेटिंग्स में चुनें। यदि आप Pushwoosh API के माध्यम से दूर से अपने पुश भेज रहे हैं, तो createMessage अनुरोधों में आपको ios_category पैरामीटर का उपयोग संबंधित कैटेगरी आईडी के मान के रूप में करना चाहिए:
{ "categoryId": 65 // वैकल्पिक। स्ट्रिंग मान। Pushwoosh से iOS8 कैटेगरी आईडी}जब एक कैटेगरी आईडी वाला पुश संदेश आता है, तो Pushwoosh SDK इस कैटेगरी में मौजूद बटनों के एक सेट के साथ नोटिफिकेशन प्रदर्शित करता है।
Pushwoosh iOS SDK में बटन और एक्शन
Anchor link toऐप खोलने पर विभिन्न क्रियाएं करने के लिए, आपको एक कस्टम UNUserNotificationCenterDelegate इम्प्लीमेंटेशन बनाना चाहिए और इसके didReceiveNotificationResponse मेथड को ओवरराइड करना चाहिए:
CustomDelegate
Anchor link toclass CustomDelegate: NSObject, UNUserNotificationCenterDelegate { func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { let identifier = response.actionIdentifier let category = response.notification.request.content.categoryIdentifier
if category == "10212" { if identifier == "1" { // DO SOMETHING } else { // DO SOMETHING ELSE } }
completionHandler() }}जहाँ identifier एक बटन आईडी है, और category नोटिफिकेशन पेलोड से प्राप्त होता है।
फिर, इस क्लास का एक इंस्टेंस बनाएं और इसे प्रॉक्सी मेथड का उपयोग करके Pushwoosh SDK को पास करें:
AppDelegate
Anchor link tofunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { Pushwoosh.sharedInstance().registerForPushNotifications()
let customDelegate = CustomDelegate() Pushwoosh.sharedInstance().notificationCenterDelegateProxy?.add(customDelegate)
return true}