En general en cualquier app que requiera información de un servidor tienes dos opciones:
1) Conectarte el servidor y consultar la información (cuando el usuario use la app, con jobs que se ejecuten periódicamente, haciendo polling o usando conexiones permanentes como websockets...)
2) Que el servidor envié la información a la app con notificaciones push: Firebase Cloud Messaging (FCM)
En tu caso, tienes que ver qué información te hace falta y cuándo la necesitas. ¿Necesitas saber la posición cuando el usuario no tiene abierta la app? ¿O solo cuando el usuario está con la app abierta? Si solo la necesitas para mostrar el mapa, con conectarte mientras tenga el mapa abierto es suficiente. Ahí puedes usar websockets para enviar la posición en tiempo real sin tener que andar abriendo conexiones periódicamente.
Eso mientras el usuario está con la app abierta, si la cierra lo ideal es que la información que necesite la app para notificar algo la envíe por FCM el servidor y la app no tenga que abrir conexiones por su cuenta en ningún momento (que aparte Android limita bastante por su gestión de recursos a veces agresiva). Por ejemplo, el servidor podría enviar una notificación cuando ha alcanzado el destino, o cuando ha cambiado de posición considerablemente en los últimos minutos. Y ya el usuario decide si abrir la app (y conectarse al servidor para ver toda la información en tiempo real), o no.