I need to update local db on device with content stored in the external db via internet. This app will be used for making the orders, so the prizes of items must be actual for all the time. At the moment, I have smth like starting screen when we see nice pictures with progress bar and some kind of announcements. Firstly I take from external server the version of db and If it's equal to local version I go to menu screen. If it's not equal I update my local db and then go to the main manu. This screen is only opened when we lunching the app.
I describe how I see WP lifecycle
The application is lunching only first time and to get lunching event next time we need to close app by back button and not always it works like that. I'm not sure but I think when we very quickly start app and close it, the app is deactivated not closed.
When user goes to other app, our app goes to dormant state and when we go to our app back it will be activated (not lunched)
Here is the picture which shows application lifecycle
I took this picture from this site:http://blogs.msdn.com/b/lindsay/archive/2012/04/10/hackready-phone-episode-3-of-7-understanding-windows-phone-s-application-lifecycle-and-state-management.aspx
And my question is when we should update our app?
We can't give a chance to make an order with older data(prizes/products). User can keep our app for weeks in dormant state and in meantime the prize can goes up or down. On the other hand when we would check for updates every time when our app become activated we create a lot of traffic and It would be awkward for user. ( the user is so important person here, because he would be play with it).
What you think about informing app about updates by sending push notification. When the app gets notification, it just showing the update screen and make the job ;) I think It would be the best way, because the app don't need to ask for updates server every time and we don't miss any new content.
Any suggestion and points of view, how would you solve this problem will be priceless for me.