Предотвращение загрузки приложения из Google Play устройствами без расширения GL

#opengl-es #google-play #android-manifest

#opengl-es #google-play #android-манифест

Вопрос:

Можно ли сделать приложение недоступным для устройств без определенного расширения OpenGL ES в Google Play Store?

Поскольку <supports-gl-texture> принимает имя расширения, а не формат текстуры, можно ли его использовать для общих расширений GLES?

Ответ №1:

Да, я считаю, что есть, например:

 <uses-feature android:glEsVersion="0x00020000" android:required="true" />
  

Это заявление не позволит устройствам, которые не поддерживают OpenGL es 2.0, видеть ваше приложение в playstore.

Попробуйте это:

 String extensions = javax.microedition.khronos.opengles.GL10.glGetString(
        GL10.GL_EXTENSIONS);
  

Согласно документам, extensions переменная будет содержать разделенный пробелом список поддерживаемых расширений для GL. Так что я думаю, вы можете просто использовать .contains("GL_OES_depth24"); или что-то в этом роде. Вам нужно будет проверить некоторые примеры содержимого возвращаемых файлов, чтобы узнать, как это проверить.

Я не знаю, как запретить приложению появляться в Google Play Store, но вы можете просто поставить этот флажок в начале своего приложения, который сообщит пользователям, что вы не можете использовать это приложение или что-то в этом роде.

Комментарии:

1. Спасибо за ответ, но это не то, что мне нужно. В моей игре много z-файтингов с 16-битными буферами глубины (Tegra 2/3), и на текущем этапе разработки уровней исправить это было бы безумно сложно. Итак, я хочу скрыть игру от устройств без GL_OES_depth24 расширения.

2. @SiPlus Пожалуйста, посмотрите мое редактирование: я не знаю, поможет ли это, но, надеюсь, поможет.

3. Да, я знаю, но я действительно не хочу добавлять это в код средства визуализации движка, потому что движок поддерживает 16-битный буфер глубины, с ними игровые уровни выглядят уродливо. А объем игры составляет 500 МБ, поэтому сообщение об ошибке во время выполнения не подходит.

4. @SiPlus Я буду честен с тобой. Извините, это выходит за рамки моих знаний.

5. Можете ли вы разделить загрузку? Таким образом, пользователям нужно только загрузить начальные 10 МБ или что-то в этом роде и запустить. Затем вы выполняете проверку во время выполнения и разрешаете им загружать всю игру целиком, только если они ее поддерживают.