Google Play <совместимые экраны> блокируют устройства Samsung при изменении их разрешения

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

Мы обнаружили, что это происходит только с устройствами Samsung E.G. S7, S8 и S6 Edge +, когда параметр разрешения экрана изменен в настройках устройства.

В нашем манифестах указывается следующая поддержка экрана. Это работает для Galaxy S7 во всех разрешениях экрана, но не будет работать на S6 Edge с разрешением WQHD, в магазине Google Play говорится: "Ваше устройство не совместимо с этой версией", пока не будет выбрано другое разрешение.

<!-- just handsets allowed -->
<compatible-screens>
  <screen android:screenSize="small" android:screenDensity="280" />
  <screen android:screenSize="small" android:screenDensity="xhdpi" />
  <screen android:screenSize="small" android:screenDensity="360" />
  <screen android:screenSize="small" android:screenDensity="420" />
  <screen android:screenSize="small" android:screenDensity="xxhdpi" />
  <screen android:screenSize="small" android:screenDensity="560" />
  <screen android:screenSize="small" android:screenDensity="xxxhdpi" />
  
  <screen android:screenSize="normal" android:screenDensity="ldpi" />
  <screen android:screenSize="normal" android:screenDensity="mdpi" />
  <screen android:screenSize="normal" android:screenDensity="hdpi" />
  <screen android:screenSize="normal" android:screenDensity="280" />
  <screen android:screenSize="normal" android:screenDensity="xhdpi" />
  <screen android:screenSize="normal" android:screenDensity="360" />
  <screen android:screenSize="normal" android:screenDensity="420" />
  <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
  <screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
  <screen android:screenSize="normal" android:screenDensity="480" />
  <screen android:screenSize="normal" android:screenDensity="560" />
  <screen android:screenSize="normal" android:screenDensity="640" />
</compatible-screens>

Ответы

Ответ 1

Фрагментация в устройствах Android огромна, я видел, что некоторые пользователи определяют <compatible-screens> в своих приложениях, но иногда, когда новое устройство выпускается с новой плотностью или разрешение экрана изменяется пользователями, они не могут загрузите приложение из Google Play Store.

Я использовал определение compatible-screens в своем AndroidManifest.xml

<!-- just handsets allowed -->
<compatible-screens>
  ...
  ...
  ...
</compatible-screens>

но в конце, чтобы избежать сообщения "Ваше устройство несовместимо с этой версией" и фильтрации из Google Play для определенных устройств, я удалил ограничение <compatible-screens> из моего AndroidManifest.xml во всех моих приложениях.


Если вы хотите исключить только планшеты, я использовал эту конфигурацию на основе этого ответа от Марка Мерфи.

<compatible-screens>
    <!-- all small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <screen android:screenSize="small" android:screenDensity="xhdpi" />
    <screen android:screenSize="small" android:screenDensity="xxhdpi" />
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
</compatible-screens>