पुश नोटिफ़िकेशन के लिए पंजीकरण
अनुमति माँगिए और डिवाइस टोकन प्राप्त कीजिए।
पुश नोटिफ़िकेशन के लिए पंजीकरण, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
पुश अधिसूचना शुरू से अंत तक कैसे काम करती है
पुश अधिसूचना आपके सर्वर से Apple की पुश अधिसूचना सेवा (एपीएनएस) के माध्यम से किसी विशिष्ट डिवाइस तक पहुँचती है। डिवाइस अपनी पहचान उस डिवाइस टोकन से सिद्ध करता है जिसे एपीएनएस जारी करता है। इससे पहले उपयोगकर्ता को अनुमति देनी होती है और ऐप को पंजीकरण करना होता है।
// Flow: App registers -> APNs returns device token ->
// you send token to your server -> server pushes via APNsअधिसूचना केंद्र
UNUserNotificationCenter वह एकमात्र ऑब्जेक्ट है जिसका उपयोग आप स्थानीय और दूरस्थ, दोनों प्रकार की सभी अधिसूचनाओं के लिए करते हैं: अनुमति माँगने, delegate सेट करने, स्थानीय अधिसूचनाएँ शेड्यूल करने और settings पढ़ने के लिए। साझा instance प्राप्त करें।
import UserNotifications
let center = UNUserNotificationCenter.current()
// All notification configuration goes through centerअनुमति माँगना
अधिसूचनाएँ दिखाने से पहले आपको उपयोगकर्ता से पूछना आवश्यक है। requestAuthorization(options:) सिस्टम प्रॉम्प्ट दिखाता है और लौटाता है कि उपयोगकर्ता सहमत हुआ या नहीं। केवल आवश्यक options माँगें: .alert, .sound, .badge।
import UserNotifications
func requestAuth() async throws -> Bool {
let center = UNUserNotificationCenter.current()
return try await center.requestAuthorization(
options: [.alert, .sound, .badge])
}एपीएनएस के साथ पंजीकरण
अनुमति और पंजीकरण अलग-अलग चीज़ें हैं। अनुमति मिलने के बाद या उसके साथ-साथ, मुख्य actor पर registerForRemoteNotifications() कॉल करें। यह एपीएनएस से डिवाइस टोकन माँगता है। इसे मुख्य थ्रेड पर चलना आवश्यक है।
import UIKit
@MainActor
func registerForPush() {
UIApplication.shared.registerForRemoteNotifications()
}डिवाइस टोकन प्राप्त करना
सफलता मिलने पर ऐप delegate का didRegisterForRemoteNotificationsWithDeviceToken एक Data टोकन के साथ सक्रिय होता है। आप इसे हेक्स स्ट्रिंग में बदलकर अपने सर्वर को भेजते हैं, जो इसका उपयोग इसी डिवाइस को लक्षित करने के लिए करता है।
import UIKit
func application(
_ app: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken
deviceToken: Data) {
let token = deviceToken.map {
String(format: "%02x", $0) }.joined()
print("APNs token:", token)
// send token to your backend
}पंजीकरण विफलता संभालना
पंजीकरण विफल हो सकता है—नेटवर्क न होने, एपीएनएस entitlement न होने या असमर्थित environment में चलने के कारण। क्रैश करने के बजाय त्रुटि दर्ज करने और सहज रूप से सुधार करने के लिए didFailToRegisterForRemoteNotificationsWithError लागू करें।
import UIKit
func application(
_ app: UIApplication,
didFailToRegisterForRemoteNotificationsWithError
error: Error) {
print("Push registration failed:", error)
}टोकन बदल सकते हैं
डिवाइस टोकन स्थायी नहीं होता। उपयोगकर्ता द्वारा बैकअप से पुनर्स्थापित करने, ऐप फिर से इंस्टॉल करने या नए डिवाइस पर जाने पर यह बदल सकता है। हर बार ऐप शुरू होने पर पंजीकरण करें और नवीनतम टोकन अपलोड करें; सर्वर पर पुराने टोकन को उससे बदल दें।
// Best practice: register on each launch,
// always upload the freshly received token,
// never cache a token as permanent.
let rule = "re-register every launch"
_ = ruleवर्तमान settings जाँचना
उपयोगकर्ता बाद में Settings में अनुमति रद्द कर सकता है। अधिसूचनाओं पर निर्भर रहने से पहले, वर्तमान अनुमति की स्थिति और अनुमत सुविधाएँ पढ़ने के लिए getNotificationSettings से पूछताछ करें।
import UserNotifications
func currentStatus() async -> UNAuthorizationStatus {
let settings = await UNUserNotificationCenter
.current().notificationSettings()
return settings.authorizationStatus
}अस्थायी अनुमति
.provisional option अधिसूचनाओं को पहले से प्रॉम्प्ट दिखाए बिना चुपचाप Notification Center में पहुँचने देता है। यह उपयोगकर्ताओं को स्थायी निर्णय लेने से पहले अधिसूचनाएँ आज़माने देने के लिए उपयोगी है; वे उन्हें रखने या बंद करने का विकल्प चुन सकते हैं।
import UserNotifications
func requestQuiet() async throws -> Bool {
try await UNUserNotificationCenter.current()
.requestAuthorization(
options: [.alert, .sound, .provisional])
}आवश्यक क्षमता
आपके Xcode target में Push Notifications capability सक्षम किए बिना इनमें से कुछ भी काम नहीं करता। इससे aps-environment entitlement जुड़ता है। पृष्ठभूमि में डिलीवरी के लिए Remote notifications के साथ Background Modes capability भी सक्षम करें।
// Xcode target > Signing & Capabilities:
// + Push Notifications
// + Background Modes > Remote notifications
let caps = "entitlements required"
_ = capsपंजीकरण को एक साथ जोड़ना
साफ़ startup flow यह है: अनुमति माँगें और यदि अनुमति मिल जाए, तो मुख्य actor पर दूरस्थ अधिसूचनाओं के लिए पंजीकरण करें। इसके बाद टोकन delegate callback में अपलोड करने के लिए प्राप्त होता है।
import UIKit
import UserNotifications
func setupPush() async {
let center = UNUserNotificationCenter.current()
let granted = (try? await center.requestAuthorization(
options: [.alert, .sound, .badge])) ?? false
if granted {
await MainActor.run {
UIApplication.shared.registerForRemoteNotifications()
}
}
}त्वरित जाँच
अनुमति और पंजीकरण के बीच संबंध याद करें।
पुनरावलोकन
आपने पुश सूचनाओं के लिए register करना सीखा:
UNUserNotificationCenterका उपयोग करके.alert/.sound/.badgeकी अनुमति माँगें।- अनुमति और पंजीकरण अलग-अलग होते हैं; मुख्य निष्पादन संदर्भ पर
registerForRemoteNotifications()को कॉल करें। Dataटोकन को हेक्स में बदलकर अपलोड करें; हर बार ऐप शुरू होने पर फिर से register करें, क्योंकि टोकन बदलते रहते हैं।- पुश सूचनाओं की क्षमता सक्षम करें और
.provisionalअनुमति पर विचार करें।
एआई शिक्षक के साथ Swift सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 122
- पाठ
- 409
अक्सर पूछे जाने वाले प्रश्न
क्या “पुश नोटिफ़िकेशन के लिए पंजीकरण” पाठ निःशुल्क है?
हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “पुश नोटिफ़िकेशन के लिए पंजीकरण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“पुश नोटिफ़िकेशन के लिए पंजीकरण” में मैं क्या सीखूँगा?
अनुमति माँगिए और डिवाइस टोकन प्राप्त कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Swift Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Swift Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Swift Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“पुश नोटिफ़िकेशन के लिए पंजीकरण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Swift Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Swift Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- पुश नोटिफ़िकेशन के लिए पंजीकरण
- नोटिफ़िकेशन पेलोड सँभालना
- बैकग्राउंड कार्य और रिफ़्रेश
- नोटिफ़िकेशन ऐक्शन और श्रेणियाँ