Push Synchronization Applications

Clients receive device notifications when a data change is detected for any of the MBOs in the synchronization group to which they are subscribed.

Sybase Unwired Platform uses a messaging channel to send change notifications from the server to the client device. By default, change notification is disabled. You can enable the change notification of a synchronization group: If you see that setInterval is set to 0, then change detection is disabled, and notifications will not be delivered. Enable change detection and notification delivery by setting an appropriate value. For recommendations, see Configuring Synchronization Groups in Sybase Control Center Online Help.

ISynchronizationGroup sg = SUP101DB.GetSynchronizationGroup("TCNEnabled");

if (!sg.EnableSIS)
{
  sg.EnableSIS = true;
  sg.Interval = 2;
  sg.Save();
  SUP101DB.Synchronize("TCNEnabled");
}
When the server detects changes in an MBO affecting a client device, and the synchronization group of the MBO has change detection enabled, the server will send a notification to client device through messaging channel. By default, a background synchronization downloads the changes for that synchronization group. The application can implement the onSynchronize callback method to monitor this condition, and either allow or disallow background synchronization.
public int OnSynchronize(GenericList<ISynchronizationGroup> groups, SynchronizationContext context)
{
  int status = context.Status;
  if (status == SynchronizationStatus.STARTING_ON_NOTIFICATION)
  {
    // There is changes on the synchronization group
    if (busy)
    {
      return SynchronizationAction.CANCEL;
    }
    else
    {
      return SynchronizationAction.CONTINUE;
    }
  }

  // return CONTINUE for all other status
  return SynchronizationAction.CONTINUE;
}