如何获取用户IP地址,并检查用户在Ionic \cordova在线

我正在研究ionic framework和cordova。 我想向服务器提交一些数据,但是当这两个条件都满足时1.设备在线。 2.数据(提交)可用。

我正在检查这个cordovanetworking插件的文档,但我很混乱,它有太多的怪癖。 我怎么能写所有设备的有效代码(意味着Android,赢得电话,IPhone等..),我怎么能得到用户的IP地址。 我已经试过这个,在浏览器工作正常,但害怕执行原因手机可以忽略这一行(我猜)

$scope.checkOnline = navigator.onLine; 

很简单,只需要使用两个Cordova插件即可:

  1. 插件1: cordova-plugin-networkinterface

例:

 networkinterface.getIPAddress(function (ip) { alert(ip); }); 

工作示例和教程,请点击这里

  1. 插件2: cordova-plugin-network-information

例:

 document.addEventListener("online", onOnline, false); function onOnline() { // Handle the online event } 

插件文档,请点击这里 。

这实际上很难,因为怪异以及与实际互联网连接的不确定性。 例如

 navigator.online 

检查到您的在线服务的实际连接是不可靠的,但是如果它说你离线,那么你肯定是离线的。

相反,检查你的连接的最好方法是尝试从服务中得到一些回应,你知道这将会提高99.99%的时间。

这里也是关于这个问题的一个很好的博客文章系列。 您可能不会像在那里解释的那样,为您的应用程序考虑像心跳一样的东西。 此外,绑定Cordova的在线和离线事件通常是一个好主意,以便您可以例如在线事件发生时立即检查连接。