सामग्री पर जाएं

iOS पुश प्राइमर

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

संस्करण 7.1.1 से उपलब्ध है। प्राइमर PushwooshFramework का हिस्सा है; किसी अतिरिक्त मॉड्यूल की आवश्यकता नहीं है।

सिस्टम अनुमति प्रॉम्प्ट से पहले दिखाया गया पुश प्राइमर डायलॉग
iOS सिस्टम अनुमति प्रॉम्प्ट से पहले दिखाया गया पुश प्राइमर

यह कैसे काम करता है

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 का पुन: उपयोग करता है और उस श्रृंखला को डुप्लिकेट नहीं करता है।

संदर्भ

Anchor link to