iOS SDK के अक्सर पूछे जाने वाले प्रश्न
iOS इंटीग्रेशन FAQ
Anchor link toप्रश्न: मैं अपने iOS प्रोजेक्ट में Pushwoosh SDK कैसे इंस्टॉल कर सकता हूँ?
Anchor link toआप Swift Package Manager या CocoaPods का उपयोग करके Pushwoosh SDK को इंटीग्रेट कर सकते हैं।
प्रश्न: मैं Swift Package Manager का उपयोग करके Pushwoosh SDK कैसे इंस्टॉल करूं?
Anchor link toXcode में, Package Dependencies सेक्शन में जाएं और निम्नलिखित URL का उपयोग करके पैकेज जोड़ें: https://github.com/Pushwoosh/Pushwoosh-XCFramework।
प्रश्न: मैं CocoaPods का उपयोग करके Pushwoosh SDK कैसे इंस्टॉल करूं?
Anchor link toअपने प्रोजेक्ट की Podfile खोलें और pod 'PushwooshXCFramework' लाइन जोड़ें। फिर, टर्मिनल में pod install कमांड चलाएं।
प्रश्न: पुश नोटिफिकेशन सक्षम करने के लिए मुझे अपने प्रोजेक्ट में कौन सी कैपेबिलिटीज़ जोड़ने की आवश्यकता है?
Anchor link toअपने प्रोजेक्ट सेटिंग्स के Signing & Capabilities सेक्शन में, आपको Push Notifications और Background Modes कैपेबिलिटीज़ जोड़ने की आवश्यकता है। Background Modes जोड़ते समय, सुनिश्चित करें कि आप Remote notifications के लिए बॉक्स को चेक करें।
प्रश्न: टाइम सेंसिटिव नोटिफिकेशन के लिए कौन सी अतिरिक्त कैपेबिलिटी की आवश्यकता है?
Anchor link toयदि आप टाइम सेंसिटिव नोटिफिकेशन (iOS 15+) का उपयोग करना चाहते हैं, तो आपको Time Sensitive Notifications कैपेबिलिटी भी जोड़नी होगी।
प्रश्न: मुझे Pushwoosh इनिशियलाइज़ेशन कोड कहाँ जोड़ना होगा?
Anchor link toइनिशियलाइज़ेशन कोड को आपके AppDelegate क्लास में जोड़ा जाना चाहिए।
प्रश्न: मुझे SwiftUI के AppDelegate में कौन सा इनिशियलाइज़ेशन कोड जोड़ना चाहिए?
Anchor link toकृपया SwiftUI प्रोजेक्ट में Pushwoosh को इंटीग्रेट करने के लिए दिए गए स्विफ्ट कोड उदाहरण को देखें।
प्रश्न: मुझे एक मानक स्विफ्ट AppDelegate में कौन सा इनिशियलाइज़ेशन कोड जोड़ना चाहिए?
Anchor link toकृपया एक मानक स्विफ्ट प्रोजेक्ट में Pushwoosh को इंटीग्रेट करने के लिए दिए गए स्विफ्ट कोड उदाहरण को देखें।
प्रश्न: मुझे एक Objective-C AppDelegate में कौन सा इनिशियलाइज़ेशन कोड जोड़ना चाहिए?
Anchor link toकृपया एक Objective-C प्रोजेक्ट में Pushwoosh को इंटीग्रेट करने के लिए दिए गए Objective-C कोड उदाहरण को देखें।
प्रश्न: मुझे अपनी Info.plist फ़ाइल में कौन सी कीज़ जोड़ने की आवश्यकता है?
Anchor link toआपको अपने ऐप की Info.plist फ़ाइल में Pushwoosh_APPID की को अपने एप्लिकेशन कोड पर सेट करना होगा और PW_API_TOKEN की को अपने API टोकन पर सेट करना होगा।
प्रश्न: मैसेज डिलीवरी ट्रैकिंग का उद्देश्य क्या है?
Anchor link toPushwoosh नोटिफिकेशन सर्विस एक्सटेंशन का उपयोग करके पुश नोटिफिकेशन के लिए डिलीवरी इवेंट्स को ट्रैक करने का समर्थन करता है।
प्रश्न: मैं अपने प्रोजेक्ट में नोटिफिकेशन सर्विस एक्सटेंशन कैसे जोड़ूं?
Anchor link toXcode में, File > New > Target… पर जाएं, Notification Service Extension चुनें, और Next दबाएं। एक टारगेट नाम दर्ज करें और Finish दबाएं। जब सक्रिय करने के लिए कहा जाए, तो Cancel दबाएं।
प्रश्न: मैं नोटिफिकेशन सर्विस एक्सटेंशन में Pushwoosh SDK कैसे जोड़ूं?
Anchor link toअपने नोटिफिकेशन सर्विस एक्सटेंशन की मुख्य .swift या .m फ़ाइल में दिए गए स्विफ्ट या Objective-C कोड स्निपेट को जोड़ें। यह कोड नोटिफिकेशन अनुरोध को संभालने के लिए PWNotificationExtensionManager का उपयोग करता है।
प्रश्न: ऐप ग्रुप्स का उद्देश्य क्या है?
Anchor link toऐप ग्रुप्स कैपेबिलिटी की आवश्यकता नोटिफिकेशन सर्विस एक्सटेंशन को मुख्य एप्लिकेशन के साथ संवाद करने की अनुमति देने के लिए होती है।
प्रश्न: मैं अपने मुख्य टारगेट और नोटिफिकेशन सर्विस एक्सटेंशन के लिए ऐप ग्रुप्स कैसे सक्षम करूं?
Anchor link toदोनों टारगेट्स के लिए, Signing & Capabilities पर जाएं, App Groups कैपेबिलिटी जोड़ें, और + बटन दबाकर एक नया ग्रुप बनाएं। सुनिश्चित करें कि ग्रुप का नाम group. से शुरू हो और दोनों टारगेट्स के लिए एक ही ग्रुप नाम का उपयोग करें।
प्रश्न: मुझे ऐप ग्रुप्स के लिए अपने मुख्य टारगेट की Info.plist में कौन सी कीज़ जोड़ने की आवश्यकता है?
Anchor link toअपने मुख्य टारगेट की Info.plist में, PW_APP_GROUPS_NAME की जोड़ें और इसका मान अपने ऐप ग्रुप्स ग्रुप के नाम पर सेट करें।
प्रश्न: मुझे अपने नोटिफिकेशन सर्विस एक्सटेंशन की Info.plist में कौन सी कीज़ जोड़ने की आवश्यकता है?
Anchor link toअपने नोटिफिकेशन सर्विस एक्सटेंशन की Info.plist में, PW_APP_GROUPS_NAME की (अपने ऐप ग्रुप्स नाम पर सेट) और Pushwoosh_APPID की (अपने एप्लिकेशन कोड पर सेट) जोड़ें।
प्रश्न: मैं Pushwoosh इंटीग्रेशन को कैसे सत्यापित करूं?
Anchor link toअपने प्रोजेक्ट को बनाने और चलाने के बाद, Pushwoosh कंट्रोल पैनल पर जाएं और अपने एप्लिकेशन को एक पुश नोटिफिकेशन भेजें। आपको अपने डिवाइस पर नोटिफिकेशन दिखाई देना चाहिए।
प्रश्न: Pushwoosh SDK में पुश नोटिफिकेशन को संभालने के लिए दो मुख्य कॉलबैक कौन से हैं?
Anchor link toदो मुख्य कॉलबैक onMessageReceived और onMessageOpened हैं।
प्रश्न: onMessageReceived कॉलबैक कब लागू होता है?
Anchor link toonMessageReceived मेथड तब कॉल किया जाता है जब एप्लिकेशन द्वारा एक पुश नोटिफिकेशन प्राप्त होता है।
प्रश्न: onMessageOpened कॉलबैक कब लागू होता है?
Anchor link toonMessageOpened मेथड तब कॉल किया जाता है जब उपयोगकर्ता एक पुश नोटिफिकेशन के साथ इंटरैक्ट करता है और उसे खोलता है।
प्रश्न: मैं प्राप्त या खोले गए पुश नोटिफिकेशन के पेलोड तक कैसे पहुंच सकता हूँ?
Anchor link toएक PWMessage ऑब्जेक्ट का पेलोड (onMessageReceived और onMessageOpened कॉलबैक को पास किया गया) उसकी payload प्रॉपर्टी के माध्यम से एक्सेस किया जा सकता है।
प्रश्न: मैं Pushwoosh में एक यूजर आईडी कैसे सेट कर सकता हूँ?
Anchor link toPushwoosh.sharedInstance() ऑब्जेक्ट के setUserId(_:) मेथड का उपयोग करें, उपयोगकर्ता की आईडी को एक आर्ग्यूमेंट के रूप में पास करें।
प्रश्न: मैं Pushwoosh में उपयोगकर्ता का ईमेल पता कैसे सेट कर सकता हूँ?
Anchor link toPushwoosh.sharedInstance() ऑब्जेक्ट के setEmail(_:) मेथड का उपयोग करें, उपयोगकर्ता का ईमेल प्रदान करें।
मैं Pushwoosh में टैग के रूप में अतिरिक्त उपयोगकर्ता जानकारी कैसे सेट कर सकता हूँ?
Anchor link toPushwoosh.sharedInstance() ऑब्जेक्ट के setTags(_:) मेथड का उपयोग करें, एक डिक्शनरी पास करें जहां कीज़ टैग नाम हैं और वैल्यूज़ संबंधित टैग वैल्यूज़ हैं।
मैं अतिरिक्त विशेषताओं के साथ एक उपयोगकर्ता ईवेंट को कैसे ट्रैक कर सकता हूँ?**
Anchor link toPWInAppManager.shared() के postEvent(_:withAttributes:) मेथड का उपयोग करें, ईवेंट का नाम (जैसे, "login") और विशेषताओं की एक डिक्शनरी (जैसे, "name", "last_login") प्रदान करें।
प्रश्न: मैं उत्पाद विवरण के साथ उपयोगकर्ता खरीद ईवेंट को कैसे ट्रैक कर सकता हूँ?
Anchor link toPWInAppManager.shared() के postEvent(_:withAttributes:) मेथड का उपयोग करें, ईवेंट नाम "purchase" और उत्पाद विवरण जैसे "product_id", "product_name", "price", और "quantity" वाली एक डिक्शनरी के साथ।
प्रश्न: मैं रिच मीडिया प्रस्तुति को संभालने के लिए एक डेलीगेट कैसे सेट करूं?
Anchor link toअपने व्यू कंट्रोलर या किसी अन्य उपयुक्त क्लास में, PWRichMediaPresentingDelegate प्रोटोकॉल का पालन करें और PWRichMediaManager.shared() की delegate प्रॉपर्टी को अपने अनुरूप इंस्टेंस पर सेट करें।
प्रश्न: मैं रिच मीडिया की प्रस्तुति शैली को कैसे कॉन्फ़िगर कर सकता हूँ?
Anchor link toPWModalWindowConfiguration.shared() ऑब्जेक्ट का उपयोग करके मोडल विंडो की स्थिति और configureModalWindow(with:present:dismiss:) मेथड का उपयोग करके प्रेजेंट/डिसमिस एनिमेशन जैसी प्रॉपर्टीज़ को कॉन्फ़िगर करें।
प्रश्न: मैं रिच मीडिया डेलीगेट मेथड्स में कौन सी जानकारी एक्सेस कर सकता हूँ?**
Anchor link toडेलीगेट मेथड्स PWRichMedia ऑब्जेक्ट तक पहुंच प्रदान करते हैं, जिसमें रिच मीडिया सामग्री के बारे में जानकारी होती है, जिसमें उसका pushPayload भी शामिल है। presentingDidFailForRichMedia:withError: मेथड विफलता का वर्णन करने वाला एक Error ऑब्जेक्ट भी प्रदान करता है।
समस्या निवारण
Anchor link toप्रश्न: “Your provisioning profile does not have APS entry” त्रुटि
Anchor link toयदि आपको “Your provisioning profile does not have APS entry.” त्रुटि संदेश दिखाई देता है, तो सुनिश्चित करें कि आपका प्रोविजनिंग प्रोफाइल पुश संगत है और इसमें production या development मान के साथ aps-environment स्ट्रिंग है। जांचने का सबसे आसान तरीका यह है कि मोबाइल प्रोविजनिंग प्रोफाइल को किसी भी टेक्स्ट एडिटर में खोलें और aps-environment स्ट्रिंग को देखें। यह वहां होना चाहिए।
यदि यह है, और आपको त्रुटि मिलती रहती है, तो इसका मतलब है कि XCode अभी भी एक “नॉन पुश-कम्पैटिबल” प्रोफाइल चुन रहा है। कृपया सुनिश्चित करें कि आप सही वाले के साथ साइन करते हैं - कभी-कभी यदि आपके पास एक ही ऐप आईडी के लिए दो प्रोफाइल हैं तो XCode चीजों को गड़बड़ कर देता है और पुराने वाले के साथ साइन करता है।
अनुशंसित कदम हैं:
- सभी XCode प्रोफाइल हटाएं;
- एक और केवल नया प्रोफाइल जोड़ें;
- ऐप को फिर से बनाएं।
प्रश्न: iOS पुश टोकन और hwid कैसा दिखता है?
Anchor link toiOS डिवाइस पुश टोकन 64 हेक्साडेसिमल प्रतीकों वाली स्ट्रिंग्स हैं। पुश टोकन उदाहरण:
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
सुनिश्चित करें कि आपके API अनुरोधों में विशिष्ट उपकरणों को लक्षित करते समय आप जिन iOS पुश टोकन का उपयोग करते हैं, वे लोअर केस में हैं।
Pushwoosh डिवाइस HWID के रूप में IDFV का उपयोग करता है। ध्यान दें कि यदि उपयोगकर्ता किसी विशिष्ट विक्रेता से सभी ऐप्स को फिर से इंस्टॉल करता है तो यह बदल सकता है।
CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
प्रश्न: जब मेरा ऐप चल रहा हो तो मैं बैनर को चालू और बंद कैसे करूं?
Anchor link toडिफ़ॉल्ट रूप से हमारा नवीनतम iOS SDK नोटिफिकेशन बैनर प्रदर्शित करता है जब ऐप फोरग्राउंड में चल रहा होता है।
आप Info.plist में निम्नलिखित फ़्लैग्स को बदलकर इस व्यवहार को नियंत्रित कर सकते हैं:
फ़्लैग Pushwoosh_ALERT_TYPE – स्ट्रिंग प्रकार, मान हैं:
BANNER– डिफ़ॉल्ट मान, इन-ऐप अलर्ट बैनर प्रदर्शित करता हैALERT– अलर्ट नोटिफिकेशनNONE– जब ऐप फोरग्राउंड में हो तो नोटिफिकेशन न दिखाएं
प्रश्न: मैं टेस्ट डिवाइसेस में उपयोग करने के लिए अपना iOS डिवाइस पुश टोकन कैसे प्राप्त करूं?
Anchor link toअपना iOS डिवाइस पुश टोकन प्राप्त करने के लिए,
- Xcode => Devices & Simulators खोलें;
- टेस्ट डिवाइस को अपने कंप्यूटर से कनेक्ट करें;
- बाईं ओर उपकरणों की सूची में अपने कनेक्टेड डिवाइस का चयन करें;
- Open Console बटन पर क्लिक करें।

जिस एप्लिकेशन के लिए आपको डिवाइस पुश टोकन चाहिए, उसे लॉन्च करें, और “Registered for push notifications” लाइन में अपने 64 हेक्साडेसिमल वर्णों वाले डिवाइस पुश टोकन का पता लगाएं:

प्रश्न: जब मैं अपने ऐप को अनइंस्टॉल करता हूँ और थोड़े समय में इसे फिर से इंस्टॉल करता हूँ तो बैज क्यों नहीं हटाए जाते हैं?
Anchor link toयह एक अपेक्षित व्यवहार है - बैज iOS द्वारा ही संभाले जाते हैं और उनके मान एप्लिकेशन प्राथमिकताओं में संग्रहीत होते हैं, जो आपके ऐप को अनइंस्टॉल करने पर तुरंत नहीं हटाए जाते हैं। तत्काल पुनः स्थापना के मामले में एक बैज मान कुछ समय के लिए वहां रहता है, जिसके परिणामस्वरूप ऐप को फिर से इंस्टॉल करने के बाद वही बैज दिखाए जाते हैं।