이번에는 클라이언트 코드와 프로바이더 코드를 알아 보겠습니다. 개인적으로 클라이언트 코드는 간단하다고 생각합니다. 하지만 프로바이더의 경우 애플 푸쉬 서버에 소켓을 붙이는 것이 매우 어렵습니다. 요즘의 경우 좋은 라이브러리가 있어서 이 또한 해결된 상태입니다. 저는 자바 사용해서 프로바이더를 구성하겠습니다.
- 기본적인 메소드 중심으로 구성하겠습니다.(도움이 필요하신 분은 메일주세요.)
1. 클라이언트
애플리케이션을 생성하면 ..Delegate.m 파일을 열어서 아래의 코드를 삽입합니다.
(첫째 펑션..(자바에선 메소드)는 구현되어 있는 평션에 추가하는 것 아시죠...)
앱이 실행 될때 위와 같은 코드는 APNS로 디바이스를 등록 시키는 역할을 합니다. (요청만)
그리고 기본적으로 푸쉬가 왔을때 어떤 리액션을 취할지 설정할 수 있습니다.
두번째 소스는 APNS 응답에 대한 처리입니다. 여기서 중요한 것은 deviceToken(64바이트 문자열) 입니다.(테스트 결과 deviceToken은 변화하지 않습니다.) deviceToken 푸쉬를 보내기 위한 주소와 같은 역할을 합니다. 잘 기록해 두세요.
세번째 소스는 푸쉬를 받았을 때 호출하는 펑션입니다. 여기선 팝업창하나를 띄우는 걸로 구현 했습니다. 클라이언트 코딩은 여기까지 입니다. 설계하고 구성하기 나름이지만 개인적으론 간단하다고 느낍니다.
2. 푸쉬 데이터
푸쉬가 오는 데이터는 위와 같습니다. 프로바이더의 경우 로컬라이제이션을 통한 다양한 언어로 푸쉬를 보낼수 있는데 일단 클라이언트에서 보이는 것은 위와 같습니다. 메시지, 뱃지(아이콘 위에 숫자), 소리
IPhone_Dev
2012년 3월 22일 목요일
2012년 3월 21일 수요일
[IPHONE]푸쉬(PUSH NOTIFICATION) 2- 앱 아이디 설정 및 인증서
오늘은 푸쉬 서비스를 위한 기본 준비에 대해 알아보겠습니다.
- 푸쉬 서비스는 개발자 라이선스를 보유해야 테스트 가능
- 시뮬레이터에서는 테스트 불가능.
1. 인증서 준비
애플 개발자 사이트의 Provisioning Portal > App IDs 로 이동합니다. 테스트용 앱 ID를 만들고 Configure (1) 를 클릭합니다. [앱 아이디 설정입니다.]
Configure 화면에서 Enable for Apple Push Notification service를 찾습니다. 우리는 테스트를 하니까 Development Push SSL Certificate 탭의 Configure (2) 를 누릅니다. (제품으로 만들때에는 아래 Configure를 누르면 됩니다. )
Configure를 눌렀으면 위와 같은 화면이 나옵니다. 여기서 개발자 계정 발급 받을 때 다운한 인증서(CSR)를 업로드 해줍니다. [참고로 Xcode의 키체인에 인증서(CSR)가 등록되어 있어야 나중에 클라이언트 개발시 테스트가 가능합니다. 확인은 키체인에서 ㅎ]
업로드하면 푸쉬를 보낼 수 있는 인증서가 발급 됩니다. (무슨놈의 인증서가 이렇게 많은지.. )
위의 인증서는 그대로 사용할 수 없습니다. 해당 인증서를 클릭하면 키체인에 등록이 됩니다. 그리고 해당 인증서를 보내기 합니다.
다음 화에서 실제 코딩으로 들어가겠습니다.
- 푸쉬 서비스는 개발자 라이선스를 보유해야 테스트 가능
- 시뮬레이터에서는 테스트 불가능.
1. 인증서 준비
애플 개발자 사이트의 Provisioning Portal > App IDs 로 이동합니다. 테스트용 앱 ID를 만들고 Configure (1) 를 클릭합니다. [앱 아이디 설정입니다.]
Configure 화면에서 Enable for Apple Push Notification service를 찾습니다. 우리는 테스트를 하니까 Development Push SSL Certificate 탭의 Configure (2) 를 누릅니다. (제품으로 만들때에는 아래 Configure를 누르면 됩니다. )
Configure를 눌렀으면 위와 같은 화면이 나옵니다. 여기서 개발자 계정 발급 받을 때 다운한 인증서(CSR)를 업로드 해줍니다. [참고로 Xcode의 키체인에 인증서(CSR)가 등록되어 있어야 나중에 클라이언트 개발시 테스트가 가능합니다. 확인은 키체인에서 ㅎ]
업로드하면 푸쉬를 보낼 수 있는 인증서가 발급 됩니다. (무슨놈의 인증서가 이렇게 많은지.. )
위의 인증서는 그대로 사용할 수 없습니다. 해당 인증서를 클릭하면 키체인에 등록이 됩니다. 그리고 해당 인증서를 보내기 합니다.
다음 화에서 실제 코딩으로 들어가겠습니다.
2012년 3월 15일 목요일
[IPHONE]푸쉬(PUSH NOTIFICATION) 1- 아키텍쳐
요즘 많이 사용되는 아이폰의 기능중에 푸쉬 서비스에 대해 알아보겠습니다. 푸쉬 서비스는 핸드폰의 문자 서비스와 같은 기능으로 애플리케이션이 꺼져있는 상태에서도 사용자에게 정보를 전달하거나 통지를 할 수 있는 기능을 말합니다. 보통 메신저에서 많이 사용하고 마케팅을 위한 중요한 기능으로 부각되어 많은 애플리케이션에 적용된 기능입니다.
1. 아키텍쳐
- 기본적인 서비스 방식
*프로바이더가 애플의 서드파티 서버에 공지(NOTICATION)를 하면
그 내용을 아이폰(애플리케이션)에 전달한다.
- 보안 아키텍쳐(Security Architecture)
: TLS 커넥션으로 디바이스와 APNS 그리고 프로바이더를 식별한다.
*Device - APNS
*Provider - APNS
*TLS는 인터넷 상에서 통신하고 있는 애플리케이션과 그 사용자들 간에 프라이버시를 지키기 위한 프로토콜이다. TLS는 서버와 클라이언트가 통신할 때, 어떠한 메시지에 대해서도 제3자가 엿듣거나 또는 손을 댈 수 없도록 안전하게 지켜준다.
- 토큰 생성 및 해제
: 토큰는 메시지를 보내는 기기에 대한 주소를 뜻한다.
토큰을 생성해서 프로바이더에게 전달해주는 것이 푸쉬 서비스의 기본적인 준비다.
(토큰은 변화하지 않기 때문에 한번 생성해서 저장해 두면 편리하게 푸쉬를 보낼 수 있다.)
- 토큰 공유
:프로바이더에게 토큰을 전달한다.
- 푸쉬 (Payload)
: 푸쉬 메시지는 Payload라는 객체로 이동된다.
1. 아키텍쳐
- 기본적인 서비스 방식
*프로바이더가 애플의 서드파티 서버에 공지(NOTICATION)를 하면
그 내용을 아이폰(애플리케이션)에 전달한다.
- 보안 아키텍쳐(Security Architecture)
: TLS 커넥션으로 디바이스와 APNS 그리고 프로바이더를 식별한다.
*Device - APNS
*TLS는 인터넷 상에서 통신하고 있는 애플리케이션과 그 사용자들 간에 프라이버시를 지키기 위한 프로토콜이다. TLS는 서버와 클라이언트가 통신할 때, 어떠한 메시지에 대해서도 제3자가 엿듣거나 또는 손을 댈 수 없도록 안전하게 지켜준다.
- 토큰 생성 및 해제
: 토큰는 메시지를 보내는 기기에 대한 주소를 뜻한다.
토큰을 생성해서 프로바이더에게 전달해주는 것이 푸쉬 서비스의 기본적인 준비다.
(토큰은 변화하지 않기 때문에 한번 생성해서 저장해 두면 편리하게 푸쉬를 보낼 수 있다.)
- 토큰 공유
:프로바이더에게 토큰을 전달한다.
- 푸쉬 (Payload)
: 푸쉬 메시지는 Payload라는 객체로 이동된다.
피드 구독하기:
글 (Atom)
















