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 कमांड चलाएँ।
प्रश्न: Push Notifications को सक्षम करने के लिए मुझे अपने प्रोजेक्ट में कौन सी क्षमताएँ जोड़ने की आवश्यकता है?
Anchor link toअपने प्रोजेक्ट सेटिंग्स के Signing & Capabilities सेक्शन में, आपको Push Notifications और Background Modes क्षमताओं को जोड़ना होगा। Background Modes जोड़ते समय, सुनिश्चित करें कि आप Remote notifications के लिए बॉक्स को चेक करते हैं।
प्रश्न: Time Sensitive Notifications के लिए कौन सी अतिरिक्त क्षमता की आवश्यकता है?
Anchor link toयदि आप Time Sensitive Notifications (iOS 15+) का उपयोग करना चाहते हैं, तो आपको Time Sensitive Notifications क्षमता भी जोड़नी होगी।
प्रश्न: मुझे Pushwoosh इनिशियलाइज़ेशन कोड कहाँ जोड़ना है?
Anchor link toइनिशियलाइज़ेशन कोड को आपकी AppDelegate क्लास में जोड़ा जाना चाहिए।
प्रश्न: मुझे SwiftUI के AppDelegate में कौन सा इनिशियलाइज़ेशन कोड जोड़ना चाहिए?
Anchor link toकृपया SwiftUI प्रोजेक्ट में Pushwoosh को इंटीग्रेट करने के लिए दिए गए Swift कोड उदाहरण को देखें।
प्रश्न: मुझे एक मानक Swift AppDelegate में कौन सा इनिशियलाइज़ेशन कोड जोड़ना चाहिए?
Anchor link toकृपया एक मानक Swift प्रोजेक्ट में Pushwoosh को इंटीग्रेट करने के लिए दिए गए Swift कोड उदाहरण को देखें।
प्रश्न: मुझे एक Objective-C AppDelegate में कौन सा इनिशियलाइज़ेशन कोड जोड़ना चाहिए?
Anchor link toकृपया एक Objective-C प्रोजेक्ट में Pushwoosh को इंटीग्रेट करने के लिए दिए गए Objective-C कोड उदाहरण को देखें।
प्रश्न: मुझे अपनी Info.plist फ़ाइल में कौन सी कीज़ (keys) जोड़ने की आवश्यकता है?
Anchor link toआपको अपनी ऐप की Info.plist फ़ाइल में Pushwoosh_APPID की (key) को अपने Application Code पर और PW_API_TOKEN की (key) को अपने API Token पर सेट करना होगा।
प्रश्न: संदेश डिलीवरी ट्रैकिंग का उद्देश्य क्या है?
Anchor link toPushwoosh, Notification Service Extension का उपयोग करके पुश नोटिफिकेशन के लिए डिलीवरी इवेंट्स को ट्रैक करने का समर्थन करता है।
प्रश्न: मैं अपने प्रोजेक्ट में Notification Service Extension कैसे जोड़ूँ?
Anchor link toXcode में, File > New > Target… पर जाएँ, Notification Service Extension चुनें, और Next दबाएँ। एक टारगेट नाम दर्ज करें और Finish दबाएँ। जब सक्रिय करने के लिए कहा जाए, तो Cancel दबाएँ।
प्रश्न: मैं Notification Service Extension में Pushwoosh SDK कैसे जोड़ूँ?
Anchor link toदिए गए Swift या Objective-C कोड स्निपेट को अपने Notification Service Extension की मुख्य .swift या .m फ़ाइल में जोड़ें। यह कोड नोटिफिकेशन अनुरोध को संभालने के लिए PWNotificationExtensionManager का उपयोग करता है।
प्रश्न: App Groups का उद्देश्य क्या है?
Anchor link toApp Groups क्षमता की आवश्यकता Notification Service Extension को मुख्य एप्लिकेशन के साथ संचार करने की अनुमति देने के लिए होती है।
प्रश्न: मैं अपने मुख्य टारगेट और Notification Service Extension के लिए App Groups कैसे सक्षम करूँ?
Anchor link toदोनों टारगेट्स के लिए, Signing & Capabilities पर जाएँ, App Groups क्षमता जोड़ें, और + बटन दबाकर एक नया ग्रुप बनाएँ। सुनिश्चित करें कि ग्रुप का नाम group. से शुरू होता है और दोनों टारगेट्स के लिए एक ही ग्रुप नाम का उपयोग करें।
प्रश्न: App Groups के लिए मुझे अपने मुख्य टारगेट की Info.plist में कौन सी कीज़ (keys) जोड़ने की आवश्यकता है?
Anchor link toअपने मुख्य टारगेट की Info.plist में, PW_APP_GROUPS_NAME की (key) जोड़ें और इसका मान अपने App Groups ग्रुप के नाम पर सेट करें।
प्रश्न: मुझे अपने Notification Service Extension की Info.plist में कौन सी कीज़ (keys) जोड़ने की आवश्यकता है?
Anchor link toअपने Notification Service Extension की Info.plist में, PW_APP_GROUPS_NAME की (key) (अपने App Groups नाम पर सेट) और Pushwoosh_APPID की (key) (अपने Application Code पर सेट) जोड़ें।
प्रश्न: मैं Pushwoosh इंटीग्रेशन को कैसे सत्यापित करूँ?
Anchor link toअपने प्रोजेक्ट को बनाने और चलाने के बाद, Pushwoosh Control Panel पर जाएँ और अपने एप्लिकेशन को एक पुश नोटिफिकेशन भेजें। आपको अपने डिवाइस पर नोटिफिकेशन दिखाई देना चाहिए।
प्रश्न: 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(_:) विधि का उपयोग करें, एक डिक्शनरी पास करें जहाँ कीज़ (keys) टैग नाम हैं और मान संबंधित टैग मान हैं।
मैं अतिरिक्त विशेषताओं के साथ एक उपयोगकर्ता ईवेंट को कैसे ट्रैक कर सकता हूँ?
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– जब ऐप फोरग्राउंड में हो तो नोटिफिकेशन न दिखाएँ
प्रश्न: Test Devices में उपयोग करने के लिए मैं अपना iOS डिवाइस पुश टोकन कैसे प्राप्त करूँ?
Anchor link toअपना iOS डिवाइस पुश टोकन प्राप्त करने के लिए,
- Xcode => Devices & Simulators खोलें;
- टेस्ट डिवाइस को अपने कंप्यूटर से कनेक्ट करें;
- बाईं ओर उपकरणों की सूची में अपने कनेक्टेड डिवाइस का चयन करें;
- Open Console बटन पर क्लिक करें।

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

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