Intereting Posts
Расширение / сворачивание CardView с помощью жестов нажатия или салфетки (Android)? Как я могу заставить свое приложение отображаться в списке поиска телефона Google Now? Существуют ли какие-либо огромные различия между объектами-c и Java, или iPhone и Android? Android studio – ошибка сценария сборки, неподдерживаемый метод Gradle DSL найден: «android ()»! Команда не найдена: adb при выполнении из каталога adb Эффект fitsSystemWindows пропал для фрагментов, добавленных через FragmentTransaction Как анимировать маркер в android-карте api V2? Просмотр внешних границ, не правильно рисующих Преобразование UTC в текущее время локали Как использовать устаревший HTTP-клиент Apache на Android Marshmallow? Найдено com.google.android.gms: play-services-gcm: 8.3.0, но нужна версия 8.1.0 Как нарисовать наложение на SurfaceView, используемое камерой на Android? Fab.show () не анимируется в первый раз после инициализации новой активности Установка Android, apk INSTALL_FAILED_POLICY_REJECTED_PERMISSION Android: Круговой Drawable

Обновления смарт-приложений в Google Play Store: как это работает?

В магазине Google Play (с августа 2012 года) появилась новая функция под названием Smart App Updates, которая позволяет загружать только необходимую «дельту» при обновлении приложения.

Я не нашел документации для разработчиков относительно этой функции, поэтому я не знаю, как оптимизировать мое приложение, чтобы удостовериться, что это выгодно для этого великолепного механизма.

Итак, кто-нибудь знает:

  • Каковы технические последствия (если они есть), которые были бы хорошими для разработчиков? (Я полагаю, что новый, полноразмерный APK построен на устройстве пользователя, или, возможно, неизменные данные хранятся где-то в другом месте?)
  • Является ли повторное использование неизменных данных из предыдущих версий ограниченным определенным ресурсом? (Например, файлы в папке с asset )

Solutions Collecting From Web of "Обновления смарт-приложений в Google Play Store: как это работает?"

Шаг за шагом:

  1. GDIFF , алгоритм дельта-кодирования, используется для вычисления разницы между старой версией приложения и новой. Это делается на стороне сервера. Эта вычисленная разница обычно упоминается как файл исправления.
  2. Файл патча передается на устройство.
  3. Приложение Google Play Store использует файл исправления и старое приложение для создания новой версии приложения.
  4. Новая версия установлена ​​на устройстве.

В настоящее время размер патча составляет 25% от размера новой версии приложения (в среднем). Таким образом, вы получаете в среднем 75% трафика. Компромисс заключается в том, что вам нужно сделать больше вычислений на конечном устройстве для развертывания полученного патча в зависимости от метода дельта-кодирования. GDIFF чрезвычайно прост и имеет минимальные накладные расходы. Разница вычисляется между пакетами APK (используется вся информация в APK). Как уже упоминалось, разработчикам не нужно ничего делать, чтобы воспользоваться этой новой функцией.

Причина, по которой нет документации, состоит в том, что она на 100% выполняется на стороне сервера без какого-либо внешнего взаимодействия. Разработчики не должны беспокоиться об этой функциональности. Просто разработайте свое приложение, которое обычно будет.

Справедливости ради, я не верю, что они хотят, чтобы кто-нибудь знал, как это работает, потому что я предполагаю, что это часть их интеллектуальной собственности.