Я использую приложение openfire для чата на iOS и php-сайте. и все работает нормально.Уведомление о запуске openfire/триггер
Я также внедрил push-уведомления, когда пользователь оппонента находится в автономном режиме, и вы отправляете сообщение этому пользователю (в коротком push-уведомлении для автономного сообщения). Я реализовал выше материал, который доступен здесь: Openfire offline notification through PHP
Теперь клиент просит меня реализовать еще одну особенность, которая включает в себя:
- Отправить письмо администратору, когда любой пользователь переходит в автономный режим.
Но теперь нет никакого крючка для отслеживания статуса пользователя. Итак, как реализовать то же самое?
То, что я пытался
Я также попробовал один трюк, в котором я посылаю широковещательного сообщения всем пользователям, и если какой-либо пользователь offile тогда мой CallbackOnOffline плагин будет ссылаться, но здесь его не посылает широковещательный сообщение для пользователей offline.
Я 100% согласен с вашей логикой, но проблема здесь мне нужно чтобы один пользователь вошел в систему все время в браузере, где я могу реализовать прослушиватель и на этом можно запустить ajax. Но что, если никто не войдет в систему и не хочет отслеживать присутствие пользователей ??? можно ли запускать любой URL-адрес так же, как плагин CallbackOnOffline? –
С Openfire (так что я ставлю также на любом другом сервере), вы можете перехватить какую-то Stanza (Presence) и при необходимости добавить фильтр (пример: «to = admin @ adminmessages»). Таким образом, просто перехватите любое объявление Присутствия, добавьте его или добавьте администратора и по умолчанию (вы можете дублировать Присутствие или просто заставить подписку и так далее). Теоретически вам не нужно, чтобы клиент всегда был в сети, вам просто нужно добавить необходимое условие, чтобы Openfire отправлял Присутствие. Вы перехватите присутствие перед тем, как openfire «осознает» admin он находится в автономном режиме – MrPk
«добавьте необходимое условие, чтобы Openfire отправил Присутствие», но вот отправить кому? Я хочу назвать один скрипт php в автономном режиме, возможно ли это? –