IP Messaging, variously referred to as "real-time", "native", "in-app", or "over-the-top" messaging, describes the general use of TCP/IP (the Internet protocol) to provide messaging capabilities to mobile applications (typically via GSM / 3G / LTE or WiFi connectivity). In mobile development, IP Messaging is closely associated with instant messaging, geolocation tracking, mobile / push notifications, and IoT automation.
It is the primary form of user-to-user and application-to-user messaging in modern mobile applications and has several distinct advantages over technology like SMS / MMS. These advantages include:
Any device with an IP address may send and receive messages to anywhere globally over the Internet. In today's world, it's not difficult to see how far this idea went.
Per-message fees do not apply. As such, IP Messaging is technically free apart from the indirect, and often negligible, cost of bandwidth usage. The term, "over-the-top", originates from this fact, as IP Messaging uses public Internet routing and skips over the fees imposed by telecommunication carriers.
Developers have complete control over messaging functionality and appearance as it can be embedded within the application UI (i.e. "in-app"). Similarly, users can enjoy the benefit of not having the leave the app to receive messages or notifications that would otherwise be served via SMS.
Any type and amount of data can be sent and received by a client (e.g. text, images, voice, video, sensor data, metadata, and any arbitrary application data). An app can use IP Messaging for anything it needs to communicate to users or to itself.
Any application – whether web, mobile, desktop, or embedded – can make use of IP Messaging, while the specific methods of implementation and technologies used will vary widely between its almost unlimited use cases ranging from basic chat apps to the next Uber. In short: anything the Internet can do, IP Messaging can do for your app, too.