2016-11-15 1 views
0

Я занимаюсь исследованиями в течение последних нескольких дней, но не нашел конкретного ответа на этот вопрос.Как сервер уведомляет мобильное приложение?

У меня есть мобильное приложение, в которое вошли пользователи. Приложение делает вызов внешней базы данных с использованием REST Api и извлекает данные, когда это необходимо, например: нажатие кнопки, загрузка и т. Д.

Однако я не могу понять, как заставить сервер уведомлять пользовательское/мобильное приложение, когда что-то происходит.>

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

Скажем, один пользователь сообщает другому пользователю, как я могу заставить сервер отправлять пинг или что-то в мобильное приложение этого конкретного пользователя, чтобы сообщить ему о новом сообщении?

Насколько я знаю, REST является полностью независимым от сервера/приложения и связь идет только один путь: приложение -> Сервер -> возвращает данные в приложение

Есть ли способ для сервера для отправки данные в приложение без какого-либо первоначального запроса?

Или, если есть лучший способ сделать это


Я использую Xamarin кросс-платформенный с PHP бэкэндом (Слим)

Я читал немного о уведомления толчка, но я «Не уверен, что это то, что им нужно.

Я хочу обновить приложение, пока пользователь все еще включен, например, когда он получает сообщение. Вместо того, чтобы получать push-уведомление от Google, приложение должно просто быть предупреждено сервером о том, что новое сообщение находится в и перезагрузите «нить»

ответ

0

Попробуйте использовать базу данных реального времени, такую ​​как firebase.

Я думаю, вы должны создать пользователя, чтобы прослушать события базы данных. При таком подходе база данных уведомляет вашего потребителя о событиях, возникших на сервере, как и сообщение, полученное на стороне сервера с другого устройства.

Посмотрите, подходит ли официальная документация к вашей проблеме: https://firebase.google.com/docs/database/