2010-06-29 12 views
38

का उपयोग कर आईफोन पुश अधिसूचना जोड़ें यहां पर अवलोकन है।ASP.NET सर्वर

मुझे एक आईफोन ऐप में पुश अधिसूचना जोड़ने की जरूरत है। सी # में सर्वर पक्ष ASP.NET है।

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

  1. APNS प्रमाणपत्र के लिए आवेदन करें और कीचेन पर जोड़ें:

    यहाँ मेरी समझ है। (यह सुनिश्चित नहीं है कि इसे ASP.NET पर कैसे लाया जाए)

  2. क्या iPhones रजिस्टर के साथ पंजीकरण करें ForRemoteNotificationWithTypes, अपने सर्वर को मान भेजें, और डीबी में स्टोर करें। ऐसा लगता है कि रजिस्टर करने के लिए इस कोड को आसान होना चाहिए लेकिन मुझे अच्छा नमूना नहीं मिल रहा है। (ASP.NET सर्वर को मान भेजने में कोई समस्या नहीं है।)
  3. आपका सर्वर ऐप एक पेलोड स्ट्रिंग बनाता है, जेएसओएन एन्कोडिंग करता है, प्रत्येक डिवाइस के लिए एपीएनएस सर्वर भेजता है (या यह समूहों के लिए हो सकता है) अपने डिवाइस का उपयोग करके iPhones के लिए टोकन जो डीबी में सहेजा गया था।

तो इसके अलावा विकसित करने के लिए, यहाँ पीस हैं:

  • iPhone पंजीकरण कोड

  • कोड सर्वर से iPhone पंजीकरण कोड भेजता है और डीबी (करने के लिए बचाता है कि इस आसान है और मेरे पास पहले से ही ये टुकड़े हैं)।

  • सी # में सर्वर पक्ष एपीएनएस संपर्क कोड। इसमें ऐप्पल डेवलपर वेबसाइट पर जेनरेट किए गए प्रमाणपत्र का उपयोग करने का तरीका भी शामिल है।

  • साथ ही, क्या पेलोड एक बहु विकल्प प्रश्न हो सकता है जिसका परिणाम सर्वर पर वापस भेजे गए परिणाम के साथ दिया जा सकता है?

सहायता के लिए अग्रिम धन्यवाद। मैं इसे दूसरों के लिए एक ट्यूटोरियल में बदल दूंगा।

+2

हाय @ रिकेलिनकर, क्या आप कभी भी आईफोन प्रोजेक्ट और एएसपी.नेट वेब ऐप के लिए जेनेरिक कोड बनाने में सक्षम थे, साथ ही चरण-दर-चरण निर्देश भी? अगर आप दूसरों के लिए इसे प्रदान कर सकते हैं तो अच्छा होगा। – Brabbeldas

उत्तर

10
सी # धक्का भाग के लिए

तो एक ओपन सोर्स प्रोजेक्ट है जो आप उपयोग कर सकते हैं, इसके आसान theres और कैसे आदेश धक्का सूचनाओं यहां भेजने के लिए पुस्तकालयों का उपयोग करने के लिए की कुछ नमूना कोड है एक लिंक C# push notification project

मूल रूप से सब है आपको करना होगा कि सेब से पुश प्रमाणपत्र प्राप्त करें, फिर इसे अपने प्रोजेक्ट में छोड़ दें और इसे सी # प्रोजेक्ट में खोलें (आप उदाहरण देख सकते हैं और यह कहां स्पष्ट होगा) ...

का आईफोन हिस्सा बहुत छोटा है और वहां कई उदाहरण हैं

+0

प्रोजेक्ट अब बहिष्कृत है। कोई अन्य सुझाव? – capdragon

+0

वही लेखक अब पुशशर्प पर काम कर रहा है - https://github.com/Redth/PushSharp/ –

18

यह मुझे हमेशा के लिए figu ले गया फिर से बाहर निकला लेकिन आखिर में मैंने इसे छोड़कर मामूली सुरागों से एक साथ पा लिया। आपको एपीआईआईडी के लिए प्रमाण पत्र डाउनलोड करने की आवश्यकता है जिसे आप डेवलपर पोर्टल पर पंजीकृत करते हैं। उस प्रमाणपत्र को विंडोज पर इस्तेमाल किए जाने वाले पी 12 प्रारूप में परिवर्तित किया जाना चाहिए। यूनिक्स में इन आदेशों अंत में मेरे लिए यह किया:

चरण 1:

openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem -outform PEM} 

कहाँ aps_developer_identity।प्रमाणपत्र फ़ाइल आप पोर्टल

चरण 2 से डाउनलोड है:

openssl pkcs12 -nocerts -out APSCertificates.pem -in APSCertificates.p12 

कहाँ APSCertificates.p12 आप मैक कीचेन से निर्यात एक फाइल है। यह महत्वपूर्ण है, आपको पोर्टल से प्रमाणपत्र को चाबी में आयात करना होगा। इसे मेरे प्रमाणपत्र में ढूंढें, प्रकटीकरण त्रिकोण खोलें और प्रमाण पत्र और निजी कुंजी दोनों को हाइलाइट करें, फिर राइट क्लिक करें और उन्हें निर्यात करें। उन्हें एक पासवर्ड दें और उन्हें एक पी 12 फ़ाइल में सहेजें।

चरण 3:

openssl pkcs12 -export -in aps_developer_identity.pem -out aps_developer_identity.p12 -inkey APSCertificates.pem 

आप कई बार पासवर्ड के लिए कीचेन में प्रमाणपत्र और निजी कुंजी निर्यात करने के लिए इस्तेमाल किया और पुन: कहा प्रेरित किया जाएगा यह सब नए पासवर्ड के लिए फिर से एन्क्रिप्ट है, लेकिन में अंत में आपके पास फ़ाइल aps_developer_identity.p12 होगी जिसे आपको विंडोज़ में स्थानांतरित करने की आवश्यकता है, फिर इसे एमएमसी में प्रमाणपत्र प्रबंधक के व्यक्तिगत और विश्वसनीय रूट खंडों में आयात करें। फिर सी # में जब आप MoonAPNS का उपयोग करते हैं और पुश नोटिफिकेशन क्लास को कॉल करते हैं तो आप इसे उस प्रमाणपत्र का मार्ग देते हैं। डिवाइस टोकन से रिक्त स्थान को हटाने के लिए भी सुनिश्चित करें।

+0

दिन में देर से बिट, मुझे पता है, लेकिन इसके लिए धन्यवाद। मुझे लाइन पर मदद मिली ... – Robert

3

मैं एक ऑनलाइन पुश समाधान की सिफारिश करूंगा। मैंने https://parse.com/products/push का उपयोग किया है - एक आरईएसटी एपीआई के साथ एकीकृत करने के लिए नि: शुल्क और आसान।

पुराना जवाब:
मैं PushSharp की सिफारिश करेंगे।

मुझे चंद्रमा-एपीएनएस के साथ कुछ समस्याएं थीं और मैंने पुशशर्प में बदलने की कोशिश की और यह 5 मिनट के भीतर काम किया। पुशशर्प एक ही पैकेज में एंड्रॉइड और विंडोज फोन पुश संदेशों का समर्थन भी करता है। और यह एक NuGet पैकेज के रूप में उपलब्ध है।

+0

पुशशर्प काम करने के लिए बेहद आसानी से है और सभी आईओएस हुप्स के माध्यम से कूदने के लिए एक चरण-दर-चरण ट्यूटोरियल है। – raider33

+1

और अजीब मुद्दों के टन के साथ आता है! :) – Mrchief

+0

हाँ, पुशशहर हर समय लटक रहा है – Toolkit

1

दुख की बात है कि पुशशर्प केवल .NET 4.0 है। लेखक के पास 3.5 की कोई योजना नहीं है। जो मेरे लिए एक आवश्यकता है, क्योंकि सर्वर प्रदाता केवल 3.5 की अनुमति देता है। तो मुझे चंद्रमा-एपीएनएस के साथ जाना पड़ा, मैंने अभी तक यह काम नहीं देखा है। लेकिन मैंने अभी इसे लागू किया है, और कल मेरे दोस्त इसका परीक्षण करेंगे। चंद्रमा-एपीएनएस .NET 4.0 भी है, लेकिन इसे 3.5 पर सेट करना आसान है। बस 3.5 में निर्भरता libs डाउनलोड करें और उन और व्हायोला शामिल हैं जिन्हें आप जाने के लिए अच्छे हैं।

संबंधित मुद्दे