2010-06-29 10 views
38

다음은 개요입니다.ASP.NET 서버를 사용하여 iPhone 푸시 알림 추가

iPhone 앱에 푸시 알림을 추가해야합니다. 서버 측은 C#의 ASP.NET입니다.

내가 원하는 것은 코칭을 통해 과정을 진행하는 것입니다. 그런 다음 다른 사람들이 배울 수 있도록 단계별 지침과 함께 iPhone 프로젝트 및 ASP.NET 웹 응용 프로그램 용 범용 코드를 게시 할 것입니다.

  1. 가 APNS 인증서 신청 및 키 체인에 추가 :

    여기 나의 이해이다. (이것을 ASP.NET으로 가져 오는 방법을 모르는 경우)

  2. iPhone에 registerForRemoteNotificationWithTypes를 등록하고 서버에 값을 보내고 DB에 저장하십시오. 이 코드를 쉽게 등록해야하지만 좋은 샘플을 찾을 수 없습니다. (ASP.NET 서버에 값을 전송할 때 아무런 문제가 없습니다.)
  3. 서버 응용 프로그램은 페이로드 문자열을 만들고 JSON 인코딩을 사용하여 장치를 사용하여 iPhone을 각각 (또는 그룹 단위로) APNS 서버로 보냅니다. 토큰은 DB에 저장되었습니다. 그래서

를 추가 개발, 여기에 조각입니다 :

  • 서버에 아이폰 등록 코드를 전송하고 DB (에 저장

  • 코드이 쉽게 아이폰 등록 코드와 나는 이미이 조각들을 가지고있다).

  • 서버 측 APNS 연락처 코드는 C#입니다. 여기에는 Apple 개발자 웹 사이트에서 생성 된 인증서 사용 방법도 포함됩니다.

  • 또한 페이로드는 결과를 서버에 다시 보낼 수있는 객관식 질문이 될 수 있습니까?

미리 도움을 청하십시오. 이것을 다른 사람들을위한 튜토리얼로 바꿀 것입니다. 는 C# 푸시 부분에 대한 그래서

+2

안녕하세요 @RickLeinecker, iPhone 프로젝트 및 ASP.NET 웹 앱용 일반 코드를 단계별 지침과 함께 만들 수 있었던 적이 있습니까? 당신이 다른 사람들을 위해 그것을 제공 할 수 있다면 좋을 것입니다. – Brabbeldas

답변

10

당신이 그 쉽게 사용할 수있는 오픈 소스 프로젝트를 프로그래머와 C# push notification project

기본적으로 모든 링크를 여기에 푸시 notificaitons를 보내기 위해 라이브러리를 사용하는 방법에 대한 몇 가지 샘플 코드입니다있다 당신은 사과에서 푸시 인증서를 얻은 다음 프로젝트에 드롭하고 C# 프로젝트에서 열면됩니다 (예제를 볼 수 있고 어디서해야 할 지 알 수 있습니다).

아이폰 부분은 다음과 같습니다. 꽤 사소한 거기에 예제의 톤이있다

+0

프로젝트가 더 이상 사용되지 않습니다. 다른 제안? – capdragon

+0

동일한 저자가 현재 PushSharp에서 작업 중입니다. https://github.com/Redth/PushSharp/ –

18

이것은 나를 영원히 figu에 데려 갔다. 나는 밖으로 나왔다. 그러나 나는 마침내 사람들이 남긴 단서 단서들로부터 모두 그것을 하나로 연결했다. 개발자 포털에 등록한 APPID에 대한 인증서를 다운로드해야합니다. Windows에서 사용하려면 해당 인증서를 P12 형식으로 변환해야합니다. UNIX에서이 명령은 마지막으로 나를 위해 그것을했다 :

1 단계 :

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

aps_developer_identity.CER은 포털

2 단계에서 다운로드 파일입니다 APSCertificates.p12 당신이 맥 키 체인에서 내보내기 파일입니다

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

. 중요한 것은 포털의 인증서를 키 체인으로 가져와야합니다. 내 인증서에서 찾아 삼각형을 열고 인증서와 개인 키를 모두 강조 표시 한 다음 마우스 오른쪽 단추를 클릭하여 내 보냅니다. 그들에게 암호를주고 p12 파일에 저장하십시오.

3 단계 :

openssl pkcs12 -export -in aps_developer_identity.pem -out aps_developer_identity.p12 -inkey APSCertificates.pem 
당신은 새로운 암호를하기에 모든 것을 다시 암호화하지만 키 체인에 인증서와 개인 키를 내보내는 데 사용하고 다시 메시지가 나타나면 암호를 몇 번 입력하라는 메시지가 표시됩니다

결국 aps_developer_identity.p12 파일을 Windows로 옮긴 다음 MMC의 인증서 관리자의 개인 및 신뢰할 수있는 루트 섹션으로 가져옵니다. 그런 다음 C#에서 MoonAPNS를 사용하고 PushNotification 클래스를 호출하면 해당 인증서에 대한 경로를 제공합니다. 또한 장치 토큰에서 공백을 제거하십시오.

+0

조금 늦었습니다. 알아요.하지만 감사드립니다. 줄을 도왔습니다 ... – Robert

3

온라인 푸시 솔루션을 권합니다. 나는 https://parse.com/products/push을 무료로 사용하고 REST API와 통합하기 쉽습니다.

올드 대답은 :
나는 PushSharp를 추천 할 것입니다.

Moon-APNS에 몇 가지 문제가있어서 PushSharp로 변경하려고 시도했지만 5 분 이내에 작동했습니다. PushSharp는 Android 및 Windows Phone 푸시 메시지를 동일한 패키지로 지원합니다. NuGet 패키지로도 제공됩니다.

+0

PushSharp는 매우 쉽게 작업을 수행 할 수 있으며 모든 iOs 농구를 뛰어 넘기위한 단계별 자습서가 있습니다. – raider33

+1

그리고 별난 문제도 많이 나옵니다! :) – Mrchief

+0

예, PushSharp가 항상 매달려 있습니다. – Toolkit

1

슬프게도 PushSharp는 .NET 4.0에만 해당됩니다. 저자는 3.5에 대한 계획도 없다. 나에게 요구되는 것은 서버 제공자가 3.5만을 허용하기 때문이다. 그래서 Moon-APNS와 함께 가야했습니다. 아직 작동하지 않습니다. 그러나 나는 방금 그것을 구현했고, 내일 내 친구들은 그것을 시험 할 것이다. Moon-APNS는 .NET 4.0이기도하지만 쉽게 3.5로 설정할 수 있습니다. 3.5에서 의존성 라이브러리를 다운로드하고 당신이 가고 싶은 바이올라와 비올라를 포함 시키십시오.