2017-02-14 16 views
0

我喜欢为移动设备(Android)开发一个由本地服务器提供服务的Web应用程序。服务器应该能够通过Push API向电话发送推送通知。如果他们在没有互联网连接的同一个LAN中,我可以使用Push API向手机发送通知吗?

设置将无法连接到互联网,如果解释的设置需要连接到某个云服务才能发送推送通知,我无法找到注释。

+0

远程服务器无法通过本地服务器完成任何操作。您可能在Android的打盹模式中遇到了一些问题,但由于您可能拥有硬件(您正在谈论LAN应用),因此您可以根据需要将应用列入白名单。 –

+0

关于GitHub的讨论:https://github.com/GoogleChrome/push-notifications/issues/33#issuecomment-283348059 – jwillmer

回答

0

mmm恐怕你不能,每个浏览器厂商都订购服务工作者到自己的Message Server(Chrome:fcm.googleapi.com,Firefox:updates.push.services.mozilla.com等),所以它是我们无法控制的东西...

尽管技术上有一个解决方案,它会要求你排序“破解”你的网络,很明显,它需要一个中间人攻击。你必须编写一个程序来将所有的网络流量重定向到该程序(可能使用原始套接字并发送ARP数据包),然后让该程序监听对这些消息服务器的请求(这些请求将通过HTTPS - 端口443 ),那么你的程序必须发送与真实消息服务器发送的响应完全相同的响应。这不是一件容易的事情......但它是我不能想到的唯一解决方案。

注意:您的浏览器将阻止任何未通过“安全连接”的serviceWorker注册,这意味着您的服务器必须通过HTTPS提供服务请求,或者您可以在您的用户设备上本地安装您的Web应用程序(以便他们可以通过“localhost”访问)。

相关问题