前提条件
1、完成 3.9.1 或以上版本 SDK 初始化
2、了解环信即时通讯 IM API 的 使用限制。
3、已联系商务开通在线状态订阅功能
实现方法
你可以通过调用 subscribe 方法订阅自己的在线状态,从而可以监听到其他设备在登录和离线时的回调,示例代码如下:
先在EMConversationsViewController.m文件上加代理
EMPresenceManagerDelegate
[[[EMClient sharedClient] presenceManager] addDelegate:self delegateQueue:nil];
别的设备在发送状态变化的时候代理方法会接收到响应
- (void) presenceStatusDidChanged:(NSArray<EMPresence*>*)presences
{
NSLog(@"presenceStatusDidChanged:%@",presences);
}
红框中的device
是发布者的当前在线设备使用的平台,包括iOS
、Android
、Linux
、windows
和webim
。
status 是当前在线状态,0为离线,1为在线。
通过上述的方式可以在监听到变化时可以让自己的设备做些业务。