A method comprising: receiving, by a client on a client device, a data change notification, wherein the data change notification indicates a change in data relating to the client at a client data store; determining, by the client, a type of the data relating to the client changed at the client data store, wherein the type of the data relating to the client changed at the client data store is Push-to-talk over cellular (PoC) presence data, PTT contact data, PTT group management data, a push-to-X text message notification, a push-to-X multimedia message service notification, a PTT instant personal alert, PTT location tracking data, changes to PTT call in progress notification, a PTT call completed notification, or a combination thereof; and determining, by the client, a data synchronization mechanism in accordance with the type of the data relating to the client changed at the client data store, wherein determining the data synchronization mechanism comprises determining when to attempt, by the client, a data synchronization to synchronize data on the client device with the data relating to the client changed at the client data store, wherein the data synchronization mechanism is a non-real-time data synchronization mechanism, and wherein the non-real-time data synchronization mechanism comprises: determining, by the client, whether the client is running in a foreground of the client device 102) or running in a background of the client device; and attempting, by the client, to synchronize the data on the client device with the data relating to the client changed at the client data store when the client is running in the foreground of the client device, wherein the non-real-time data synchronization mechanism further comprises waiting, by the client, until the client is running in the foreground to attempt to synchronize the data on the client device with the data relating to the client changed at the client data store when the client is running in the background of the client device. receiving, by a client on a client device, a data change notification, wherein the data change notification indicates a change in data relating to the client at a client data store; determining, by the client, a type of the data relating to the client changed at the client data store, wherein the type of the data relating to the client changed at the client data store is Push-to-talk over cellular (PoC) presence data, PTT contact data, PTT group management data, a push-to-X text message notification, a push-to-X multimedia message service notification, a PTT instant personal alert, PTT location tracking data, changes to PTT call in progress notification, a PTT call completed notification, or a combination thereof; and determining, by the client, a data synchronization mechanism in accordance with the type of the data relating to the client changed at the client data store, wherein determining the data synchronization mechanism comprises determining when to attempt, by the client, a data synchronization to synchronize data on the client device with the data relating to the client changed at the client data store, wherein the data synchronization mechanism is a non-real-time data synchronization mechanism, and wherein the non-real-time data synchronization mechanism comprises: determining, by the client, whether the client is running in a foreground of the client device 102) or running in a background of the client device; and attempting, by the client, to synchronize the data on the client device with the data relating to the client changed at the client data store when the client is running in the foreground of the client device, wherein the non-real-time data synchronization mechanism further comprises waiting, by the client, until the client is running in the foreground to attempt to synchronize the data on the client device with the data relating to the client changed at the client data store when the client is running in the background of the client device. determining, by the client, whether the client is running in a foreground of the client device 102) or running in a background of the client device; and attempting, by the client, to synchronize the data on the client device with the data relating to the client changed at the client data store when the client is running in the foreground of the client device, wherein the non-real-time data synchronization mechanism further comprises waiting, by the client, until the client is running in the foreground to attempt to synchronize the data on the client device with the data relating to the client changed at the client data store when the client is running in the background of the client device.