iOS पुश प्राइमर
एक पुश प्राइमर एक सॉफ्ट ऑप्ट-इन डायलॉग है जिसे आप iOS सिस्टम पुश अनुमति प्रॉम्प्ट से पहले दिखाते हैं। iOS सिस्टम प्रॉम्प्ट को प्रति इंस्टॉल केवल एक बार दिखाता है — यदि उपयोगकर्ता Don’t Allow पर टैप करता है, तो पुश तब तक खो जाता है जब तक कि वे इसे सेटिंग्स में फिर से सक्षम नहीं कर देते। प्राइमर आपको पहले मूल्य समझाने और सही समय पर पूछने की सुविधा देता है, ताकि आप एक-बार मिलने वाले सिस्टम प्रॉम्प्ट को उन उपयोगकर्ताओं पर खर्च करें जिन्होंने पहले ही हाँ कह दिया है।
संस्करण 7.1.1 से उपलब्ध है। प्राइमर PushwooshFramework का हिस्सा है; किसी अतिरिक्त मॉड्यूल की आवश्यकता नहीं है।

यह कैसे काम करता है
Anchor link toप्राइमर पूरी तरह से स्टेट-अवेयर है। यह वर्तमान नोटिफिकेशन प्राधिकरण स्थिति को पढ़ता है और तय करता है कि क्या करना है, इसलिए इसे हर लॉन्च पर कॉल करना सुरक्षित है:
- Not determined — प्राइमर दिखाता है; स्वीकार करने पर यह सिस्टम अनुमति प्रॉम्प्ट को ट्रिगर करता है।
- Authorized or provisional — चुपचाप प्राइमर को दबा देता है (कुछ भी नहीं दिखाया जाता है)।
- Denied — प्राइमर दिखाता है; स्वीकार करने पर यह उपयोगकर्ता को ऐप की नोटिफिकेशन सेटिंग्स पर भेजता है (जब
fallbackToSettingsसक्षम होता है)।
आप तय करते हैं कि प्राइमर को कब कॉल करना है (उदाहरण के लिए ऑनबोर्डिंग के बाद या किसी प्रमुख कार्रवाई के बाद)। SDK अपनी कोई टाइमिंग नहीं थोपता है, सिवाय नीचे वर्णित वैकल्पिक minInterval थ्रॉटल के।
मूल उपयोग
Anchor link toप्राइमर को एक फ़्लूएंट बिल्डर के साथ कॉन्फ़िगर करें और present को कॉल करें। न्यूनतम सेटअप के लिए एक शीर्षक, एक संदेश और दो बटन शीर्षकों की आवश्यकता होती है।
import PushwooshFramework
Pushwoosh.configure.pushPrimer .title("जानकारी से जुड़े रहें") .message("डील्स और ऑर्डर अपडेट के बारे में सबसे पहले सूचना पाएं") .acceptButton("नोटिफिकेशन सक्षम करें") .declineButton("अभी नहीं") .present()स्टाइल और पोजीशन
Anchor link toसिस्टम अलर्ट और कस्टम शीट के बीच चयन करने के लिए style का उपयोग करें, और कस्टम शीट को रखने के लिए position का उपयोग करें। प्रत्येक स्थिति का अपना डिफ़ॉल्ट डिज़ाइन होता है।
| मान | विवरण |
|---|---|
.alert | सिस्टम UIAlertController। स्थिति को अनदेखा किया जाता है। |
.sheet + .bottom | नीचे की शीट जो ऊपर की ओर स्लाइड होती है, जिसमें एक ग्रैबर और पूरी-चौड़ाई वाले बटन होते हैं (डिफ़ॉल्ट)। |
.sheet + .top | कॉम्पैक्ट बैनर जो ऊपर से नीचे आता है, एक नोटिफिकेशन की तरह। |
.sheet + .center | केंद्रित डायलॉग जो स्केल और फेड इन होता है। |
Pushwoosh.configure.pushPrimer .style(.sheet) .position(.top) .title("जानकारी से जुड़े रहें") .message("डील्स और ऑर्डर अपडेट के बारे में सबसे पहले सूचना पाएं") .acceptButton("नोटिफिकेशन सक्षम करें") .declineButton("अभी नहीं") .present()
अनुकूलन
Anchor link toसभी विज़ुअल सेटिंग्स वैकल्पिक हैं — लाइट और डार्क मोड के अनुकूल होने वाले नेटिव डिफ़ॉल्ट का उपयोग करने के लिए उन्हें छोड़ दें।
Pushwoosh.configure.pushPrimer .style(.sheet) .position(.center) .title("जानकारी से जुड़े रहें") .message("डील्स और ऑर्डर अपडेट के बारे में सबसे पहले सूचना पाएं") .acceptButton("नोटिफिकेशन सक्षम करें") .declineButton("अभी नहीं") .image(UIImage(named: "PrimerHero")) // स्थानीय छवि, या .imageURL("https://…") .backgroundColor(.systemBackground) .titleColor(.label) .messageColor(.secondaryLabel) .acceptButtonColor(.systemBlue) .acceptButtonTextColor(.white) .declineButtonColor(.clear) .declineButtonTextColor(.secondaryLabel) .cornerRadius(24) .buttonCornerRadius(14) .buttonBorderColor(.separator) .present()अनुकूलन संदर्भ:
| सेटर | विवरण |
|---|---|
image / imageURL | एक स्थानीय UIImage या एक रिमोट URL। केंद्र और नीचे के लेआउट पर एक वृत्त के रूप में और शीर्ष बैनर पर आइकन के रूप में प्रस्तुत किया जाता है। एक स्थानीय छवि URL पर प्राथमिकता लेती है। |
backgroundColor | कार्ड का ठोस पृष्ठभूमि रंग। |
backgroundGradient | रंगों की एक सरणी जिसे एक नरम बहुरंगी ग्रेडिएंट के रूप में प्रस्तुत किया जाता है। backgroundColor को ओवरराइड करता है। |
titleColor / messageColor | शीर्षक और संदेश टेक्स्ट के रंग। |
acceptButtonColor / acceptButtonTextColor | स्वीकार बटन की पृष्ठभूमि और टेक्स्ट के रंग। स्वीकार रंग डिफ़ॉल्ट आइकन को भी टिंट करता है। |
declineButtonColor / declineButtonTextColor | अस्वीकार बटन की पृष्ठभूमि और टेक्स्ट के रंग। |
cornerRadius | कार्ड का कॉर्नर रेडियस। |
buttonCornerRadius / buttonBorderColor | दोनों बटनों का कॉर्नर रेडियस और बॉर्डर का रंग। |
व्यवहार सेटिंग्स
Anchor link toसेटिंग्स फॉलबैक
Anchor link toडिफ़ॉल्ट रूप से, जब नोटिफिकेशन पहले से ही अस्वीकृत होते हैं तो प्राइमर दिखाया जाता है और स्वीकार बटन उपयोगकर्ता को ऐप की नोटिफिकेशन सेटिंग्स पर ले जाता है। इसके बजाय अस्वीकृत स्थिति में प्राइमर को पूरी तरह से दबाने के लिए false पास करें।
.fallbackToSettings(false)प्रदर्शन आवृत्ति
Anchor link toडिफ़ॉल्ट रूप से प्राइमर में कोई अंतर्निहित थ्रॉटलिंग नहीं है — यह जब भी आप present को कॉल करते हैं तो दिखाई देता है (और नोटिफिकेशन अधिकृत होने के बाद स्वतः-दबा दिया जाता है)। प्राइमर कितनी बार फिर से दिखाई देता है, इसे सीमित करने के लिए minInterval का उपयोग करें। अंतिम बार दिखाए जाने का समय लॉन्च के दौरान बना रहता है।
.minInterval(7 * 24 * 60 * 60) // सप्ताह में अधिकतम एक बार दिखाएंपरिणाम को संभालना
Anchor link toपरिणाम पर प्रतिक्रिया करने के लिए present को एक कंप्लीशन पास करें।
Pushwoosh.configure.pushPrimer .title("जानकारी से जुड़े रहें") .message("डील्स और ऑर्डर अपडेट के बारे में सबसे पहले सूचना पाएं") .acceptButton("नोटिफिकेशन सक्षम करें") .declineButton("अभी नहीं") .present { outcome in switch outcome { case .accepted: break // दिखाया गया, उपयोगकर्ता ने स्वीकार किया, सिस्टम प्रॉम्प्ट का अनुरोध किया गया case .declined: break // दिखाया गया, उपयोगकर्ता ने अस्वीकार कर दिया case .suppressed: break // नहीं दिखाया गया (पहले से अधिकृत, या थ्रॉटल किया गया) case .redirectedToSettings: break // अस्वीकृत स्थिति, उपयोगकर्ता को सेटिंग्स में भेजा गया @unknown default: break } }अंतिम सिस्टम-प्रॉम्प्ट परिणाम (अनुदानित/अस्वीकृत स्थिति और डिवाइस टोकन) नियमित पंजीकरण कॉलबैक के माध्यम से आता है — प्राइमर स्वीकार करने पर registerForPushNotifications का पुन: उपयोग करता है और उस श्रृंखला को डुप्लिकेट नहीं करता है।