iOS SDK 7.0+ एडवांस्ड इंटीग्रेशन गाइड
यह सेक्शन Pushwoosh iOS SDK के एडवांस्ड इंटीग्रेशन के बारे में जानकारी प्रदान करता है।
बैकग्राउंड मोड्स
Anchor link toइस कार्यक्षमता को इनेबल करने के लिए, आपको अपने प्रोजेक्ट में बैकग्राउंड मोड्स जोड़ना होगा।
बैकग्राउंड मोड्स को इनेबल करने के स्टेप्स
Anchor link to- अपने प्रोजेक्ट को Xcode में खोलें और इसे Project Navigator में चुनें।
- बाएं पैनल से अपना ऐप टारगेट चुनें।
- Signing & Capabilities टैब पर नेविगेट करें।
- ऊपरी-बाएं कोने में + Capability बटन पर क्लिक करें।
- सूची से Background Modes खोजें और चुनें।
- Background Modes सेक्शन में, बॉक्स को चेक करके Remote notifications को इनेबल करें।
एक बार पूरा हो जाने पर, आपका ऐप बैकग्राउंड में चलते समय पुश नोटिफिकेशन्स, जिसमें साइलेंट नोटिफिकेशन्स भी शामिल हैं, को हैंडल करने में सक्षम होगा।
फोरग्राउंड मोड्स
Anchor link toडिफ़ॉल्ट रूप से, Pushwoosh iOS SDK ऐप के फोरग्राउंड में चलने पर नोटिफिकेशन बैनर प्रदर्शित करता है।
आप अपने कोड में (यानी, अपने AppDelegate में) निम्नलिखित बूलियन फ्लैग सेट करके इस व्यवहार को नियंत्रित कर सकते हैं:
// फोरग्राउंड नोटिफिकेशन को डिसेबल करने के लिए false सेट करें, इसे इनेबल करने के लिए truePushwoosh.configure.showPushnotificationAlert = true// फोरग्राउंड नोटिफिकेशन को डिसेबल करने के लिए 0 सेट करें, इसे इनेबल करने के लिए 1[[Pushwoosh configure] 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.configure?.notificationCenterDelegateProxy.add(my_delegate)[Pushwoosh.configure.notificationCenterDelegateProxy addNotificationCenterDelegate:my_delegate];फिर, अपने डेलीगेट में UNNotificationCenterDelegate मेथड्स को लागू करें:
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) { // अपनी नोटिफिकेशन को हैंडल करें completionHandler(UNNotificationPresentationOptions.alert) }}
func userNotificationCenter( _ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) { // अपनी नोटिफिकेशन को हैंडल करें completionHandler() }}- (void)userNotificationCenter:(UNNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { if (![PWMessage isPushwooshMessage:notification.request.content.userInfo]) { // अपने मैसेज को हैंडल करें completionHandler(UNNotificationPresentationOptionAlert); }}
- (void)userNotificationCenter:(UNNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler { if (![PWMessage.isPushwooshMessage:response.notification.request.content.userInfo]) { // अपने मैसेज को हैंडल करें 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 एप्लिकेशन ID सेट करता है। | XXXXX-XXXXX प्रकार: स्ट्रिंग |
Pushwoosh_APPID_Dev | डेवलपमेंट बिल्ड के लिए Pushwoosh एप्लिकेशन ID सेट करता है। | 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_LOG_LEVEL | Pushwoosh SDK लॉगिंग लेवल। विवरण के लिए, लॉग लेवल को नियंत्रित करना देखें। | NONE / ERROR / WARNING / INFO (डिफ़ॉल्ट) / DEBUG / VERBOSE प्रकार: स्ट्रिंग |
Pushwoosh_PURCHASE_TRACKING_ENABLED | SDK को इन-ऐप खरीदारी को ट्रैक करने की अनुमति देता है। Customer Journey Builder के लिए आवश्यक है। | YES / NO (डिफ़ॉल्ट) प्रकार: बूलियन |