2012-06-15 16 views
5

मुझे पुश अधिसूचनाओं के साथ कुछ समस्याएं हैं। मैं उन्हें अपने पंजीकृत उपकरणों पर अच्छी तरह से भेज सकता हूं। सब ठीक काम करता है।आईओएस पुश अधिसूचना संदेश - दृश्य बटन पर क्लिक करने के बाद कार्रवाई

मेरा प्रश्न है: दृश्य बटन पर क्लिक करने के बाद, ऐप लॉन्च हो रहा है। इस समय बिना किसी सामग्री के।

मैं यहां सामग्री कैसे जोड़ सकता हूं? इस सामग्री को मैंने भेजे गए पुश अधिसूचना पर निर्भर होना चाहिए।

उदाहरण के लिए: मेरे पुश अधिसूचना के बारे में समाचार संख्या 1 है - तो देखें क्लिक करने के बाद मैं के बारे में समाचार संख्या अधिक जानकारियां मिलना चाहिए 1

और इतने पर ...

भी यह करने के लिए संभव हो जाना चाहिए समाचार सूची 1 से वापस आने पर, ऐप में सभी पिछले प्राप्त समाचारों को पढ़ें।

आप समझते हैं, मेरा क्या मतलब है?

मेरे पास कोई वास्तविक विचार नहीं है ... अगर आप मुझे उदाहरण के बारे में कोड दिखा सकते हैं तो अच्छा होगा।

धन्यवाद।

+0

[पुश अधिसूचना - देखें बटन कार्रवाई] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/11015652/push-notification-view-button-action) – rckoenes

+0

कृपया इसके लिए मेरा स्टैक ओवरफ्लो पोस्ट देखें: http://stackoverflow.com/questions/6475043/for-push-notifications-how-do-i-add-action-to-alert-view-to-change-views/17566879#17566879 – Sandy

उत्तर

1

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

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

+0

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

+0

में कैसे कार्यान्वित किया जाए, क्या आपने खुद को शब्दकोश देखने की कोशिश की है? यह वास्तव में सीधा है। और मैं आपको कोई विशिष्ट जानकारी नहीं दे सकता क्योंकि मुझे अधिसूचना की सामग्री या आपके ऐप की संरचना के बारे में कुछ नहीं पता है। –

+0

हैलो, मैंने NSDictionary पर एक नज़र डाली थी। निम्नलिखित मैं करना चाहता हूं: कुछ जानकारी के साथ मैंने पुश अधिसूचना भेजी। उसी पृष्ठ पर मैं एक और संदेश भी भरता हूं (सभी inforamtions, कुछ छवियों, आदि के साथ)। मेरे आईफोन पर पुश अधिसूचना प्राप्त करने के बाद मैं दृश्य बटन पर क्लिक करता हूं और सभी सूचनाओं के साथ संदेश पढ़ सकता हूं। अब आप मेरा क्या मतलब है? एक वेबसाइट (एचटीएमएल) पर मैं एक ही समय में 2 संदेश बनाते हैं। एक संदेश वास्तविक पुश है, दूसरा संदेश है, जिस तरह से मैंने दृश्य बटन पर क्लिक करने के बाद पढ़ा है। – emitremmus

9

बस निम्नलिखित कोड को लागू करने और आप आगे बढ़ने के हैं:

// will be called if the app was not active 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [self applicationDidFinishLaunching:application]; 

    if (launchOptions != nil) 
    { 
     NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; 
     if (dictionary != nil) 
     { 
      // get the necessary information out of the dictionary 
      // (the data you sent with your push message) 
      // and load your data 
     } 
    } 
    return YES; 
} 

// will be called when in foreground 
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {  
    // get the necessary information out of the dictionary 
    // (the data you sent with your push message) 
    // and load your data 
    } 

आप APNS यहाँ पर एक प्रसिद्ध ट्यूटोरियल पा सकते हैं: http://www.raywenderlich.com/3525/apple-push-notification-services-tutorial-part-2

+0

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

+0

में कैसे कार्यान्वित किया जाए, बस आपको प्राप्त होने वाले 'NSDictionary' पर एक नज़र डालें (कौन यह पुश संदेश भेज रहा है? नहीं?) – tilo

+0

मैं पुश भेज रहा हूं। हैलो, मैंने NSDictionary पर एक नज़र डाली थी। निम्नलिखित मैं करना चाहता हूं: कुछ जानकारी के साथ मैंने पुश अधिसूचना भेजी। उसी पृष्ठ पर मैं एक और संदेश भी भरता हूं (सभी inforamtions, कुछ छवियों, आदि के साथ)। मेरे आईफोन पर पुश अधिसूचना प्राप्त करने के बाद मैं दृश्य बटन पर क्लिक करता हूं और सभी सूचनाओं के साथ संदेश पढ़ सकता हूं। अब आप मेरा क्या मतलब है? एक वेबसाइट (एचटीएमएल) पर मैं एक ही समय में 2 संदेश बनाते हैं। एक संदेश वास्तविक पुश है, दूसरा संदेश है, जिस तरह से मैंने दृश्य बटन पर क्लिक करने के बाद पढ़ा है। – emitremmus

0

वहाँ अधिसूचना के UUID पैदा करने में त्रुटि है। __bridge का उपयोग करने के बजाय, आपको __bridge_transfer या CFBridgingRelease का उपयोग करना होगा; अन्यथा CFStringRef कभी जारी नहीं किया जाएगा।