2016-12-16 3 views
7

Я работаю с XMPP для реализации чата в своем приложении для Android, и я использовал для этого API Smack. Мой чат работает нормально, и я сохраняю все сообщения чата на Android-устройстве локально. Следя за некоторыми проблемами, с которыми я сейчас сталкиваюсь.Реализация FCM с помощью XMPP с использованием Smack для Android

  1. Во время чата, если как-то соединение потеряно, то это займет много времени, чтобы переподключение снова и иногда это даже не подключается. Даже после того, как соединение связано, это остановка отправки чат сообщения, как он не получает от других боковых anymore.I имеют снова инициализировать ресурсы, но иногда работает
  2. Я хочу использовать FCM, чтобы отправить сообщение, если мой пользователь отключен (офлайн). Я реализовал FCM для других вещей и его работу штраф. Но я хочу знать, как использовать FCM с SMACK API, если пользователь на другом сайте отключен. Я пытаюсь, но я не знаю правильного способа реализации FCM с XMPP.
  3. Я не могу получить присутствие Пользователя на другой стороне во время чата.

Пожалуйста, предложите мне правильный способ реализации smmp (openfire). Таким образом, он работает легко, как whatsapp. Пользователь подключается сразу после подключения к Интернету или Activity open как новый экземпляр и т. Д. Его от 1 до 1 чата, и только два пользователя подключаются одновременно. Заранее спасибо и, пожалуйста, не уменьшайте мой вопрос, так как я новичок в реализации XMPP.

+0

У меня такая же проблема, иногда я даже не получаю отключенный обратный вызов. После «повторного подключения» он не отправляет сообщения в FCM. –

+0

Я также сталкиваюсь с той же проблемой. пожалуйста, помогите – Rajinder

+0

Я страдаю то же самое. Любой может помочь. –

ответ

-1
  • Для потери связи следует определить широковещательный приемник и когда соединение вниз близко подключение к openfire и когда дело доходит до повторного подключения снова убедитесь, что вы подключены и авторизованы.

  • Для автономного пользователя это серверная сторона, как указано ниже, когда пользователь отправляет сообщение, чтобы открыть огонь, проверить, является ли конечный пользователь онлайн, а затем он передает ему сообщение, и если он находится в автономном режиме, он будет сохранять сообщение в database, и если конечный пользователь приходит up open fire ask fire base, чтобы отправить его конечному пользователю

Смежные вопросы