如何使用 PubNub 检测丢失的朋友和自己(本地)网络连接
为了检测移动设备、平板电脑和 Web 设备上断开的网络连接,您可以使用 PubNub 通过绑定到 PubNub JavaScript API 中的内置事件来显示连接状态。了解断开连接和重新连接状态有几个方面。此外,使用 PubNub,您可能会对在线朋友的连接/断开事件的社交发现感兴趣。这样你就可以有绿点效果来指示你的朋友在线状态和一个红点当你的朋友离线时。我们将从两个方面进行连接状态跟踪,以便您能够检测并通知您的用户何时他们自己的设备离线/在线以及他们的朋友何时在线/离线。
使用 JavaScript PubNub API 检测本地连接状态
在任何支持 JavaScript 的设备(例如手机和 Web 浏览器)上检测您与 Internet 的本地连接状态都很简单。您将使用一些高级 PubNub 参数来访问在连接状态更改期间触发的回调。在应用程序代码中注册回调很容易。这是一个快速复制/粘贴的起点,您可以将其放在后袋中:
<div pub-key="demo" sub-key="demo" id="pubnub"></div>
<script src="http://cdn.pubnub.com/pubnub-3.3.min.js"></script>
<script>(function(){
// LISTEN FOR MESSAGES
PUBNUB.subscribe({
channel : "hello_world", // CONNECT TO THIS CHANNEL.
restore : true, // STAY CONNECTED, EVEN WHEN BROWSER IS
// CLOSED OR WHEN PAGE CHANGES.
callback : alert, // FUNCTION TO RUN ON MESSAGE RECEIVED.
disconnect : function() { // LOCAL LOST CONNECTION.
alert("Connection Lost.")
},
reconnect : function() { // CONNECTION RESTORED.
alert("And we're Back!")
},
connect : function() { // CONNECTION ESTABLISHED.
PUBNUB.publish({ // SEND A MESSAGE.
channel : "hello_world",
message : "Hi from PubNub."
})
}
})
})();</script>
注意:上面显示的是注册本地设备连接事件的简单方法。
现在是时候谈谈 PubNub 的存在了;PubNub 的一项功能,可让您在朋友在线或离线时检测朋友的连接并接收远程连接事件。
使用 PubNub 在线检测好友在线/离线状态
接下来,您想了解如何检测您的朋友在线和离线时的连接状态。您也可以注册这些活动,但您需要做更多的工作,因为您需要提供用户的 ID(或抽象 ID)。您可以通过 PubNub 的存在来做到这一点,但它涉及的更多一些,我将向您发送两篇博文,让您快速上手。在我送你之前,我将向你展示重要的代码片段,用于注册来自你朋友的远程在线/离线事件通知:
// Open Bidirectional Socket Connection with
// REMOTE Connection Detect "Presence" Events.
PUBNUB.subscribe({
channel : "my_channel", // Channel Name
connect : connect, // OnConnect Callback
callback : alert, // Received Message Callback
presence : presence // Presence Callback
});
注意:通过 PubNub 存在回调事件接收远程连接状态更新(朋友连接状态)。
在代码示例中,您将看到一个存在回调。此参数选项需要一个函数引用,当您的朋友在同一 PubNub 频道上发生连接更改(在线/离线)时,将执行该函数引用。好的,现在您已经掌握了要点,您需要查看以下博客文章,以帮助您了解有关 PubNub 存在的具体细节。
PubNub 存在资源
使用上述链接和参考资料了解您需要了解的有关 PubNub Presence 的所有信息