I want to synchronize my app's data between several Android devices. To make it simple for user, I want to somehow use Google account.
So my question is - does Google provide some free cloud storage? My app's data shouldn't be bigger than 50MB. If not, is there any free alternative or workaround (for example saving data to user's Drive)?
It sounds like you are looking for the App Folder. This folder belongs to the user's Google Drive, but is hidden.
You can save to this folder using something like this (taken from the documentation):
final private ResultCallback<DriveContentsResult> contentsCallback =
new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Error while trying to create new file contents");
return;
}
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle("appconfig.txt")
.setMimeType("text/plain")
.build();
Drive.DriveApi.getAppFolder(getGoogleApiClient())
.createFile(getGoogleApiClient(), changeSet, result.getDriveContents())
.setResultCallback(fileCallback);
}
};