Tag: xmpp

发送推送通知给ios聊天离线用户,openfire xmpp

我有一个使用openfire的ios聊天应用程序,我需要做的是发送推送通知,当消息(1)无法交付任何原因,(2)应用程序处于暂停状态,即不能生成通知在其自己的。 我已经阅读了大部分有关这个在stackoverflow和其他地方的问题/build议,我已经得出了几个解决我的问题。 我不是一个ios开发者,在几天之前我也不了解openfire或xmpp,所以恐怕我对事物的理解可能不完整,我的解决scheme可能有缺陷。 请确认我的理解,并build议如果我错过了一些东西,或者如果有更好的方法。 请同时提出如何实施下面列出的特定解决scheme。 这里面临的挑战是确定何时需要推送以及何时启动过程 1)一种方法是使用xmpp的xep-0184实现来检查消息是否被传递。 要做到这一点,我们应该有一些交付标志与消息在ios数据库,这是更新时,从另一端收到交付的响应。 所以我们稍后需要检查这个标志,如果传递的状态是错误的,则启动消息的推送过程。 看起来是一个复杂的解决scheme(等待反应..检查国旗有一段时间滞后..不是很令人印象深刻) 2)更直接的方法是在openfire中做一些事情,当openfire不能传递一个消息的时候,它将它存储在离线表中,我们可以在那个部分做一些截取,并且启动消息的推送过程。 这看起来是正确的方法,但是我真的害怕在openfire中得到那么多东西,并且改变一些东西(也许很容易,有人用openfire做了一些工作可以告诉?) 3)这是我的最后手段,这不是一个解决scheme..但是如果我不能在预期的时间范围内(这是一个星期后)正确地做到这一点,我们计划发送所有消息的推送通知。 oppenfire会照顾正常的聊天,同时从我们的服务器发送每条消息的推送,但是当应用在前台时,我们会做一些事情来处理额外的推送消息,不需要显示,否则每当有一个推信息。 你们如何看待这种暂时的方式(我们当然必须尽快改变这种情况),这是可行的(或者我也错过了这里的一些东西)。 PS任何人都可以告诉Whatsapp和其他stream行的应用程序如何处理这个? 非常感谢您的帮助。

如何保持iphone的ios的xmpp连接,而在后台?

iPhone的XMPPFrameworkfunction强大。 我已经启动并运行了,但是如何在后台保持连接超过10分钟? 我将不胜感激更多的文件/如何做到这一点。 所以这个用例很简单而且很常见:Joe在线和在iPhone聊天应用程序中。 他离开聊天应用程序,去Safari浏览器,玩游戏,stream动电影,并做了其他的东西3小时(或更多)。 乔想在这段时间内不断收到消息。 示例应用程序允许Joe在后台接收本地通知,但似乎只有10分钟。 这是相关的代码(我认为)。 谢谢! 为了帮助其他人,甚至到了这一步,你需要将xmppstream属性enableBackgroundingSocket设置为YES(在你应该复制的iphoneXMPP示例项目中为你完成)以及appname-info.plist(即iosChat- info-plist)文件,你需要添加一个新的键/值对。 你应该右键点击“添加行”。 你应该select关键的“所需的背景模式”,然后input“voip”。 按下Enter键后,Xcode会检测到您的意思是“应用程序提供IP语音服务”。 这让你在后台打开聊天应用10分钟(我想)。 但我们无限期地想要,我怀疑答案在于下面的方法。 我只是应该“重新连接”在这个方法或东西,例如,[自我连接](我有一个连接方法)? – (void)applicationDidEnterBackground:(UIApplication *)application{ DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD); if ([application respondsToSelector:@selector(setKeepAliveTimeout:handler:)]) { [application setKeepAliveTimeout:600 handler:^{ DDLogVerbose(@"KeepAliveHandler"); // Do other keep alive stuff here. }]; }}

XMPPFramework – 从Openfire服务器中检索已存档的消息

我正在开发一个使用XMPP和openfire服务器的iPhone聊天应用程序,OpenFire服务器存储用户之间的所有聊天logging,但是当我尝试检索特定用户的聊天logging时,我只获取聊天消息的date和数量,实际的文字信息 我已经在openfire上安装了用于消息归档的开放归档插件 这是我已经传递给Openfire服务器的节 <iq type='get' id='pk1'> <list xmlns='urn:xmpp:archive' with='piyush@openfire'> <set xmlns='http://jabber.org/protocol/rsm'> <max>30</max> </set> </list> </iq> 这是我从服务器收到的结果 <iq type="result" id="pk1" to="vivek@openfire/iphone"> <list xmlns="urn:xmpp:archive"> <chat with="piyush@openfire" start="2012-07-04T13:16:12.291Z"/> <chat with="piyush@openfire" start="2012-07-05T08:25:31.555Z"/> <chat with="piyush@openfire" start="2012-07-05T12:38:24.098Z"/> <set xmlns="http://jabber.org/protocol/rsm"> <first index="0">15</first> <last>25</last> <count>3</count> </set> </list> </iq> 这是我想要的和我期望的结果 <iq type='result' to='vivek@openfire/iphone' id='page1'> <chat xmlns='urn:xmpp:archive' with='piyush@openfire' start='2012-07-04T13:16:12.291Z' subject='She speaks!' version='4'> <from secs='0'><body>Art thou […]

iPhone XMPP应用程序运行的背景

我创build了一个使用XMPP框架的聊天应用程序。当我退出应用程序(进入后台模式),我想接收聊天消息,并且还需要显示图标徽章…我该怎么做?

XMPPFramework – 如何创buildMUC房间并邀请用户?

我正在使用Robbiehanson的iOS XMPPFramework。 我正在尝试创build一个MUC房间,并邀请用户join群组聊天室,但这不起作用。 我正在使用下面的代码: XMPPRoom *room = [[XMPPRoom alloc] initWithRoomName:@"user101@conference.jabber.org/room" nickName:@"room"]; [room createOrJoinRoom]; [room sendInstantRoomConfig]; [room setInvitedUser:@"ABC@jabber.org"]; [room activate:[self xmppStream]]; [room inviteUser:jid1 withMessage:@"hello please join."]; [room sendMessage:@"HELLO"]; 用户ABC@jabber.org应该收到邀请信息,但没有任何事情发生。 任何帮助将不胜感激。 🙂

XMPPFramework – 实现群聊(MUC)

我正在iOS聊天客户端上工作。 任何人都可以请帮我多用户聊天? 我已经实现了Robbiehanson的XMPPFramework。 任何人都可以让我知道如何获得组的列表,并创build一个在这个框架的服务器组? 提前致谢。