F-Droid поддерживает файлы расширения APK — OBB

Для работы многих приложений, например, игр или карт, требуются большие объемы данных. Размер пакета APK не должен превышать 100 МБ, в то же время, не редко файл с картой всей страны запросто может оказаться гораздо больше. К тому же, в стремлении скорее показать пользователям приложение, ни к чему дожидаться загрузки огромного количества данных, которые можно загрузить после первого запуска приложения.

Для того, чтобы обеспечить гибкость при доставке большого количества данных в Google были разработаны файлы OBB, известные также как “APK Expansion”. К тому же, такое распределение данных позволяет сэкономить на передаче данных, поскольку пакеты APK и файлы OBB могут обновляться раздельно. К примеру, ресурсы игры не изменяются так уж часто, а потому их можно передавать в файле OBB. В то же время, при обновлении самого приложения, то есть пакета APK, не нужно включать ресурсы из файла OBB.

Файлы OBB применяются многими приложениями, такими как, игры и MAPS.ME. F-Droid поддерживает заблаговременную загрузку и установку файлов OBB, таким образом, когда начинается установка пакета APK, файлы OBB уже размещены и готовы к использованию. F-Droid также предоставляет механизм намерений, позволяющий приложениям получать ссылки на загрузку файлов OBB, в случаях, когда приложению требуется самостоятельно работать с обновлением или загрузкой файлов OBB. Аналогично механизму применяемому в Google Play.

Для того, чтобы воспользоваться поддержкой OBB, пользователю потребуется версия F-Droid не ниже 0.102, а репозиторий должен использовать fdroidserver версии не ниже 0.7.0. Добавить файлы OBB очень легко: просто скопируйте их в ту же директорию, где располагаются пакеты APK, например, /path/to/fdroid/repo/.

Разработчикам

Следует заметить, что применение файлов OBB подразумевает, что они могут не устанавливаться магазином приложений. Это значит, что после запуска приложения искомых файлов OBB может не оказаться на месте. В таком случае, приложение должно загрузить и установить файл OBB самостоятельно. Для этого Google Play рекомендует применять их собственную службу Application Licensing, F-Droid же предоставляет простой механизм, основанный на свободном ПО.

Чтобы получить ссылку на оба возможных файла OBB, сформируйте Намерение к F-Droid с помощью таких Действий:

  • org.fdroid.fdroid.action.GET_OBB_MAIN_URL
  • org.fdroid.fdroid.action.GET_OBB_PATCH_URL

Затем, удобным Вам образом загрузите файл по ссылке и убедитесь в том, что он оказался в _Android/obb/<НазваниеПакета>_ внешнего хранилища устройства.