How to receive offline messages in group chat from ejabbered in iOS? - ios

I had implemented group chat, which is working fine. But problem is that:
how can i receive offline message when user goes out from group.
I had tried, When i set status of user to unavailable from group/chat session, the ejabbered doesn't store messages for that user.
And even doesn't store message in spool table.
Anyone please share some stuff!
Thanks!

Query to server with date parameter from current date to your desire past date .

Related

Twilio SMS Webhooks and Group Text Messages

Is it possible to maintain both group text messages and single text messages with users and keep them separate? I understand there is no concept of a group message per se, but wanted to see if any recent advances in tech has made this possible with Twilio or other providers.
In short, I am creating a POC where a user inside an iOS App can send invoke an API call to my backend application. This application receives a phone number from someone's contact list, and then connects to Twilio to send the SMS message to that target user.
When the user replies, I was researching Twilio Web hooks to receive the message, and then save it in the database. The originating user, then, would be able to see the message on a screen.
I would guess that when a user responds to the twilio message, the only metadata that comes in is their message and phone number, so the "foreign key" is the phone number.. Thus when I save it in my database, I have their phone number and message.
This works up until someone decides to target two or more people in an SMS message using my API, and then target one of those people individually. For example they select me as a sole recipient, and then select me and someone else as a group text message.
In this case, how could my system/Twilio differentiate between if I was responding to the group message, or to the single message?
Any ideas or work arounds? Maybe another technology? Thanks!
I wanted to provide an answer to this in case anyone else was looking into this.
Essentially you pay 3 cents (0.03) per month per active user in each group. Basically you buy phone numbers for each group chat you need.
https://www.twilio.com/conversations/pricing
So if you're doing a million group chats obviously it can get costly, but for simple POCs this isn't the end of the world.
Enjoy!

MUCLight Offline message fetch XMPP

Have any one implemented MUC Light that is Beta released in MongooseIM Chat server for XMPP.
How to fetch fetch following messages when
1) User are offline while they were added as participants of group.
2) Users who are members byt offline and get messages on the muc light group.
I have achieved mod_zero push to trigger the offline message to Users, Also able to store the message in mam_muc_message table in my chat server MySQL database. But how the client will fetch these messages and also be notified with all messages.
Any guidance is much appreciated.
http://mongooseim.readthedocs.io/en/latest/open-extensions/muc_light/
Thanks for suggestion and comments here is how i managed with small limitation.
When user is offline while he was added by some group by others, he wont get this create group stanza as muc-light suggest.
When he come online , there have to be someone atleast who send a group message
When he gets this message I fetch the group configuration and create a new group first and keep this message as pending to process.
Once group created then i link this pending message to this group.
Then I call the MUC light MAM messages as given in 6.2 XEP-0313 Message Archive Management
Then I fetch all the previous messages and add in my database and display on the screen.
The only limitation that is there is after he come online he can't go to server and ask ALL muc-light messages, some how coz the server is not available is thrown if I ask for traditional MAM process to give messages for muclight.****.com group ID so I use as they asked to fetch in above link.
Hope MUC Light Beta is improving ahead more taking this into consideration.

How to send sms/email on scheduled time in iOS

I want to build an app in swift to send sms or email on scheduled date and time and the data need to be stored in database. I know we need to use MFMessageComposeViewController or MFMailComposeViewController for sending sms/email but how to send only on scheduled date?
For example: I want to schedule a sms for birthday wish of my friend on his birth date and let the app send the message on that specific date or time.
Can somebody share any tutorials related to this type of questions?
It sounds like you're trying to send emails and texts without prompting the user to fill in their content. The classes you mentioned are used to present views that allow the user to fill in the message content, like shown below.
If you would like to send email from the app without using the users email address and allowing them to fill in the content, you'll need to use an email service that provides an API, like Mailgun.
Unfortunately, you won't be able to send emails when the app is in the background. To do this, you should use a backend server to schedule emails.

How to handle the address book in my application in an effective way

I am creating an app which using address book.I am sending all my contacts to server each time to get the list of contacts who all are using the app and I should get the notification for new users in my contacts.I don’t think it is an effective way(sending all contacts everytime).Can any one suggest me how to handle the scenarios like edit contact,delete contact.How to avoid the sending of all contacts to server each time when I am opening the app.Also suggest me an effective algorithm to make best app
You could just send the changed contact to the server, use an additional field like, status and save this status from the last time you sync to server, if a contact created, or edited or deleted, you just need to change this field to not sync, and when you sending data to the server, send this not synced data to the server.

QuickBlox Chat: How to detect that another user has disconnected?

I am implementing a chat application for iOS. Here is the scenario:
Two QBUUsers engaged in an active exchange of chat messages.
User1 goes offline for some reason (disconnects or app goes to background). Lets assume that the app called logout on the QBChat instance.
User2 sends a ChatMessage to User1 because he thinks User1 is still online.
I should send a Push Notification to User1 instead, but how do I detect that User1 is no longer available to receive a ChatMessage?
I saw that on StackOverflow someone recommended checking the "last_request_at" property on a QBUUser, but that seems heavy-handed since I have to query the server every time I send a ChatMessage. Also that will not tell me when they logged out of the QBChat instance.
My fallback plan is to track user login/logout on our own app server (not rely on QuickBlox server). Any elegant solution here using the QuickBlox SDK?
You have 2 ways what to do:
1) Use contact list http://quickblox.com/developers/SimpleSample-chat_users-ios#Contact_list
With contact list you can track online status of user for your contact list. Contact list is similar to common friends list like in Facebook.
2) send Push Notifications for every message. If user is offline - he will receive it. If user is online - just ignore this push.

Resources