1

I am completely new to XMPP, and have read various websites regarding XMPP. Right now I am considering which server and library is viable to do an iOS IM, and I am feeling confused.

Initially I found a library called XMPPFramework from here, which seems nice since it is actively updating and there are relatively more sources regarding its usage. But when I started to consider the choice for server side (which are mainly ejabberd and Tigase), I found that there is some custom work needed to do if I am going to implement push notification, which is a common feature of IMs.

After searching and browsing through the Internet, I found that people are suggesting that, in order to implement push notification with XMPP (for notifying user which are offline), the protocol XEP-0079 (here) is needed, which I can implement my custom plugin with it. However, I found that XMPPFramework stated above does not support XEP-0079. So the questions are:

  1. Is this mean I will not be able to implement push notification if I choose to use XMPPFramework in my project? Or it is still viable but I will not be able to use the stuffs in XMPPFramework directly while sending messages from iOS clients?

  2. I've also checked about chatting state display (e.g. User A is typing... etc), which people stated is done by XEP-00184, is it possible for me to implement push notification with this protocol instead of XEP-0079?

Since I only started reading about IM and XMPP recently, I guess maybe my questions above may not make sense or are even incorrect, but I am really very confused and need any help available. I tried to find more about how to achieve push notification when recipient user is offline in server side, but most of them just stated an additional plugin is needed and seems there aren't any code example, so I only have a vague image regarding this. Thanks a lot!

Edit: I understand that in order to send push notifications to iOS users I will have to use APNS. But I am not sure about whether I can achieve the goal, which is identifying the messages that are sent to offline users, then forward it tto a custom plugin in the xmpp server, which may involve the protocol XEP-0079, and XMPPFramework seems to not support.

And I am also not sure about how the interception and identification of messages sent to offline users us done, since I can't find similar code examples regarding this. Is there any projects or sites related to this is suitable for beginners?

Thanks again!

1
  • alanlo@ i too have this same doubt. can you please share the solution u found! Commented Sep 23, 2016 at 5:35

1 Answer 1

1

You need to read this guide: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html

All push messages originate from Apple's servers. If you want to send a push message to a user, your server needs to send the message via this service.

Sign up to request clarification or add additional context in comments.

2 Comments

I understand that in order to send push msg I will need to make use of APNS. But before that I will have to intercept messages that are sent to offline users. So in this case I am not sure if I will be able to do this with XMPPFramework, since it is suggested that in order to achieve this, I will have to make custon plugin and cope it with the xmpp server, which involve the protocol XEP-0079 and XMPPFramework seems to not support.
Alanlo, this has to be implemented server side, I think, symmetricinfinity.com/2013/01/23/…

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.