Edit: So, to answer your question - no, this is not a reliable way to synchronize your data.
When a user buys a new device or resets an existing one, they can expect that when Google Play restores your application back to their device during initial setup, the previous data associated with the application will also be restored. By default, this does not happen, and all user achievements or settings in your application are lost.
As I can see, your application stores data in the cloud. You transfer files to backup servers and using the API key (which is unique for each google user account) allows you to download a backup to other devices, but can only be accessed when installing the application or performing a manual request. The documentation states:
The backup service is not intended to synchronize application data with other clients or to save data that you would like to access accidentally during the application life cycle.
As I understand it (without doing it yourself), you cannot use this as a reliable method for real-time cloud data synchronization.
the manifest will probably start processing your data and determine whether to back up.
At some point in the future , the backup manager then calls your backup agent onBackup () method
Restoring a backup is not manual:
Normally, you don’t need to manually request recovery, as it does automatically when your application is installed on the device. However, if you need to start manual recovery, just call the requestRestore () method.
Daniel
source share