There might be some use cases where you want to trigger an event and then upload it to mParticle when the app is in the background.
mParticle SDK sends whatever events were queued when the app goes background, but if we fire the event while it's in background, the batch that contains that specific event won't be delivered to the server until the apps goes to the foreground again or gets closed and opened again.
If you need to make sure that an event is delivered in a timely manner, no matter if the app is in foreground or background, you can force the upload of the batch by calling the upload method (here are Android and iOS methods). This will allow you to use the most up to date information in case you want to provide personalization to your users when they reopen the app.
Check our docs for more information.