We use a fine-tuned, minimalistic protocol called MQTT to minimize bandwidth consumption to the fullest extent. This is a protocol built for IoT devices with limited network resources.
While the actual amount of data consumed varies based on the number of times the device has disconnected and reconnected to the Internet, and number of notifications sent to that device, each idle connection consumes:
- 6.5k bytes for initiating the MQTT TLS connection
- 25 bytes for the MQTT connect packet
- 10 bytes every 5 minutes for the MQTT keep-alive packets (this interval can be customized)
-
10-4010 bytes for the MQTT message packet, for every push notification you send to the device (packet size varies based on the push payload you decide to send)
If a device reconnects to our service multiple times a day, the MQTT TLS exchange will need to occur several times a day and this will consume the most bandwidth.