ObexCode Logo ObexCode Logo

Registering a sync engine binding

Registering a binding in the sync engine takes a few steps extra when not using the simplified interface, but allows for better control and registering of any available sync source. Guide here.

1. Register sync clients

First the two sync clients that are to be bound needs to be registered. The procedure for this differs depending on the sync source used.

1.1 SyncML phones

SyncML is used by most classic phones as well as Symbian based smartphones. For phones based on Windows Mobile, Google Android or iPhone OSes, se the ActiveSync section below.

Fetch phone model data

You will need to present options for the user to select her phone model from the collection of supported phones. See the phone model data document for details on fetching this.

Prompt user for required data

Some user data needs to be registered.

  • Phone number

  • Phone model selected from the lists downloaded above.

  • User's timezone if the application should allow for users in different timezones. This is optional. If not supplied the application user's settings or the server setting will be used.

How these data are gathered is up to the vendor application. These data must be provided when registering the phone and user in the next step.

Register phone

With the user data gathered, register the phone. Keep the response for use later, particularly the client UUID will be required.

Send phone setup SMS

After registering the phone, a setup SMS must be sent to the phone to configure the SyncML component of the phone. The user will need to accept this by typing the provided pin code, and depending on the phone, select the new settings as the standard synchronization settings.

The Setup SMS may be sent to the phone at any time, and we suggest waiting until the binding is registered before sending it in case something fails during the rest of the registration process.

1.2 ActiveSync phones

ActiveSync (Exchange sync) is used by iPhones and phones based on Windows Mobile and Google Android. On phones that support both ActiveSync and SyncML, using SyncML is preferred, and we only list those as SyncML phones.

Fetch phone model data

You will need to present options for the user to select her phone model from the collection of supported phones. See the phone model data document for details on fetching this.

Prompt user for required data

Some user data needs to be registered.

  • Phone number

  • Phone model selected from the lists downloaded above.

How these data are gathered is up to the vendor application. These data must be provided when registering the phone and user in the next step.

Register phone

With the user data gathered, register the phone. Keep the response for use later, particularly the client UUID will be required.

Configure phone

ActiveSync does not support sending configuration details by SMS, so the user will have to configure the phone manually. The response from the phone registration contains the details for doing this and should be presented to the user.

1.3 Datastore

The internal datastore can be used to store data in the ObexCode database. Data will be available through the content feed for each registered datastore client.

Register client

A datastore client registratin basically just consists of an identifier to use for recognizing the client when listing all clients. See the datastore docs for details. Remember to keep the returned client entry for later use, the returned UUID will be required.

1.4 Google data

Simply register the google client, with appropriate dataclasses and URIs.

2. Register binding

Using the returned values when registering the sync clients, we register the binding with the sync engine.

3. Synchronize

Depending on the sync sources, synchronization either must be started from the device, or from the sync engine itself. Rule of thumb is that devices that require user interaction, such as phones, needs to be started from the device, while online services must be started from the sync engine.

3.1 SyncML phones

Locate the synchronization option in the menu, wherever it may be.

3.2 Online services

Including the datastore. If not synchronizing with a phone, these must be initiated by the sync engine.