iOS पुश नोटिफिकेशन: ऐप के बैकग्राउंड में होने पर यूजर ने नोटिफिकेशन पर टैप किया तो कैसे पता करें?


116

इस विषय के बारे में बहुत सारे स्टैकओवरफ़्लो थ्रेड हैं, लेकिन मुझे अभी भी एक अच्छा समाधान नहीं मिला है।

यदि एप्लिकेशन पृष्ठभूमि में नहीं है, तो मैं यह देखने launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey]के लिए application:didFinishLaunchingWithOptions:कॉल कर सकता हूं कि यह अधिसूचना से खोला गया है या नहीं।

यदि एप्लिकेशन पृष्ठभूमि में है, तो सभी पोस्ट application:didReceiveRemoteNotification:एप्लिकेशन स्थिति का उपयोग और जांच करने का सुझाव देते हैं । लेकिन जैसा कि मैंने प्रयोग किया (और जैसा कि इस एपीआई के नाम से भी पता चलता है), इस पद्धति को उस समय कहा जाता है जब अधिसूचना प्राप्त होती है, टैप किए जाने के बजाय।

तो समस्या यह है, यदि ऐप लॉन्च किया गया है और फिर बैकग्राउंड किया गया है, और आपको पता है कि एक नोटिफिकेशन प्राप्त हुआ है application:didReceiveNotification( application:didFinishLaunchWithOptions:इस बिंदु पर ट्रिगर नहीं हो सकता), तो आपको कैसे पता चलेगा कि उपयोगकर्ता ने नोटिफिकेशन टैप करके या केवल टैप करके ऐप को फिर से शुरू किया है या नहीं ऐप आइकन? क्योंकि यदि उपयोगकर्ता ने अधिसूचना को टैप किया है, तो अपेक्षा उस अधिसूचना में वर्णित पृष्ठ को खोलने की है। अन्यथा ऐसा नहीं होना चाहिए।

मैं handleActionWithIdentifierकस्टम एक्शन नोटिफिकेशन के लिए इस्तेमाल कर सकता हूं , लेकिन यह तभी ट्रिगर होता है जब कस्टम एक्शन बटन टैप किया जाता है, न कि तब जब यूजर नोटिफिकेशन के मुख्य बॉडी पर टैप करता है।

धन्यवाद।

संपादित करें:

नीचे एक उत्तर पढ़ने के बाद, मैंने सोचा कि इस तरह से मैं अपने प्रश्न को स्पष्ट कर सकता हूं:

हम इन 2 परिदृश्यों को कैसे अलग कर सकते हैं:

(ए) 1.app पृष्ठभूमि में जाता है; 2. सूचना प्राप्त; 3. अधिसूचना पर उपयोगकर्ता नल; 4. एप्लिकेशन अग्रभूमि में प्रवेश करती है

(बी) 1.app पृष्ठभूमि में जाता है; 2. सूचना प्राप्त; 3. उपयोगकर्ता अधिसूचना को अनदेखा करता है और बाद में ऐप आइकन पर टैप करता है; 4. एप्लिकेशन अग्रभूमि में प्रवेश करती है

चूंकि application:didReceiveRemoteNotification:चरण 2 में दोनों मामलों में ट्रिगर किया गया है।

या, application:didReceiveRemoteNotification:केवल (ए) के लिए चरण 3 में ट्रिगर किया जाना चाहिए , लेकिन मैंने किसी तरह अपने ऐप को गलत तरीके से कॉन्फ़िगर किया है इसलिए मैं इसे चरण 2 पर देख रहा हूं?


अपने पेलोड के लिए एक कस्टम शब्दकोश मूल्य का उपयोग करें और तदनुसार कार्य करें। बहुत साधारण।
सोलह

पेलोड में एक शब्दकोश @soulshined प्रतिनिधित्व कर सकता है कि क्या उपयोगकर्ता ने अधिसूचना पर टैप किया है, है ना? उदाहरण के लिए, आपके मित्र ने एक लेख बी पोस्ट किया है, आप पेलोड में {उपयोगकर्ता: ए, लेख: बी} कह सकते हैं, जबकि ऐप पृष्ठभूमि में है और आपको doReceiveRemoteNotification मिलता है। जब आप ऐप को फिर से शुरू करते हैं, तो आपको कैसे पता चलेगा कि आपको लेख दिखाना चाहिए?
बाओ लेई

2
@soulshined मैंने दस्तावेज़ीकरण पढ़ा और मैंने खुद को शिक्षित किया कि क्या किया था ।ReceiveRemoteNotification क्या करता है। क्या आपने वास्तव में मेरा प्रश्न पढ़ा है? प्रति Apple के आधिकारिक दस्तावेज doReceiveRemoteNotification "प्रतिनिधि को बताता है कि रनिंग ऐप को एक दूरस्थ सूचना मिली"। मैं यह पूछ रहा हूं कि यदि उपयोगकर्ता किसी अधिसूचना पर टैप करता है, तो यह बताने का एक अच्छा तरीका क्या है। आपके द्वारा संदर्भित SO लिंक उस समय के लिए है जब ऐप नए सिरे से लॉन्च हो रहा है, मैं परिदृश्य से पूछ रहा हूं कि ऐप पृष्ठभूमि में कब है।
बाओ लेई


1
@soulshined ठीक है शायद मैं यह स्पष्ट नहीं कर पाया। मेरा मतलब है कि अगर ऐप को पूरी तरह से क्विट किया गया है, तो बैकग्राउंड में नहीं, हां डिफाइनल लंचिंग कहा जाएगा। लेकिन अगर आप अपना ऐप लॉन्च करते हैं, और फिर ऐप को बैकग्राउंड करते हैं, और अब एक नोटिफिकेशन आता है, और यूज़र नोटिफिकेशन पर टैप करता है, और अब फिर से किया गया फ़ाइनलशिलेशन दोबारा नहीं कहा जाएगा। इसके बजाय applicationWillEnterForeground और applicationDidBecomeActive कहा जाएगा। आप कैसे बता सकते हैं कि ऐप अग्रभूमि में प्रवेश कर रहा है क्योंकि उपयोगकर्ता ने अधिसूचना या ऐप आइकन पर टैप किया है?
बाओ लेई

जवाबों:


102

ठीक है मैं अंत में समझ गया।

लक्ष्य सेटिंग में tab क्षमताएं टैब target पृष्ठभूमि मोड, यदि आप "दूरस्थ सूचना" की जांच करते हैं, तो application:didReceiveRemoteNotification:अधिसूचना आते ही ट्रिगर हो जाएगा (जब तक ऐप पृष्ठभूमि में है), और उस स्थिति में यह बताने का कोई तरीका नहीं है कि क्या है उपयोगकर्ता अधिसूचना पर टैप करेगा।

यदि आप उस बॉक्स को अनचेक करते हैं, application:didReceiveRemoteNotification:तो अधिसूचना पर टैप करने पर ही ट्रिगर किया जाएगा।

यह थोड़ा अजीब है कि इस बॉक्स को चेक करने से यह बदल जाएगा कि ऐप के प्रतिनिधि तरीकों में से एक कैसे व्यवहार करता है। यह अच्छा होगा यदि उस बॉक्स की जाँच की जाती है, तो Apple अधिसूचना प्राप्त करने और अधिसूचना टैप के लिए दो अलग प्रतिनिधि विधियों का उपयोग करता है। मुझे लगता है कि ज्यादातर डेवलपर्स हमेशा यह जानना चाहते हैं कि क्या कोई अधिसूचना चालू है या नहीं।

उम्मीद है कि यह इस मुद्दे पर चलने वाले किसी अन्य व्यक्ति के लिए मददगार होगा। Apple ने भी इसे स्पष्ट रूप से यहाँ दस्तावेज़ नहीं किया था इसलिए मुझे यह पता लगाने में थोड़ा समय लगा।

यहां छवि विवरण दर्ज करें


6
मेरे पास बैकग्राउंड मोड्स पूरी तरह से "ऑफ़" करने के लिए सेट है, लेकिन बैकग्राउंड मोड में ऐप के साथ कोई सूचना आने पर उसे नोटिफाई किया जाता है।
गॉटफ्राइड ने

5
महान! इससे मुझे मदद मिली। यह एक दया है कि मुझे दूरस्थ सूचनाओं को बंद करने की आवश्यकता है। जब एक पुश सूचना आती है और उपयोगकर्ता टैप का पता लगाता है, तो मैं डेटा को प्रीफ़ैच करना चाहूंगा। मुझे इसे हासिल करने का कोई रास्ता नहीं मिल रहा है।
पीटर फेनिमा

1
मैंने पृष्ठभूमि मोड को "चालू" मोड पर सेट किया और दूरस्थ सूचनाओं को सक्षम किया। फिर भी अधिसूचना घटना का पता लगाने में सक्षम नहीं है।
कलीम सय्यद

1
मेरे पास एक ही समस्या है पृष्ठभूमि मोड "चालू" पर सेट है और दूरस्थ अधिसूचना को सक्षम किया गया है, लेकिन पृष्ठभूमि मोड में एप्लिकेशन के लिए सूचना आने पर अभी भी अधिसूचित नहीं हुआ है
स्वप्निल धोत्रे

@ बाओ - मुझे लगता है कि यह ऐपस्टोर पर अस्वीकृति का कारण होगा, क्योंकि यह विकल्प मूल रूप से पृष्ठभूमि में अधिसूचना से संबंधित सामग्री डाउनलोड करने के लिए उपयोग किया जाता है। इसलिए यदि आप कोई सामग्री डाउनलोड नहीं कर रहे हैं तो Apple आपके ऐप को अस्वीकार कर सकता है। डेवलपर.
apple.com/library/ios/documentation/iPhone/Conceptual/…

69

मैं आप के रूप में एक ही चीज की तलाश में हूं और वास्तव में एक ऐसा समाधान पाया गया है जिसमें रिमोट नोटिफिकेशन की आवश्यकता नहीं है।

यह जांचने के लिए कि उपयोगकर्ता ने टैप किया है, या ऐप पृष्ठभूमि में है या सक्रिय है, आपको बस एप्लिकेशन स्थिति को चेक करना होगा

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{

    if(application.applicationState == UIApplicationStateActive) {

        //app is currently active, can update badges count here

    }else if(application.applicationState == UIApplicationStateBackground){

        //app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here

    }else if(application.applicationState == UIApplicationStateInactive){

        //app is transitioning from background to foreground (user taps notification), do what you need when user taps here

    }

अधिक जानकारी के लिए जाँच करें:

UIKit फ्रेमवर्क संदर्भ> UIApplication Class Reference> UIApplicationState


10
एप्लिकेशन स्क्रीन पर होने के दौरान अधिसूचना केंद्र (ऊपर से स्वाइप) या नियंत्रण केंद्र (नीचे से स्वाइप) के साथ संलग्न उपयोगकर्ता के परिणामस्वरूप UIApplicationStateInactive होने वाले ऐप के बारे में। जाहिरा तौर पर, यह बताने का कोई तरीका नहीं है कि क्या APNS को निष्क्रिय अवस्था में प्राप्त किया गया था या उपयोगकर्ता ने वास्तव में इसे टैप किया था।
कोस्तिया किम

1
@KostiaKim आप सही कह रहे हैं, लेकिन यह एक सुपर एज केस है ... इसके अलावा, यह जवाब अग्रभूमि में ऐप के बीच अलग होने के मामले में सबसे वैध है ... उपयोगकर्ता टैपिंग ... पृष्ठभूमि में ऐप
हनी

धन्यवाद, इस तरह से सब कुछ ध्वस्त हो जाता है। याद रखें कि एप्लिकेशन को पृष्ठभूमि में होने पर प्रतिनिधि पद्धति को कॉल करने के लिए, पुश नोटिफिकेशन में content-availableकुंजी को शामिल करना होगा, लेकिन तब अधिसूचना को चुप होना चाहिए (अर्थात ध्वनि या बैज शामिल नहीं करना चाहिए) जैसा कि आधिकारिक डॉक्स में बताया गया है।
निक्क

1
@ KostiaKim मैं वास्तव में नियंत्रण केंद्र खुला था या नहीं, यह जानने के लिए कि उपयोगकर्ता वास्तव में एक बूलियन को जोड़कर अधिसूचना को टैप करता है या नहीं func applicationDidEnterBackground(_ application: UIApplication)और यह गलत है कि func applicationDidBecomeActive(_ application: UIApplication)मुझे ऐप में दिखाने की अनुमति दी गई है, इस मुद्दे को ठीक करने में सक्षम है कंट्रोल सेंटर या नोटिफिकेशन लिस्ट के कारण ऐप निष्क्रिय होने पर सूचनाएँ
DatForis

3
यह मेरे दिमाग को चकित करता है कि Apple ने एक अलग घटना क्यों नहीं पेश की या केवल यह इंगित करने के लिए मेटाडेटा में एक ध्वज जोड़ें कि उपयोगकर्ता वास्तव में अधिसूचना के साथ इंटरैक्ट करता था। 'कटौती' करने के बाद, क्या उपयोगकर्ता ने एप्लिकेशन स्थिति के बारे में परिवेशी जानकारी के आधार पर कोई कार्रवाई की है, जो जानकारी के प्रमुख व्यवहार के लिए उपयोगकर्ता के आवेदन की अपेक्षा को प्रभावित करता है। शायद केवल एक चीज यह है कि उस जानकारी के साथ ऐप खोलने के लिए एक कस्टम एक्शन बनाया जाए?
एलन निएनहुइस

20

IOS / XCode के अनुसार : कैसे पता चलेगा कि ऐप को नोटिफिकेशन पर क्लिक करके या स्प्रिंगबोर्ड ऐप आइकन पर लॉन्च किया गया है? आपको इस तरह सेReiveiveLocalNotification में एप्लिकेशन स्थिति की जांच करनी होगी:

if ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive)
{
    // user has tapped notification
}
else
{
    // user opened app from app icon
}

हालांकि यह मेरे लिए पूरी तरह से समझ में नहीं आता है, यह काम करने लगता है।


1
यह इस परिदृश्य में काम नहीं करेगा। मैंने पहले भी कोशिश की थी। जब वह चेकबॉक्स चेक किया गया था (विवरण के लिए मेरा स्वीकृत उत्तर देखें), जब अधिसूचना आती है, तो टिप्पणी के साथ आपकी लाइन "// उपयोगकर्ता ने टैप की गई अधिसूचना" दर्ज की जाएगी, भले ही उपयोगकर्ता ने अधिसूचना को टैप नहीं किया (अधिसूचना अभी आई )।
बाओ लेई

3
मैं असहमत हूं। मेरे पास मेरी पृष्ठभूमि क्षमताओं में "रिमोट नोटिफिकेशन" है और यह मेरे उत्तर में वर्णित तरीके से काम करता है। मैं "पृष्ठभूमि लाने" के रूप में अच्छी तरह से जाँच की है। हो सकता है कि परिवर्तन का कारण बनता है?
वर्नर क्रैचोविल

क्या आप कृपया मेरे उत्तर को +1 कर सकते हैं? ;-) मुझे अभी भी स्टैकओवरफ्लो में अधिक भाग लेने के लिए कुछ वोटों की आवश्यकता है। बहुत बहुत धन्यवाद
Werner Kratochwil

यूपी, यह समाधान है। tnx।
अफशीन

ध्यान दें कि यह एक गलत सकारात्मक होगा यदि उपयोगकर्ता को एक अलग स्क्रीन पर है, जबकि अधिसूचना भेजी जाती है (उदाहरण के लिए, यदि वे स्टेटस बार को नीचे खींचते हैं और फिर आपके ऐप से एक अधिसूचना प्राप्त करते हैं)।
केविन कूपर

16

अगर कोई इसे स्विफ्ट 3.0 में चाहता है

switch application.applicationState {
    case .active:
        //app is currently active, can update badges count here
        break
    case .inactive:
        //app is transitioning from background to foreground (user taps notification), do what you need when user taps here
        break
    case .background:
        //app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here
        break
    default:
        break
    }

तेजी से 4 के लिए

switch UIApplication.shared.applicationState {
case .active:
    //app is currently active, can update badges count here
    break
case .inactive:
    //app is transitioning from background to foreground (user taps notification), do what you need when user taps here
    break
case .background:
    //app is in background, if content-available key of your notification is set to 1, poll to your backend to retrieve data and update your interface here
    break
default:
    break
}

किस कोड पर हमें यह कोड जोड़ना चाहिए, didReceiveRemoteNotification या didFinishLaunchingWebOptions?
दशरथ

2
OnReceiveRemoteNotification
हामिद शाहसवारी

@ हामिद श ,,,, मुझे सभी राज्य में पुश नोटिफिकेशन मिला है, जब ऐप अंडरग्राउंड, बैकग्राउंड, क्लोज्ड (समाप्त) है ..! लेकिन मेरी समस्या यह है कि जब एप बैकग्राउंड स्टेट में होता है और क्लोज (समाप्त) स्टेट होता है तो बैज काउंट कैसे बढ़ाया जाता है ???? कृपया मुझे विवरण में बताएं कि मैं यह कैसे करता हूं ....? जब एप फोरग्राउंड अवस्था में हो तो मेरा ऐप बैज काउंट बढ़ जाता है .....? यदि संभव हो तो कृपया मुझे संक्षेप में बताएं .......!
किरण जाधव

8

अगर आपके पास "बैकग्राउंड मोड्स"> "रिमोट नोटिफिकेशन" चेक किया गया == हाँ, अधिसूचना इवेंट पर टैप करें:

-(void)userNotificationCenter:(UNUserNotificationCenter *)center **didReceiveNotificationResponse**:(UNNotificationResponse *)response withCompletionHandler:(void(^)())completionHandler.

इसने मेरी मदद की। कृपया मजा करो :)


मैंने देखा कि Apple ने इसे जोड़ा लेकिन यह पता नहीं लगा सका कि इस तरह से नोटिफिकेशन के कस्टम पेलोड को कैसे प्राप्त किया जा सकता है।
sudo

यह फ़ंक्शन तब कहा जाता है जब ऐप एक पृष्ठभूमि स्थिति में होता है और सक्रिय हो जाता है और यह भी जब ऐप मारे गए राज्य से शुरू होता है
निखिल मुसकुर

@ निखिलमुस्कुर केवल अगर "दूरस्थ सूचनाएं" सक्षम हैं तो?
ज़ोरायार

@ जोरावर युप सही है
निखिल मुसकुर

8

मैं भी इस समस्या में भाग गया, लेकिन नए के साथ iOS 11 पर UserNotifications फ्रेमवर्क के ।

यहाँ मेरे लिए यह इस तरह है:

  • नया लॉन्च: application:didFinishLaunchingWithOptions:
  • समाप्त राज्य से प्राप्त: application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
  • फोरग्राउंड में प्राप्त: userNotificationCenter(_:willPresent:withCompletionHandler:)
  • पृष्ठभूमि में प्राप्त: userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:

यह इसे iOS 11 +
OhadM

यह सिर्फ इतना जटिल है
Zorayr

4

मेरे मामले में, बैकग्राउंड मोड ऑफ को कोई फर्क नहीं पड़ा। हालाँकि जब एप्लिकेशन को निलंबित कर दिया गया था और उपयोगकर्ता ने अधिसूचना को टैप किया था, तो मैं इस कॉलबैक विधि में मामले को संभाल सकता था:

func userNotificationCenter(_ center: UNUserNotificationCenter,
                            didReceive response: UNNotificationResponse,
                            withCompletionHandler completionHandler: @escaping () -> Void) {

}

यह आधिकारिक तरीका है जो Apple कहता है। ऐप्पल के डॉक के अनुसार, जब भी उपयोगकर्ता पुश अधिसूचना यूआई के साथ बातचीत करेगा, इसे कहा जाएगा। अगर ऐप बैकग्राउंड में नहीं है, तो यह ऐप को बैकग्राउंड मोड में लॉन्च करेगा और इस तरीके को कॉल करेगा।
रेयान

3

IOS 10 और इसके बाद के संस्करण के लिए इसे AppDelegate में रखें, ताकि पता चल सके कि अधिसूचना टैप की गई है (काम भी ऐप बंद या खुला है)

func userNotificationCenter(_ center: UNUserNotificationCenter,
                                didReceive response: UNNotificationResponse,
                                withCompletionHandler completionHandler: @escaping () -> Void) {
print("notification tapped here")
}

1
यह iOS 10+ के लिए सही उत्तर है। पूर्ण विवरण यहां एक और सूत्र पर दिया गया है: stackoverflow.com/a/41783666/1761357
dead_can_dance

2

PushNotificationManagerकक्षा के अंदर पुशनोटिफिकेशन प्राप्त करने के लिए दो फ़न हैं :

class PushNotificationManager: NSObject, MessagingDelegate, UNUserNotificationCenterDelegate{

}

जैसे ही मैंने अधिसूचना के आते ही ट्रिगर पर पहला परीक्षण किया

@available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {

    completionHandler(UNNotificationPresentationOptions.alert)

    //OnReceive Notification
    let userInfo = notification.request.content.userInfo
    for key in userInfo.keys {
         Constants.setPrint("\(key): \(userInfo[key])")
    }

    completionHandler([])

}

और दूसरा जब अधिसूचना पर टैप किया गया:

@available(iOS 10.0, *)
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {

    //OnTap Notification
    let userInfo = response.notification.request.content.userInfo
    for key in userInfo.keys {
        Constants.setPrint("\(key): \(userInfo[key])")
    }

    completionHandler()
}

मैंने इसे रिमोट नोटिफिकेशन (बैकग्राउंड मोड्स) के ON और OFF दोनों स्टेट्स के साथ टेस्ट किया।


1

स्विफ्ट 5.1

UIApplication.State मेरे लिए काम नहीं किया, क्योंकि एक बार जब मैंने अपने ऐप में फ़िंगरप्रिंट (मोडल दिखाया गया है) पढ़ा, तो अधिसूचना भी ऊपरी पट्टी में फेंक दी गई और उपयोगकर्ता को इसे क्लिक करना होगा।

मैंने बनाया है

public static var isNotificationFromApp: Bool = false

में, AppDelegateऔर मैंने इसे trueअपनी शुरुआत में viewControllerऔर फिर अपनी अधिसूचना में सेट किया storyboard/ viewControllerमैंने अभी जाँच की :)

उम्मीद है कि यह काम आ सकता है


-7

application:didReceiveRemoteNotification:fetchCompletionHandler:जब ऐप बैकग्राउंड में हो, तो आप अपने प्रतिनिधि के पेलोड को ऐप डेलिगेट के तरीके से कॉल करने के लिए कॉन्फ़िगर कर सकते हैं । आप यहां कुछ ध्वज सेट कर सकते हैं ताकि जब उपयोगकर्ता अगली बार आपका एप्लिकेशन लॉन्च करे, तो आप अपना ऑपरेशन कर सकें।

ऐप्पल के प्रलेखन से आपको पुश अधिसूचना के साथ जुड़े नई सामग्री को डाउनलोड करने के लिए इस तरीके का उपयोग करना चाहिए। इसके अलावा काम करने के लिए, आपको बैकग्राउंड मोड्स से रिमोट नोटिफिकेशन को इनेबल करना होगा और आपके पुश नोटिफिकेशन पेलोड में content-availableइसकी वैल्यू सेट की कुंजी होनी चाहिए । 1. अधिक जानकारी के लिए कृपया ऐप्पल डॉक से डाउनलोड सेक्शन डाउनलोड करने के लिए पुश नोटिफिकेशन का उपयोग करें

दूसरा तरीका पुश नोटिफिकेशन पेलोड में बैज काउंट होना है। इसलिए अगली बार जब आपका एप्लिकेशन लॉन्च होगा तो आप एप्लिकेशन बैज काउंट की जांच कर सकते हैं। यदि इसका ग्रेटर जीरो से अधिक है, तो अपना ऑपरेशन करें और सर्वर से भी जीरो / क्लियर बैज काउंट करें।

आशा है कि यह आपकी मदद करता है।


@bhusan क्या आपने मेरे प्रश्न का विवरण पढ़ा है? मैं देख रहा था जब अधिसूचना सिर्फ आती है (उस पर उपयोगकर्ता टैप करने से पहले) didReceiveRemoteNotification हो रही है। मैं यह पता लगाना चाहता था कि उपयोगकर्ता ने इस पर टैप किया या नहीं।
बाओ लेई

आपने ओपी के सवाल का जवाब नहीं दिया। वह केवल यह जानना नहीं चाहता है कि कोई सूचना दी गई है। वह जानना चाहता है कि क्या उपयोगकर्ता ने उस दूरस्थ सूचना को टैप करके ऐप खोला है।
जो सी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.