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.
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.
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.
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.
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.
With the user data gathered, register the phone. Keep the response for use later, particularly the client UUID will be required.
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.
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.
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.
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.
With the user data gathered, register the phone. Keep the response for use later, particularly the client UUID will be required.
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.
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.
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.
Simply register the google client, with appropriate dataclasses and URIs.
Using the returned values when registering the sync clients, we register the binding with the sync engine.
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.
Locate the synchronization option in the menu, wherever it may be.
Including the datastore. If not synchronizing with a phone, these must be initiated by the sync engine.