मैं अपने अनुप्रयोग में इस कोड का उपयोग क्योंकि शहरी हवाई पोत (UA) प्रलेखन
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
[[UAPush shared] resetBadge];
से कहा, लेकिन यह काम नहीं करता है, एप्लिकेशन आइकन पर बिल्ला incrementing रखता है। मैंने यूए के मंचों पर इस मुद्दे पर कुछ पोस्ट देखी और उन्होंने स्पष्ट जवाब नहीं दिया है।
संपादित करें # 1:
मैं निम्नलिखित सुझाव है, जो महान काम किया साथ यूए पर एक समर्थन तकनीशियन से निम्नलिखित प्रतिक्रिया मिली:
आप क्या करना चाहते हैं, तो सुनिश्चित करें कि आपके में है didFinishLaunchingWithOptions: (NSDictionary *) launchOptions विधि, आप बुला रहे हैं निम्नलिखित:
[[UAPush shared] setAutobadgeEnabled:YES];
[[UAPush shared] resetBadge];//zero badge on startup
और भी फोन [[यूएपश साझा] रीसेटबेज]; निम्न विधियों के साथ-साथ में:
applicationDidBecomeActive:(UIApplication *)application
और
didReceiveRemoteNotification:(NSDictionary *)userInfo
तकनीशियन यह भी कहा कि बताए 0 applicationIconBadgeNumber के लिए आवश्यक नहीं है, इसलिए मैं इसे बाहर ले लिया। अभी भी खूबसूरती से काम करता है।
संपादित करें # 2: didReceiveRemoteNotification: applicationState: विधि: को यूए के handleNotification करें ताकि
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
// Get application state for iOS4.x+ devices, otherwise assume active
UIApplicationState appState = UIApplicationStateActive;
if ([application respondsToSelector:@selector(applicationState)])
{
appState = application.applicationState;
}
[[UAPush shared] handleNotification:userInfo applicationState:appState];
[[UAPush shared] resetBadge];
}
क्योंकि मैं था
मैं आवेदन को संशोधित करने के लिए समाप्त हो गया निम्नलिखित परिदृश्य में समस्या है:
,210
- उपयोगकर्ता एप्लिकेशन
- पुश सूचना प्राप्त हुई है
- कोई बिल्ला जब घर स्क्रीन पर वापस (उम्मीद के रूप में)
- एक और धक्का सूचना प्राप्त होने पर एप्लिकेशन आइकन पर प्रदर्शित किया गया था
- बिल्ला नंबर अधिक से अधिक दिखाया गया है 1
से है
उपर्युक्त संशोधन के साथ, इस परिदृश्य को संभाला जाता है। मुझे लगता है कि आपको UA को बताना होगा कि अधिसूचना संभाली जाती है जब कोई प्राप्त होता है और ऐप अग्रभूमि में चल रहा है।
आप बैज नंबर को स्थानीय रूप से साफ़ कर रहे हैं। आपको शहरी एयरशिप सर्वर से इसे साफ़ करने की भी आवश्यकता है। मुझे शहरी एयरशिप नहीं पता है। लेकिन मुझे यकीन है कि सर्वर पर अधिसूचना बैज को रीसेट करने के लिए एक एपीआई है। – EmptyStack
मैं अपने एपीआई में वृद्धि के लिए बैज नंबर +1 भेज रहा हूं। –