Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Smart App Updates on Google Play Store: how does it work?

The Google Play store supports (since Aug 2012) a new feature called Smart App Updates, that allows downloading only the necessary "delta" when upgrading an app.

I have found no documentation for developers regarding this feature, thus I don't know how to optimize my app to make sure it benefits from this great mechanism.

So, does anyone know:

  • What are the technical impacts (if any) that would be good to know for the developers? (I suppose a new, full-size APK is built on the user's device, or maybe the unchanged data is stored somewhere else?)
  • Is the reutilization of unchanged data from the previous versions limited to certain resources? (like files in the asset folder)
like image 681
Sébastien Avatar asked Oct 12 '12 14:10

Sébastien


People also ask

What means smart update?

With these smart updates, users don't have to download the complete app when there is an update. Instead, only the parts of the app that have changed need to be downloaded.

What happens when app gets updated?

Updating your apps to the latest version gives you access to the latest features and improves app security and stability. Important: If Google determines that an app update fixes a critical security vulnerability, we may make certain app updates.

How does app update work?

The developer publishes a new version (4.0). The 90-day period ends, the app is added to the update queue and will be automatically updated according to the default update behavior, once the constraints are met. The constraints are met and therefore the app is updated to the latest available version (4.0).

What do Google Play system updates do?

Google System updates make your Android devices more secure and reliable and give you new and useful features. They include updates from Google to the Android operating system, Google Play Store, and Google Play services.


1 Answers

Step by step:

  1. GDIFF, a delta encoding algorithm, is used to compute the difference between the old application version and the new one. This is done on the server side. This computed difference is usually referred to as a patch file.
  2. The patch file is transferred to the device.
  3. The Google Play Store app uses the patch file and the old application to construct the new version of the application.
  4. The new version is installed on the device.

Currently, patch size is 25% of the new application version size (on average). Thus, you get 75% traffic saving on average. The trade off is that you have to do more computations on the end device to deploy the received patch, depending on the delta encoding technique. GDIFF is extremely simple, and has minimal overhead. The difference is computed between APK packages (all information in the APK is used). As was mentioned, developers don't need to do anything to benefit from this new feature.

like image 96
Nikolai Samteladze Avatar answered Sep 22 '22 11:09

Nikolai Samteladze