== Push service settings ==
The following settings are used in order for the push service to function properly.
{| class="wikitable" | width = "50%"
== Background polling service ==
As mentioned, a background polling service is responsible for communicating with the push web service and getting push updates.
This service is started once users successfully log in and will keep running until they are logged out.
=== Updating push parameters ===
There are different [[UBIK Push Web Service#Push Criteria|push criteria]] that define which data should be pushed to which clients.
As a result, the push web service requires a set of push parameters which can be used to check against these criteria.
=== Updating push data ===
The main job of the service is to get push data once it's ready to be pushed from the server. And the service is not interested in getting push data it has received before.
=== Updating content hierarchy ===
Upon receiving such push data, {{UBIK}} tries to update the content hierarchy as the parameters in the push data indicate. This can lead to various scenarios such as:
* Update of a single object;
=== Updating Meta Definitions ===
[[File:UI_Android_Push_Update_MetaDef_Uncommitted_Conflict.jpg|thumb|alt=Error Notification for Conflict during Updating Meta Definitions|Error Notification for Conflict during Updating Meta Definitions]]
=== Updating device status ===
[[File:UI_Android_Push_Maintenance_Uncommitted_Conflict.jpg|thumb|alt=Error Dialog for Conflict during Preparing for Maintenance|Error Dialog for Conflict during Preparing for Maintenance]]
=== Reacting to processing errors ===
In the push scenarios described above, once a conflict is detected and can not be resolved (e.g. updating Meta Definitions when there are uncommitted changes in manual sync mode), that particular push is considered as failed to be processed.
During the next push update, all the failed pushes will be reported to the push web service. The result of this is {{UBIK}} will get these failed pushes again along with the new pushes (if there are any). However, all successful pushes in the previous push update will not be delivered again.
== Push related errors ==
Just like for the content service, various errors can happen when the push service is running. For example,
* The push web service is unreachable due to misconfigurations in the settings;
In case such an error occurs, a notification is shown to inform the users so that they can either fix the issue or contact the administrators.
== See also ==
[[Category:UBIK Client]]
[[Category:UBIK Android]]