कुछ हद तक When is didRegisterForRemoteNotificationsWithDeviceToken called? के समान।didRegisterForRemoteNotificationsWithDeviceToken दो बार बुलाया?
उपयोगकर्ता पहले एप्लिकेशन इंस्टॉल और यह अधिसूचना स्वीकार करने के लिए, यदि उपयोगकर्ता उसे स्वीकार कर लेगा कहा जा didRegisterForRemoteNotificationsWithDeviceToken
करेंगे कि क्या संकेत देता है जब?
उपयोगकर्ता वर्तमान में साइन इन या खाता बनाता है के बाद मैं registerForRemoteNotificationTypes
पर कॉल कर रहा हूं।
बाद में लॉन्च होने पर, didRegisterForRemoteNotificationsWithDeviceToken
प्रतिनिधि को एपडिलेगेट में registerForRemoteNotificationTypes
पर कॉल किए बिना भी कॉल किया जाता है।
अगर मैं डॉक्स और उदाहरण कोड का पालन करें:
डिवाइस टोकन का अनुरोध करने और प्रदाता के लिए यह हर बार गुजर आपके आवेदन की शुरूआत करके, आप प्रदाता डिवाइस के लिए वर्तमान टोकन है कि सुनिश्चित करने के लिए मदद ।
- (void)applicationDidFinishLaunching:(UIApplication *)app {
// other setup tasks here....
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:...
}
लेकिन जब एप्लिकेशन लॉन्च होने, प्रतिनिधि दो बार बुलाया जाएगा टोकन अनुरोध करना होगा।
सवाल और स्पष्टता के एक जोड़े की जरूरत:
प्रारंभिक शीघ्र होने के लिए, शीघ्र प्रकट करने के लिए के लिए
registerForRemoteNotificationTypes
के लिए एक कॉल किया जाना चाहिए? लेकिन, अगर मैं इसे मैन्युअल रूप से ऐपडिलेगेट में कॉल करता हूं तो प्रतिनिधि को दो बार बुलाया जाएगा। क्या ऐसा लगता है कि इस तरह से?यदि उपयोगकर्ता प्रारंभिक संकेत स्वीकार करता है, तो
didRegisterForRemoteNotificationsWithDeviceToken
स्वचालित रूप से कॉल किया जाएगा? या क्या हमें AppDelegate मेंregisterForRemoteNotificationTypes
का आह्वान करना चाहिए? लेकिन फिर भविष्य में लॉन्च के लिए प्रतिनिधि को दो बार बुलाया जाएगा?यदि उपयोगकर्ता इनकार करते हैं और बाद में इसे सेटिंग के माध्यम से स्वीकार करते हैं, तो क्या होता है?
अद्यतन
0. प्रारंभिक शीघ्र होने के लिए, शीघ्र प्रकट करने के लिए के लिए registerForRemoteNotificationTypes
के लिए एक कॉल किया जाना चाहिए? लेकिन, अगर मैं इसे मैन्युअल रूप से ऐपडिलेगेट में कॉल करता हूं तो प्रतिनिधि को दो बार बुलाया जाएगा। क्या ऐसा लगता है कि इस तरह से?यह सच नहीं है। पता चला कि वास्तव में 2 registerForRemoteNotiicationTypes
AppDelegate में किए जा रहे थे।
ठीक है। इसे केवल तभी बुलाया जाएगा जब उपयोगकर्ता शीघ्र और सफल पंजीकरण स्वीकार करता है? अन्यथा विफलता विधि कहा जाएगा? यदि उपयोगकर्ता प्रॉम्प्ट को अस्वीकार करता है तो क्या होता है, क्या त्रुटि विधि को बुलाया जाएगा? –
यदि उपयोगकर्ता प्रॉम्प्ट को अस्वीकार करता है, तो उसने एपीएनएस पंजीकरण प्रक्रिया शुरू नहीं की है और त्रुटि विधि कभी नहीं बुलाई जाएगी। didFailToRegisterForRemoteNotificationsWithError विधि केवल पंजीकरण विफलता पर ही बुलाया जाता है। – thatzprem