2016-06-13 7 views
0

현재 서버에서 WebLogic에서 실행되는 Java 웹 서비스를 개발 중입니다. iOS에서 실행되는 휴대 기기에 푸시 알림을 보내야한다는 요구 사항이 있습니다. Andriod 기기에 알림을 전송하기 위해 GCM/FCM을 개발하는 데 필요한 것이 무엇인지 알고 있습니다. iOS의 경우 APNS가 있지만 Java 라이브러리를 사용하여 알림을 보낼 수 있습니까?Java로 APNS 알림 보내기

또한 APNS를 통해 전송하는 데 필요한 필수 항목 (등록 ID 등)은 무엇입니까?

모든 예제 코드는 무엇입니까?

제가 봤어 그리고 자바 - apns와 javapns에 대해 알았지 만, 그들은 이미 쓸모없는 경우에도 잘 모르겠습니다.

미리 감사드립니다.

답변

0

나는 APNS를 구현해야하는 모든 것들을 도울 수 있습니다. 새로운 HTTP/2.0 APNS API가 소개됨에 따라 예전에는 많이 변경된 사항이 있습니다.

는 아래의 링크를 통해 이동을 권합니다 : (좋은 소식은 상황이 정말 이제 간단한 & 쉽게되어 있습니다) :

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/Introduction.html

APNS 전제 조건 :

1) APNS SSL 인증서, 키 (모래 상자 & 생산과 동일 함, 이전에는 프로덕션/개발/VoIP 등에서 다르게 사용됨) 이는 APNS와 관련된 대부분의 문제가 잘못된 인증서 생성으로 인한 가장 중요한 단계이기 때문에

2) 기기 토큰 (iOS 기기에서 실행중인 iOS 앱에 따라 다르지만이 기기 토큰을 받으려면 iOS 클라이언트 앱을 APNS에 등록해야합니다. 또한 장치 토큰은 일반적으로 개발 환경 & 프로덕션 환경에 따라 다릅니다. 그러므로 올바른 토큰을 사용하십시오)

iOS 응용 프로그램에 위의 인증서, 키 & 장치 토큰이 있으면 APNS 인터페이스를 사용하여 응용 프로그램 공급자로부터 APNS 알림을 보낼 수 있습니다.

기기 토큰은 언제든지 (iOS 소프트웨어 업그레이드 중에) 언제든지 변경 될 수 있으므로 앱을 시작할 때마다 항상 새로운 기기 토큰을 얻는 것이 좋습니다.

apns에 대한 Java 라이브러리와 관련된 쿼리에서 새로운 APNS 인터페이스는 HTTP/2.0에 종속된다는 점에 유의하십시오. 사용자의 필요에 따라 선택할 수있는 오픈 소스 및 엔터프라이즈 버전 (AWS, Urban airship 등)을 모두 사용할 수 있습니다. AWS가 새로운 HTTP/2.0 인터페이스를 지원하는지 확실하지 않습니다. 그러나 Apple 지침에 따라 항상 최신 APNS 인터페이스를 사용하는 것이 좋습니다.

선택적으로 GCM을 사용하여 APNS를 구현할 수도 있습니다. https://developers.google.com/cloud-messaging/ios/start

그러나 iOS 앱은 GCM에도 등록해야 할 수 있습니다. 기본적으로 iOS 기기 토큰은 GCM 기기 토큰에 매핑됩니다. 그러나 앞서 언급 한 것처럼 인증서, 키 및 장치 토큰을 생성해야합니다.

귀하의 질문에 답변하시기 바랍니다.

_Ayush

+0

안녕 Ayush, 나는 알림을 보내기위한 notnoop/java-apns Java 라이브러리를보고있었습니다. 새로운 HTTP/2.0 APNS API를 사용하면 notnoop/java-apns가 곧 쓸모 없게됩니다. HTTP/1.1에서는 일반적으로 표준 Java JDK를 사용하여 요청을 보낼 수 있습니다. HTTP/2.0의 경우 어떻게 구현합니까? HTTP/2.0 용으로 어떤 라이브러리를 다운로드해야하며 샘플 코드가 있습니까? 너무 짧고 높은 수준이므로 첫 번째 링크는 실제로 도움이되지 않습니다. 감사. – user3573403

+0

안녕하세요, Apple은 '모든 개발자는 원격 알림 공급자 서버를 APN Provider API에 설명 된보다 유용하고 효율적인 HTTP/2 기반 API로 마이그레이션해야합니다.'라고 분명하게 언급했습니다. 그들이 오래된 API를 정말로 쓸모 없게하는지 확실하지 않습니다. 최근에 HTTP/2.0이 소개되었으며, 불행히도 현재 JAVA가 동일한 기능을 지원하지 않는다고 생각합니다. Jetty, Netty 같은 일부 초기 플레이어는 HTTP/2.0을 구현했습니다. 시도해 볼 수 있습니다. JAVA 9는 http/2.0에 대한 지원을 제공 할 것으로 추측되지만, 내년 초에는 GA를 위해 계획되었습니다. – Ayush

+0

인터넷 검색에서 http/2.0 apns 메시지를 지원하는 것으로 보이는 'https://github.com/relayrides/pushy'를 발견했습니다. Curl, AWS도 동일한 기능을 지원해야합니다. apns http/2.0 구현을 많이 찾을 수 있습니다. – Ayush