웹 앱을 만들고 있습니다. 새 콘텐츠가있을 때 iOS 사용자에게 푸시 알림을 보내려면 어떻게해야합니까?
웹 앱을 만들고 있습니다. 새 콘텐츠가있을 때 iOS 사용자에게 푸시 알림을 보내려면 어떻게해야합니까?
답변:
구체적으로 말하면, 웹 애플리케이션이 iPhone과 같은 모바일 장치에 푸시 알림을 보내려면 모바일 장치가 특정 애플리케이션에 대한 푸시 알림을 수신하도록 등록되어 있어야합니다. 푸시 알림 등록은 기본 앱을 통해 이루어지며 기본 앱을 통해서만 수행 할 수 있습니다. 푸시 알림을 위해 네이티브 앱이 등록되면 네이티브 클라이언트를 프로비저닝하는 데 사용되는 인증서와 함께 사용할 수있는 인증 토큰을 서버로 보내 모바일 장치로 푸시 알림을 보낼 수 있습니다.
다른 답변에서 지정한 것처럼 한 가지 옵션은 웹 응용 프로그램을 기본 응용 프로그램으로 '래핑'하는 것입니다. 즉, 웹 애플리케이션을 보여주는 사용자에게 기본적으로 UIWebView (iPhone dev 용)를 제공하는 네이티브 애플리케이션을 생성합니다. 이 기능은 기본 브라우저와 거의 동일한 방식으로 작동하지만 기본 컨트롤을 사용하여 푸시 알림을 등록하는 기능을 추가 할 수 있습니다.
iPhone에서 푸시 메시징이 작동하는 방식에 대한 꽤 좋은 정보를 제공하므로 Apple의 푸시 알림 문서를 검토하는 것이 좋습니다.
Peter Hosey가 제공 한 다음 링크를 참조하십시오.
아니요, 기본 iOS 애플리케이션 만 푸시 알림을 지원합니다.
업데이트 : 이제
Mac OS X 10.9 및 Safari 7 웹 사이트에서도 푸시 알림을 보낼 수 있지만 iOS에는 여전히 적용되지 않습니다. 웹 사이트 용 알림 프로그래밍 가이드를 읽어 보세요. WWDC 2013 세션 614 도 확인하십시오 .
하지만 아직 iOS에서 지원되지 않습니다 (아이폰 OS (10) 등), 웹 사이트는 파이어 폭스와 크롬 (데스크탑 / 안드로이드)로 푸시 알림을 보낼 수있는 푸시 API .
Push API는 메시지를 표시하기 위해 이전 웹 알림 과 함께 사용됩니다 . 장점은 Push API를 사용하면 사용자가 웹 사이트를 서핑하지 않을 때에도 알림을 전달할 수 있다는 것입니다. 왜냐하면 서비스 워커 (브라우저에 의해 등록되고 나중에 백그라운드에서 실행될 수있는 스크립트)를 기반으로하기 때문입니다. 귀하의 사용자가 귀하의 웹 사이트를 떠났습니다).
알림을 보내는 프로세스에는 다음이 포함됩니다.
Push API는 현재 데스크톱과 Android 에서 Chrome , Firefox 및 Opera를 통해 지원됩니다 .
APN을 사용하여 Apple / Safari 데스크톱에 푸시 알림을 보낼 수도 있습니다 . 접근 방식은 비슷하지만 많은 복잡성이 있습니다 (애플 개발자 인증서, 푸시 패키지, APN에 대한 저수준 TCP 연결).
푸시 알림을 직접 구현하려면 다음 자습서로 시작하십시오.
솔루션 드롭을 찾고 있다면 내가 구축 한 서비스 인 Pushpad를 제안 할 것 입니다.
업데이트 (2017 년 9 월) : Apple은 WebKit 용 서비스 워커 개발을 시작했습니다 ( status ). 서비스 워커는 웹 푸시를위한 기본 기술이므로 이것은 큰 진전입니다.
Chrome은 이제 푸시 알림에 대한 W3C 표준을 지원합니다.
자신 만의 네이티브 앱을 만들고 싶지 않은 경우 푸시 오버를 사용할 수 있습니다. https://pushover.net/
사실 .. 이것은 완전히 새로운 마음입니다 .. 최신 버전의 OS X (Mavericks) 에서는 웹 페이지에서 데스크탑으로 푸시 알림을 보낼 수 있습니다. 그러나 문서에 따르면 iPhone이 아닙니다.
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
현재 Apple은 OS X 웹 사이트 푸시 알림과 로컬 알림의 두 가지 푸시 알림을 허용 할 계획입니다.
여기서 명백한 장애물은 이것이 PC에서 작동하지 않으며 Android 푸시 알림을 허용하지 않는다는 것입니다.
또한 실제로 Snow Leapord만큼 오래된 버전을 사용하여 웹 사이트가 열려 있고 활성화되어있는 한 웹 사이트에서 푸시 알림을 보낼 수 있습니다. 새로운 Mavericks OS는 사이트가 열리지 않더라도 푸시 알림을 보낼 수있는 권한을 이미 부여했다고 가정하고 푸시 알림을 허용합니다.
Apple의 입에서 :
OS X v10.9 이상에서는 APN (Apple 푸시 알림 서비스)을 사용하여 웹 서버에서 OS X 사용자에게 직접 OS X 웹 사이트 푸시 알림을 보낼 수 있습니다. 로컬 알림과 혼동하지 않도록, 푸시 알림은 웹 사이트 또는 웹 브라우저가 열려 있는지 여부에 관계없이 사용자에게 도달 할 수 있습니다.
웹 사이트에 푸시 알림을 통합하려면 먼저 사용자가 알림 수신을 선택할 수있는 인터페이스를 제공해야합니다. 사용자가 동의하면 Safari는 웹 사이트에 접속하여 푸시 패키지라는 파일 형식의 자격 증명을 요청합니다. 푸시 패키지에는 OS X 전체에서 사용되는 알림 자산과 사용자가 구성한 웹 서비스와 통신하는 데 사용되는 데이터도 포함되어 있습니다. 푸시 패키지가 유효하면 장치 토큰이라고하는 장치의 사용자에 대한 고유 식별자를받습니다. 이 장치 토큰과 메시지 또는 페이로드의 조합을 APN에 보낼 때 사용자는 알림을받습니다.
알림을 받으면 사용자는이를 클릭하여 사용자의 기본 브라우저에서 선택한 웹 페이지를 열 수 있습니다.
참고 : APN에 대한 복습이 필요한 경우 로컬 및 푸시 알림 프로그래밍 가이드의 "Apple 푸시 알림 서비스"장을 읽으십시오. 이 문서는 iOS 및 OS X 푸시 알림에만 해당되지만 푸시 알림 서비스의 패러다임은 여전히 적용됩니다.
아니요, 웹앱이 푸시 알림을받을 수있는 방법이 없습니다. 할 수있는 일은 웹앱을 푸시 알림이있는 네이티브 앱으로 래핑하는 것입니다.
W3C는 2010 년에 알림을 구현하기위한 작업 그룹을 시작했습니다.
http://www.w3.org/2010/web-notifications/
이 워킹 그룹은 이러한 메커니즘을 웹 응용 프로그램에 노출하는 API를 개발합니다. 예를 들어 웹 기반 전자 메일 클라이언트와 인스턴트 메시징 클라이언트를 만드는 웹 개발자는 웹 응용 프로그램 동작을 운영 체제의 알림 기능과 더 밀접하게 통합 할 수 있습니다. 최종 사용자의.
마지막으로 결과는 특정 웹 사이트가 열려있는 경우에만 작동하므로 나쁜 농담과 같습니다. http://alxgbsn.co.uk/notify.js/
나는 그들이 모든 탭이 닫힌 경우 브라우저가 백그라운드에서 실행되는 동안 알림을 요청할 수 있도록 푸시 URL을 추가 할 수있는 가능성을 구현하지 못했다고 생각합니다.
HTML5 Websocket을 사용하여 자신의 푸시 메시지를 도입 할 수 있습니다. 에서 위키 백과 :
"클라이언트 측의 경우 WebSocket은 Firefox 4, Google Chrome 4, Opera 11 및 Safari 5뿐만 아니라 iOS 4.2의 Safari 모바일 버전에서도 구현 될 예정이었습니다. 또한 OS7의 BlackBerry Browser는 WebSocket을 지원합니다."
이렇게하려면 메시지를 클라이언트에 푸시 할 자체 공급자 서버가 필요합니다.
APN (Apple Push Notification) 또는 C2DM (Cloud to Device Message)을 사용하려면 온라인 스토어를 통해 다운로드해야하는 기본 애플리케이션이 있어야합니다.
Pushbullet은이 를위한 훌륭한 대안입니다.
그러나 사용자는 Pushbullet 계정과 앱 (iOS, Android) 또는 플러그인 (Chrome, Opera, Firefox 및 Windows)이 설치되어 있어야합니다.
Pushbullet 앱을 만들어 API 를 사용하고 oAuth2를 사용하여 애플리케이션의 사용자를 Pushbullet 사용자에 연결할 수 있습니다.
라이브러리를 사용하면 훨씬 쉽게 할 수 있습니다. PHP의 경우 ivkos / Pushbullet-for-PHP를 추천 할 수 있습니다.
Xtify 웹 푸시 알림을 확인하세요. http://getreactor.xtify.com/ 이 도구를 사용하면 웹 페이지에 콘텐츠를 푸시하고 방문자를 타겟팅하고 브라우저 DOM 이벤트를 기반으로 메시지를 트리거 할 수 있습니다. 모바일을 염두에두고 특별히 설계되었습니다.