如何在 iOs 中获取用户的可用性通知?

Posted

技术标签:

【中文标题】如何在 iOs 中获取用户的可用性通知?【英文标题】:How to get User's availability notification in iOs? 【发布时间】:2016-03-24 09:48:11 【问题描述】:

我正在使用 XMPP 开发基于聊天的应用程序。我被困在获取用户上线或下线的通知。

当任何名册好友上线或下线时,不会调用以下方法。

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence


    NSString *presenceType = [presence type]; // online/offline
    NSString *myUsername = [[sender myJID] user];
    NSString *presenceFromUser = [[presence from] user];
    if (![presenceFromUser isEqualToString:myUsername])
    
        if ([presenceType isEqualToString:@"available"]) 
            // [_chatDelegate newBuddyOnline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"chat.denederlandsewateren.nl"]];
         else if ([presenceType isEqualToString:@"unavailable"]) 
            // [_chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"chat.denederlandsewateren.nl"]];
        
    

请建议或指导我如何处理- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence

问候,

【问题讨论】:

【参考方案1】:

我认为您需要使用以下代码发送出席信息:

NSXMLElement *presence = [NSXMLElement elementWithName:@"presence"];
[xmppStream sendElement:presence];

XMPPPresence *presence = [XMPPPresence presence];
    [[self xmppStream] sendElement:presence]; 

所以在那之后我猜想调用以下方法:

 -(void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence

【讨论】:

以上是关于如何在 iOs 中获取用户的可用性通知?的主要内容,如果未能解决你的问题,请参考以下文章

如何在用户未点击通知提醒时获取通知数据只需使用obj c点击ios中的应用程序[复制]

在 iOS 上,我的应用如何获取手机在后台时收到的通知数据?

用户进入特定区域时如何获取本地通知提供的 ios

如何在出现之前过滤ios推送通知

如何从 iOS 可达性类中获取网络连接通知的变化?

如何使用 Express、AngularJS、Socket.io 广播和获取通知?