Notification Action — इंटरैक्टिव बटन और इनपुट फ़ील्ड जो सीधे push सूचना में दिखाई देते हैं और उपयोगकर्ता को ऐप खोले बिना कार्य करने की अनुमति देते हैं। यह उपयोगकर्ता अनुभव का एक महत्वपूर्ण तत्व है, जो लक्ष्य स्क्रीन तक के मार्ग को छोटा करता है। Android Developers, 2025 के अनुसार, Notification Action इंटरैक्शन में घर्षण को कम करके उपयोगकर्ता सहभागिता को 40% तक बढ़ाता है।
मुख्य बिंदु
Notification Action एक इंटरैक्टिव इंटरफ़ेस तत्व है जो किसी विशिष्ट कार्य को करने के लिए push सूचना में जोड़ा जाता है। उपयोगकर्ता ऐप में प्रवेश किए बिना संदेश का उत्तर दे सकता है, कार्य की पुष्टि कर सकता है या विशिष्ट स्क्रीन खोल सकता है। कार्य सूचना के टेक्स्ट के नीचे बटन के रूप में या स्वाइप करने पर विस्तृत दृश्य में दिखाई देते हैं।
Notification Action का मुख्य उद्देश्य उपयोगकर्ता को अपने लक्ष्य तक पहुँचने के लिए चरणों की संख्या कम करना है। ऐप खोलने और वांछित स्क्रीन पर नेविगेट करने के बजाय, उपयोगकर्ता एक बटन दबाता है। शोध से पता चलता है कि इंटरैक्टिव सूचनाओं वाले ऐप सामान्य सूचनाओं की तुलना में 25–40% अधिक सहभागिता दिखाते हैं।
Android पर, Notification Actions कॉम्पैक्ट दृश्य में आइकन-बटन और विस्तार योग्य मोड में टेक्स्ट बटन के रूप में प्रदर्शित होते हैं। iOS पर, कार्य सूचना पर लंबे प्रेस या बाएँ स्वाइप करने पर दिखाई देते हैं। प्रत्येक प्लेटफ़ॉर्म की कार्यों की संख्या के लिए अपनी सिफारिशें हैं — Android अधिकतम 3, iOS अधिकतम 4 की अनुशंसा करता है।
| प्लेटफ़ॉर्म | अधिकतम कार्य | प्रदर्शन विधि | कार्य प्रकार |
|---|---|---|---|
| Android | 3 | आइकन + टेक्स्ट | बटन, टेक्स्ट इनपुट |
| iOS | 4 | लंबा प्रेस / स्वाइप | बटन, टेक्स्ट इनपुट |
Android पर, Notification Actions NotificationCompat.Builder का उपयोग करके addAction() विधि के माध्यम से बनाए जाते हैं। प्रत्येक कार्य में एक आइकन, टेक्स्ट और PendingIntent होता है जो क्लिक करने पर चालू होता है। Android 7.0 (API 24) से, RemoteInput के माध्यम से सीधे टेक्स्ट इनपुट समर्थित है।
सूचना में बटन बनाने के लिए, एक PendingIntent परिभाषित करना आवश्यक है जो क्लिक करने पर लॉन्च होगा। PendingIntent एक Activity खोल सकता है, Service या BroadcastReceiver शुरू कर सकता है। कार्य आइकन मोनोक्रोम और Material Design के अनुरूप होना चाहिए।
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)
val acceptPendingIntent = PendingIntent.getBroadcast(
context, requestCode,
acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("पुष्टि अनुरोध")
.setContentText("कृपया कार्य पूर्ण करने की पुष्टि करें")
.addAction(R.drawable.ic_accept, "पुष्टि करें", acceptPendingIntent)
.build()
उन परिदृश्यों के लिए जिनमें टेक्स्ट इनपुट की आवश्यकता है (जैसे, संदेश का उत्तर देना), Android RemoteInput प्रदान करता है। उपयोगकर्ता सीधे सूचना में टेक्स्ट दर्ज करता है, और ऐप इसे Activity खोले बिना प्राप्त करता है। RemoteInput Android 7.0+ पर समर्थित है और BroadcastReceiver या Service में स्पष्ट हैंडलिंग की आवश्यकता है।
val remoteInput = RemoteInput.Builder("reply_input")
.setLabel("उत्तर दर्ज करें")
.build()
val replyAction = NotificationCompat.Action.Builder(
R.drawable.ic_reply, "उत्तर दें", replyPendingIntent
)
.addRemoteInput(remoteInput)
.build()
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
.addAction(replyAction)
.build()
जब कोई कार्य क्लिक किया जाता है, तो सिस्टम निर्दिष्ट PendingIntent लॉन्च करता है। RemoteInput से दर्ज टेक्स्ट प्राप्त करने के लिए, RemoteInput.getResultsFromIntent(intent) कॉल करें। UI थ्रेड को ब्लॉक करने से बचने के लिए IntentService या WorkManager में कार्यों को संभालने की अनुशंसा की जाती है।
iOS पर, Notification Actions UserNotifications फ्रेमवर्क के माध्यम से कार्यान्वित किए जाते हैं। डेवलपर कार्य श्रेणियाँ (UNNotificationCategory) बनाता है और उन्हें ऐप लॉन्च पर पंजीकृत करता है। प्रत्येक कार्य एक अद्वितीय पहचानकर्ता के साथ UNNotificationAction ऑब्जेक्ट द्वारा परिभाषित किया जाता है।
iOS पर push सूचनाओं में कार्य जोड़ने के लिए, एक श्रेणी बनाना आवश्यक है जो संबंधित कार्यों को समूहित करती है। श्रेणी सूचना पेलोड में category फ़ील्ड के माध्यम से निर्दिष्ट की जाती है। सूचना प्राप्त होने पर, सिस्टम निर्दिष्ट श्रेणी से उपलब्ध कार्य प्रदर्शित करता है।
import UserNotifications
class NotificationSetup {
func registerNotificationCategories() {
let approveAction = UNNotificationAction(
identifier: "APPROVE_ACTION",
title: "स्वीकृत करें",
options: [.foreground]
)
let declineAction = UNNotificationAction(
identifier: "DECLINE_ACTION",
title: "अस्वीकार करें",
options: [.destructive]
)
let category = UNNotificationCategory(
identifier: "REQUEST_CATEGORY",
actions: [approveAction, declineAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
}
}
जब उपयोगकर्ता किसी कार्य पर क्लिक करता है, तो सिस्टम UNUserNotificationCenter डेलिगेट में userNotificationCenter:didReceiveNotificationResponse विधि कॉल करता है। response.actionIdentifier में निष्पादित कार्य का पहचानकर्ता होता है। टेक्स्ट इनपुट के लिए, UNTextInputNotificationAction का उपयोग किया जाता है, जो उपयोगकर्ता द्वारा दर्ज टेक्स्ट प्रदान करता है।
extension AppDelegate: UNUserNotificationCenterDelegate {
func userNotificationCenter(
center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
switch response.actionIdentifier {
case "APPROVE_ACTION":
Log.d("Action: approved")
case "DECLINE_ACTION":
Log.d("Action: declined")
case UNNotificationDefaultActionIdentifier:
Log.d("Action: opened app")
default:
break
}
completionHandler()
}
}
Notification Action को इंटरैक्शन प्रकार और उपयोग परिदृश्य के अनुसार वर्गीकृत किया जाता है। कार्य प्रकार का सही चयन सीधे उपयोगकर्ता अनुभव और लक्ष्य कार्य में रूपांतरण को प्रभावित करता है।
सबसे सामान्य प्रकार — एक बटन जो ऐप को विशिष्ट स्क्रीन पर खोलता है। Android पर, PendingIntent.getActivity() का उपयोग किया जाता है, iOS पर — UNNotificationAction का .foreground विकल्प। पूर्ण इंटरफ़ेस की आवश्यकता वाले कार्यों के लिए उपयोग किया जाता है, जैसे ऑर्डर विवरण देखना।
कार्य जो ऐप खोले बिना निष्पादित होते हैं। Android पर, PendingIntent.getBroadcast() या PendingIntent.getService() का उपयोग किया जाता है। iOS पर — .authenticationRequired विकल्प या .foreground के बिना। उदाहरण: कार्य को पूर्ण चिह्नित करना, पोस्ट को लाइक करना, पसंदीदा में जोड़ना।
उपयोगकर्ता को सीधे सूचना में टेक्स्ट दर्ज करने की अनुमति देता है। Android पर, RemoteInput के माध्यम से कार्यान्वित किया जाता है, iOS पर — UNTextInputNotificationAction के माध्यम से। संदेशों के उत्तर, टिप्पणियाँ, एक बार के पुष्टिकरण कोड दर्ज करने के लिए उपयोग किया जाता है।
कार्य जो डेटा को अपरिवर्तनीय रूप से बदलते हैं — हटाना, अस्वीकार करना, अवरुद्ध करना। Android पर, वे दृश्य रूप से हाइलाइट किए जाते हैं (कुछ सिस्टम में लाल रंग), iOS पर उन्हें .destructive विकल्प की आवश्यकता होती है। विनाशकारी कार्यों के लिए पुष्टि का अनुरोध करने की अनुशंसा की जाती है, उदाहरण के लिए अतिरिक्त संवाद या दूसरे क्लिक के माध्यम से।
कार्यों का एक अलग वर्ग — सीधे सूचना से टेक्स्ट दर्ज करना। Android पर, यह PendingIntent के साथ RemoteInput के माध्यम से कार्यान्वित किया जाता है। iOS पर, UNTextInputNotificationAction का उपयोग किया जाता है, जो UNNotificationAction से विरासत प्राप्त करता है। ऐसे कार्य त्वरित उत्तर के लिए मैसेंजर में, प्रोमो कोड दर्ज करने, फीडबैक फ़ॉर्म भरने या सेवा गुणवत्ता रेटिंग के लिए उपयोग किए जाते हैं। दर्ज टेक्स्ट कार्य पहचानकर्ता के साथ ऐप को भेजा जाता है। दोनों प्लेटफ़ॉर्म पर टेक्स्ट इनपुट के सही हैंडलिंग के लिए, लक्ष्य कार्य को निष्पादित करने से पहले दर्ज डेटा का पार्सिंग और सत्यापन लागू करना आवश्यक है।
सही Notification Action हैंडलिंग एनालिटिक्स और उपयोगकर्ता अनुभव के लिए महत्वपूर्ण है। प्रत्येक क्लिक लॉग किया जाना चाहिए, और कार्य को विश्वसनीय रूप से निष्पादित किया जाना चाहिए भले ही ऐप बंद हो।
अपने एनालिटिक्स सिस्टम के माध्यम से प्रत्येक Notification Action क्लिक को ट्रैक करें। Firebase Analytics, Mixpanel या Yandex.Metrica कार्य पहचानकर्ता, क्लिक समय और सूचना संदर्भ रिकॉर्ड करने की अनुमति देते हैं। यह डेटा आपकी सूचना रणनीति को अनुकूलित करने और सहभागिता बढ़ाने में मदद करता है। विभिन्न कार्य सेटों के साथ A/B परीक्षण उपयोगकर्ता के साथ सबसे प्रभावी इंटरैक्शन परिदृश्यों की पहचान करने में मदद करता है।
यदि ऐप बंद है, तब भी सिस्टम कार्य क्लिक करने पर Intent या UNNotificationResponse वितरित करता है। Android पर, गारंटीकृत हैंडलिंग के लिए BroadcastReceiver का उपयोग करें। iOS पर, सिस्टम ऐप को पृष्ठभूमि में लॉन्च करता है और प्रतिक्रिया डेलिगेट को भेजता है। महत्वपूर्ण कार्यों (भुगतान पुष्टि, प्राधिकरण) के लिए, पुनः प्रयास तंत्र जोड़ें और सफल समापन के बारे में उपयोगकर्ता को सूचित करें।
Android 7.0 से, डेवलपर आइकन और रंगों के माध्यम से Notification Action के स्वरूप को प्रभावित कर सकता है। आइकन मोनोक्रोम (अल्फा चैनल), आकार 24x24 dp होने चाहिए। iOS पर, बटन अनुकूलन सीमित है — सिस्टम रंग और फ़ॉन्ट का उपयोग किया जाता है। Material Design प्राथमिकता के अनुसार कार्यों को समूहित करने की अनुशंसा करता है: सबसे महत्वपूर्ण कार्य पहले, विनाशकारी अंत में।
अक्सर पूछे जाने वाले प्रश्न
Android अधिकतम 3 कार्यों की अनुशंसा करता है, iOS — 4 तक। सीमा से अधिक होने पर कुछ कार्य प्रदर्शित नहीं होते या उपमेनू में छिप जाते हैं।
आइकन NotificationCompat.Action.Builder में drawable संसाधन के रूप में पास किया जाता है। आइकन मोनोक्रोम (अल्फा चैनल), आकार 24x24 dp और Material Design दिशानिर्देशों के अनुरूप होना चाहिए।
हाँ, यदि सूचना लॉक स्क्रीन पर दिखाई जाती है और visibility फ़्लैग VISIBILITY_PUBLIC पर सेट है। iOS पर, प्राधिकरण की आवश्यकता वाले कार्यों के लिए .authenticationRequired विकल्प आवश्यक है।
Android पर, सिस्टम प्रक्रिया को पुनः बनाता है और Intent वितरित करता है। iOS पर, सिस्टम ऐप को पृष्ठभूमि में लॉन्च करता है। गारंटीकृत वितरण Android पर BroadcastReceiver और iOS पर UNNotificationServiceExtension का उपयोग करके प्राप्त किया जा सकता है।
Android पर, कार्य सीधे सूचना के नीचे आइकन के रूप में दिखाई देते हैं। iOS पर, कार्य लंबे प्रेस या स्वाइप के पीछे छिपे होते हैं। सूचनाओं का UX डिज़ाइन इन प्लेटफ़ॉर्म अंतरों को ध्यान में रखना चाहिए।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें