JRA library works on separate process called mobiencesdk to ensure the best application stability. Library for communication between main and remote mobiencesdk process uses broadcast receivers (MobienceSDKReceiver.class - remote, MainSDKReceiver.class - main). Several things must be assured (check attached flow diagram) before library start collecting data which further send to server. From obligatory things library at first create new user on server (if fail repeat step until finish success), then start gather data and set repeat task to send collected data to server. At the same time library set job to register newly installed application instance on server. Library at first launch starts working on default or last saved congurations. In the meantime trying download as fast as it's possible the newest remote configuration file. If that happens, reconfigure all settings to match remote. All main application library process http work is done using Android jetpack feature called Workmanager.

Library simplified Flow Diagram:

JRA_main_flow_diagram.jpg

Library sequence diagram:

JRA_sequence_diagram.jpg

Tags:
Spicy Mobile
spicymobile.pl