2017-02-14 6 views
0

저는 로컬 서버에서 서비스 할 모바일 장치 (Android) 용 웹 앱을 개발하고 싶습니다. 서버는 Push API을 통해 전화로 푸시 알림을 보낼 수 있어야합니다.인터넷 연결없이 동일한 LAN에있는 경우 Push API를 사용하여 전화로 알림을 보낼 수 있습니까?

설치 프로그램은 인터넷에 연결되지 않으며 푸시 알림을 보내려면 설명 된 설정이 일부 클라우드 서비스에 연결해야하는 경우 메모를 찾을 수 없습니다.

+0

로컬 서버가 수행 할 수없는 원격 서버로 수행 할 수있는 작업은 없습니다. 안드로이드에서 Doze 모드에 몇 가지 문제가있을 수 있지만 하드웨어 (LAN 응용 프로그램에 대해 이야기하고있는 것)를 소유하고 있으므로 필요에 따라 앱을 허용 목록에 추가 할 수 있습니다. –

+0

GitHub에 대한 토론 : https://github.com/GoogleChrome/push-notifications/issues/33#issuecomment-283348059 – jwillmer

답변

0

mmm 각 브라우저 공급 업체가 serviceWorkers를 자체 Message Server (Chrome : fcm.googleapi.com, Firefox : updates.push.services.mozilla.com 등)에 가입하는 것은 불가능합니다. 그래서 우리가 제어 할 수없는 무언가입니다 ...

기술적으로는 해결책이 있지만, 네트워크를 "해킹"할 필요가 있습니다. 즉, Manel The Middle 공격이 필요합니다. 해당 프로그램에 모든 네트워크 트래픽을 리다이렉트 (아마도 원시 소켓을 사용하고 ARP 패킷 전송)하는 프로그램을 코딩 한 다음 해당 프로그램이 해당 메시지 서버에 요청을 수신하도록해야합니다 (이러한 요청은 HTTPS를 통해 이루어집니다 - 포트 443), 프로그램은 실제 Message Server가 보낼 동일한 응답을 정확히 보내야합니다. 그것은 쉬운 일이 아니지만 .... 내가 생각할 수없는 유일한 해결책이다.

참고 : 브라우저는 "보안 연결"을 초과하지 않는 serviceWorker 등록을 차단합니다. 즉, 서버가 HTTPS를 통해 요청을 처리해야하거나 사용자 장치에 로컬로 웹 응용 프로그램을 설치할 수 있습니다 (즉, "localhost"로 액세스 할 수 있음).