iOS SDK 7.0+ उन्नत एकीकरण गाइड
यह अनुभाग Pushwoosh iOS SDK के उन्नत एकीकरण पर जानकारी प्रदान करता है।
बैकग्राउंड मोड
Anchor link toइस कार्यक्षमता को सक्षम करने के लिए, आपको अपने प्रोजेक्ट में बैकग्राउंड मोड जोड़ना होगा।
बैकग्राउंड मोड सक्षम करने के चरण
Anchor link to- अपने प्रोजेक्ट को Xcode में खोलें और इसे प्रोजेक्ट नेविगेटर में चुनें।
- बाएं पैनल से अपना ऐप टारगेट चुनें।
- साइनिंग और क्षमताएं (Signing & Capabilities) टैब पर जाएं।
- ऊपरी-बाएं कोने में + क्षमता (+ Capability) बटन पर क्लिक करें।
- सूची से बैकग्राउंड मोड (Background Modes) खोजें और चुनें।
- बैकग्राउंड मोड (Background Modes) अनुभाग में, बॉक्स को चेक करके रिमोट नोटिफिकेशन (Remote notifications) सक्षम करें।
एक बार पूरा हो जाने पर, आपका ऐप बैकग्राउंड में चलते समय पुश नोटिफिकेशन, जिसमें साइलेंट नोटिफिकेशन भी शामिल हैं, को संभालने में सक्षम होगा।
फोरग्राउंड मोड
Anchor link toडिफ़ॉल्ट रूप से, Pushwoosh iOS SDK ऐप के फोरग्राउंड में चलने पर नोटिफिकेशन बैनर प्रदर्शित करता है।
आप अपने कोड में निम्नलिखित बूलियन फ़्लैग सेट करके इस व्यवहार को नियंत्रित कर सकते हैं (यानी, अपने AppDelegate में):
// फोरग्राउंड नोटिफिकेशन को अक्षम करने के लिए false सेट करें, इसे सक्षम करने के लिए true सेट करेंPushwoosh.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 को इसके बारे में सूचित करना चाहिए। आप इसे addNotificationCenterDelegate विधि से कर सकते हैं:
Pushwoosh.configure.addNotificationCenterDelegate(my_delegate)[Pushwoosh.configure 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 एप्लिकेशन आईडी सेट करता है। | 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_LOG_LEVEL | Pushwoosh SDK लॉगिंग स्तर। विवरण के लिए, लॉग स्तर को नियंत्रित करना देखें। | NONE / ERROR / WARNING / INFO (डिफ़ॉल्ट) / DEBUG / VERBOSE प्रकार: स्ट्रिंग |
Pushwoosh_PURCHASE_TRACKING_ENABLED | SDK को इन-ऐप खरीदारी को ट्रैक करने की अनुमति देता है। Customer Journey Builder के लिए आवश्यक है। | YES / NO (डिफ़ॉल्ट) प्रकार: बूलियन |