Что случилось с документацией по проверке неопубликованной загрузки Google?

При использовании наборов приложений существует риск того, что пользователь загрузит настроенный APK на несовместимое устройство. Это может привести к сбою, так как требуемые плотности/языки не будут присутствовать.

Чтобы решить эту проблему, в Google Play Core есть удобная функция MissingSplitsManager. Это показывает пользователю полезную ошибку при запуске вместо сбоя. Все, что нужно сделать, это добавить в класс приложения следующее:

override fun onCreate() {    
    if (MissingSplitsManagerFactory.create(this).disableAppIfMissingRequiredSplits()) {
        return
    }
    super.onCreate()
} 

Эту проверку очень легко реализовать, и подробные инструкции ранее были доступны по адресу https://developer.android.com/guide/app-bundle/sideload-check. Есть ссылки на это повсюду, например. в выпуске Realm или вверху документацию по MissingSplitsManager.

Однако эта ссылка теперь перенаправляет в раздел «Известные проблемы» с очень расплывчатой ​​информацией:

Частичная установка неопубликованных приложений, то есть приложений, установленных не через Google Play Store и не имеющих одного или нескольких обязательных разделенных APK-файлов, завершается сбоем на всех сертифицированных Google устройствах и устройствах под управлением Android 10 (уровень API 29) или выше. При загрузке вашего приложения через Google Play Store Google гарантирует, что установлены все необходимые компоненты приложения.

Итак, что случилось? Почему простая проверка библиотеки больше не упоминается даже в документации библиотеки.

Возможно, есть какая-то недокументированная проблема с библиотекой? Возможно, Google вообще не хочет помогать боковой загрузке?


person Jake Lee    schedule 04.03.2020    source источник


Ответы (1)


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

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

person Pierre    schedule 10.03.2020
comment
Под лучшим решением вы имеете в виду диалоговое окно с ошибкой установки, которое появляется на Android 10 и не поддерживает переустановку приложения? Просто проверяю, мы говорим об одном и том же. - person Jake Lee; 10.03.2020
comment
Верный. Платформа Android не должна позволять устанавливать неполные приложения в первую очередь, что было исправлено, поэтому теперь разработчикам не нужно прыгать через обручи (и замедлять работу своих приложений), чтобы избежать сбоев в своих отчетах. -- Я отредактировал свой ответ, чтобы удалить лучшее решение, так как я чувствую, что вы подумали, что это спорно. - person Pierre; 10.03.2020
comment
@Pierre, но это работает только на Android 10, верно? как насчет других версий и особенно Android 4.1, которые вообще не поддерживали MissingSplitsManager - person Wackaloon; 18.06.2020
comment
Это изменение было перенесено на все версии Android через Google Play Protect. - person Pierre; 19.06.2020