Как отправить уведомление на пинг устройства
Периодически наше приложение получает уведомление через GCM. Мы хотим, чтобы GCM отправлял уведомления только тогда, когда приложение подключено к серверу, в противном случае GCM не должен отправлять какие-либо уведомления.
Есть ли способ определить, подключено ли устройство к серверу GCM? Можем ли мы отправить PUSH-уведомление для проверки связи с устройством?
Я погуглил несколько сообщений и обнаружил, что есть что-то под названием "HEART_BEAT", но, похоже, оно используется для отправки уведомлений с устройства на сервер GCM.
Примечание:
Можем ли мы использовать MQTT-протокол в сочетании с GCM? пожалуйста посоветуй
Пожалуйста, дайте мне знать, может ли сервер GCM пропинговать устройство. пожалуйста, приведите примеры.
2 ответа
Установите TTL равным 0. Это заставляет FCM отправлять сообщение только в том случае, если оно считает, что устройство подключено.
Просто сделайте простую логику и отправьте конкретное сообщение (например, testing_message) на мобильное устройство из GCM, если получатель вещания обнаруживает, что это же сообщение не генерирует push-уведомления. Просто сделайте приложение, чтобы отправить обратно массаж в GCM(не уверен, что это возможно) или в базу данных. Будет ответ, если устройство подключено, и не будет ответа, если устройство не подключено. Затем отправьте реальный пинг, только если устройство подключено.
Вы можете добиться этого с помощью Pushy, который используетMQTT
под капотом для доставки ваших уведомлений.
Используя API присутствия устройства, вы можете определить, подключено ли устройство в данный момент, прежде чем отправлять им какое-либо уведомление.
Полное раскрытие - я работаю в Pushy.