iOS SDK एडवांस्ड इंटीग्रेशन गाइड
यह सेक्शन Pushwoosh iOS SDK के एडवांस्ड इंटीग्रेशन के बारे में जानकारी प्रदान करता है।
बैकग्राउंड मोड्स
Anchor link toइस कार्यक्षमता को सक्षम करने के लिए, आपको अपने प्रोजेक्ट में बैकग्राउंड मोड्स जोड़ने होंगे।
बैकग्राउंड मोड्स को सक्षम करने के चरण
Anchor link to- Xcode में अपना प्रोजेक्ट खोलें और इसे प्रोजेक्ट नेविगेटर में चुनें।
- बाएं पैनल से अपना ऐप टारगेट चुनें।
- साइनिंग और क्षमताएं टैब पर जाएं।
- ऊपरी-बाएं कोने में + क्षमता बटन पर क्लिक करें।
- सूची से बैकग्राउंड मोड्स खोजें और चुनें।
- बैकग्राउंड मोड्स सेक्शन में, बॉक्स को चेक करके रिमोट नोटिफिकेशन को सक्षम करें।
एक बार पूरा हो जाने पर, आपका ऐप बैकग्राउंड में चलते समय साइलेंट पुश नोटिफिकेशन सहित पुश नोटिफिकेशन को हैंडल करने में सक्षम हो जाएगा।
फोरग्राउंड मोड्स
Anchor link toडिफ़ॉल्ट रूप से, Pushwoosh iOS SDK ऐप के फोरग्राउंड में चलने पर नोटिफिकेशन बैनर प्रदर्शित करता है।
आप अपने कोड में (यानी, अपने AppDelegate में) निम्नलिखित बूलियन फ्लैग सेट करके इस व्यवहार को नियंत्रित कर सकते हैं:
// Set false to disable foreground notifications, true to enable itPushwoosh.sharedInstance().showPushnotificationAlert = true// Set 0 to disable foreground notifications, 1 to enable it[[Pushwoosh sharedInstance] setShowPushnotificationAlert:0];लॉग लेवल
Anchor link toPushwoosh iOS SDK निम्नलिखित लॉगिंग स्तरों का समर्थन करता है:
NONE- SDK से कोई लॉग नहीं।ERROR- कंसोल में केवल त्रुटि संदेश प्रदर्शित करता है।WARNING- त्रुटियों के अलावा चेतावनियां भी प्रदर्शित करता है।INFO- सूचनात्मक संदेश शामिल हैं (डिफ़ॉल्ट सेटिंग)।DEBUG- विस्तृत डीबग जानकारी शामिल है।
डिफ़ॉल्ट रूप से, लॉगिंग स्तर INFO पर सेट है, यह सुनिश्चित करता है कि SDK डेवलपर कंसोल को अव्यवस्थित किए बिना प्रासंगिक जानकारी प्रदान करता है।
लॉगिंग स्तर को संशोधित करने के लिए, अपने ऐप की Info.plist फ़ाइल में Pushwoosh_LOG_LEVEL कुंजी को अपडेट करें:
<key>Pushwoosh_LOG_LEVEL</key><string>YOUR_LOG_LEVEL</string>वैकल्पिक रूप से, आप नीचे दिए गए कोड स्निपेट का उपयोग करके लॉग स्तर बदल सकते हैं:
Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)YOUR_LOG_LEVEL को वांछित स्तर (जैसे, DEBUG या ERROR) से बदलें।
कस्टम UNNotificationCenterDelegate
Anchor link toयदि आप अपना स्वयं का UNNotificationCenterDelegate (उदाहरण के लिए, स्थानीय सूचनाओं के लिए) का उपयोग करना चाहते हैं, तो आपको उचित व्यवहार के लिए Pushwoosh SDK को इसके बारे में सूचित करना चाहिए। आप इसे Pushwoosh इंस्टेंस की notificationCenterDelegateProxy प्रॉपर्टी के साथ कर सकते हैं:
Pushwoosh.sharedInstance().notificationCenterDelegateProxy?.add(my_delegate)[Pushwoosh.sharedInstance.notificationCenterDelegateProxy addNotificationCenterDelegate:my_delegate];फिर, अपने डेलीगेट में UNNotificationCenterDelegate विधियों को लागू करें:
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) { // Handle your notification completionHandler(UNNotificationPresentationOptions.alert) }}
func userNotificationCenter( _ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) { // Handle your notification completionHandler() }}- (void)userNotificationCenter:(UNNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { if (![PWMessage isPushwooshMessage:notification.request.content.userInfo]) { // Handle your message completionHandler(UNNotificationPresentationOptionAlert); }}
- (void)userNotificationCenter:(UNNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler { if (![PWMessage.isPushwooshMessage:response.notification.request.content.userInfo]) { // Handle your message completionHandler(); }}Pushwoosh लेज़ी इनिशियलाइज़ेशन
Anchor link toPushwoosh_LAZY_INITIALIZATION फ्लैग एप्लिकेशन शुरू होने पर Pushwoosh SDK के स्वचालित इनिशियलाइज़ेशन को रोकता है। यह इस पर अधिक नियंत्रण की अनुमति देता है कि Pushwoosh SDK सेवाएं कब शुरू की जाती हैं।
जब यह फ्लैग सक्षम होता है, तो Pushwoosh SDK अपनी सेवाएं तब तक शुरू नहीं करता जब तक कि Pushwoosh iOS SDK विधियों को स्पष्ट रूप से कॉल नहीं किया जाता है।
Info.plist में निम्नलिखित प्रविष्टि जोड़ें:
<key>Pushwoosh_LAZY_INITIALIZATION</key><true/>उपयोग के मामले
-
नियंत्रित SDK इनिशियलाइज़ेशन – Pushwoosh_LAZY_INITIALIZATION फ्लैग Pushwoosh SDK स्टार्टअप में देरी करने की अनुमति देता है, जिससे पुश सेवाएं कब सक्रिय होती हैं, इस पर अधिक नियंत्रण मिलता है।
-
आस्थगित पुश सक्रियण – कुछ एप्लिकेशन में, पुश नोटिफिकेशन केवल विशिष्ट शर्तों के तहत ही इनिशियलाइज़ किए जाने चाहिए। इस फ्लैग को सक्षम करने से यह सुनिश्चित होता है कि Pushwoosh SDK केवल स्पष्ट रूप से अनुरोध किए जाने पर ही शुरू होता है।
-
उपयोगकर्ता-विशिष्ट पुश कॉन्फ़िगरेशन – कुछ एप्लिकेशन को उपयोगकर्ता की प्राथमिकताओं या खाता सेटिंग्स के आधार पर पुश नोटिफिकेशन सेटिंग्स को अनुकूलित करने की आवश्यकता हो सकती है। लेज़ी इनिशियलाइज़ेशन के साथ, Pushwoosh SDK केवल उपयुक्त कॉन्फ़िगरेशन निर्धारित होने के बाद ही शुरू होता है।
Info.plist प्रॉपर्टीज़ की पूरी सूची
Anchor link to| प्रॉपर्टी | विवरण | संभावित मान |
|---|---|---|
Pushwoosh_APPID | प्रोडक्शन बिल्ड के लिए Pushwoosh एप्लिकेशन आईडी सेट करता है। | XXXXX-XXXXX प्रकार: स्ट्रिंग |
Pushwoosh_APPID_Dev | डेवलपमेंट बिल्ड के लिए Pushwoosh एप्लिकेशन आईडी सेट करता है। | XXXXX-XXXXX प्रकार: स्ट्रिंग |
Pushwoosh_SHOW_ALERT | नोटिफिकेशन फोरग्राउंड अलर्ट दिखाता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALERT_TYPE | नोटिफिकेशन अलर्ट स्टाइल सेट करता है। | BANNER (डिफ़ॉल्ट) / ALERT / NONE प्रकार: स्ट्रिंग |
Pushwoosh_BASEURL | Pushwoosh सर्वर बेस URL को ओवरराइड करता है। | https://cp.pushwoosh.com/json/1.3/ (डिफ़ॉल्ट) प्रकार: स्ट्रिंग |
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSH | यदि YES है, तो साइलेंट पुश में प्राप्त डीप लिंक स्वचालित रूप से प्रोसेस हो जाएंगे। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALLOW_SERVER_COMMUNICATION | SDK को Pushwoosh सर्वर पर नेटवर्क अनुरोध भेजने की अनुमति देता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATA | SDK को डिवाइस डेटा (OS संस्करण, लोकेल, और मॉडल) एकत्र करने और सर्वर पर भेजने की अनुमति देता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSION | SDK को डिवाइस के OS संस्करण को एकत्र करने और सर्वर पर भेजने की अनुमति देता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALE | SDK को डिवाइस लोकेल एकत्र करने और सर्वर पर भेजने की अनुमति देता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODEL | SDK को डिवाइस मॉडल एकत्र करने और सर्वर पर भेजने की अनुमति देता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_ALLOW_COLLECTING_SCREEN_NAME | SDK को वर्तमान स्क्रीन नाम को PW_ScreenOpen, PW_UserIdle, और PW_ApplicationExit इवेंट्स से जोड़ने की अनुमति देता है। | YES (डिफ़ॉल्ट) / NO प्रकार: बूलियन |
Pushwoosh_LOG_LEVEL | Pushwoosh SDK लॉगिंग स्तर। विवरण के लिए, लॉग स्तर को नियंत्रित करना देखें। | NONE / ERROR / WARNING / INFO (डिफ़ॉल्ट) / DEBUG / VERBOSE प्रकार: स्ट्रिंग |
Pushwoosh_PURCHASE_TRACKING_ENABLED | SDK को इन-ऐप खरीदारी को ट्रैक करने की अनुमति देता है। Customer Journey Builder के लिए आवश्यक है। | YES / NO (डिफ़ॉल्ट) प्रकार: बूलियन |
उन प्लेटफॉर्म पर जो Info.plist (Cordova, OutSystems) को संपादित नहीं कर सकते, इसके बजाय रनटाइम समकक्ष का उपयोग करें: Pushwoosh.configure.setAllowCollectingScreenName:।