Таргетинг только на быстрые устройства Android в Маркете

Я искал способ показать свою игру только на «достаточно быстрых» телефонах в Маркете, но не нашел хорошего ответа.

Некоторые люди предлагают настроить таргетинг с помощью SDK, но это не имеет никакого отношения к скорости.

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

Я также видел, как некоторые люди фильтруют версию OpenGL ES, но я не могу найти какую-либо базу данных, которая сообщает мне, какие телефоны имеют OpenGL ES 2. Предполагается, что Android 2.0 поддерживает его, но я не знаю, есть ли такие телефоны, как HTC Magic , после обновления до 2.0 будут поддерживать его или застрянут на 1.1.

Что было бы лучшим способом?

Спасибо


person IvanSF    schedule 06.10.2010    source источник
comment
Почему бы не предупредить пользователей, что медленные устройства могут привести к снижению производительности?   -  person Lucero    schedule 07.10.2010
comment
Вы не должны запрещать пользователям запускать ваши приложения на медленном устройстве, просто предупредите их о возможных проблемах с производительностью. Настольные игры не мешают вам устанавливать/запускать игры на медленном ПК, некоторые могут предупреждать о несоответствии системным требованиям, но я не видел ни одной игры, где бы вам намеренно запрещали установку/запуск.   -  person Lie Ryan    schedule 07.10.2010
comment
Потому что люди до сих пор устанавливают из маркета все, что можно, и если что-то не работает, то винят только приложение.   -  person IvanSF    schedule 07.10.2010
comment
Согласитесь, клиенты будут жаловаться, даже если им прямо сказали, что это не будет работать на их телефоне.   -  person stealthcopter    schedule 17.01.2011


Ответы (3)


Некоторые люди предлагают настроить таргетинг с помощью SDK, но это не имеет никакого отношения к скорости.

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

Я также видел, как некоторые люди фильтруют версию OpenGL ES, но я не могу найти какую-либо базу данных, которая сообщает мне, какие телефоны имеют OpenGL ES 2.

Вам не нужна база данных. Включив <uses-feature android:glEsVersion="0x00020000" /> в свой манифест, Android Market отфильтрует ваше приложение для пользователей, чьи устройства не поддержка OpenGL-ES 2.0 или выше.

person Christopher Orr    schedule 06.10.2010
comment
Даже очень старый G1 можно обновить до Android 2.2, версия SDK не является надежным показателем скорости. - person Lie Ryan; 07.10.2010
comment
Что, если G1 поддерживает OpenGL ES 2? Это не очень помогает мне. - person IvanSF; 07.10.2010
comment
Тогда, учитывая все ваши ограничения, если вы не сделаете свою игру более эффективной, вы вряд ли найдете удовлетворительное решение. - person Christopher Orr; 07.10.2010

Прежде чем обвинять аппаратное обеспечение, вы должны хорошенько взглянуть на свой код и сделать несколько раундов профилирования и оптимизации. Вопросы, на которые вам нужно ответить, — какая часть кода вызывает замедление и почему. На моем старом HTC Magic я видел довольно впечатляющие вещи, которые работали быстро и плавно, но я также видел, что довольно невпечатляющие вещи работали очень медленно и рывками.

Требование мощного оборудования может быть быстрым и простым решением — если вы сможете заставить его работать (см. все комментарии выше), — но в то же время вы упустите большую часть аудитории.

person m.m.    schedule 15.10.2010

Вы можете проверить, работает ли это:

добавьте это в свой манифест (см. http://developer.android.com/guide/topics/manifest/supports-gl-texture-element.html )

<supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc" />
<supports-gl-texture android:name="GL_EXT_texture_compression_s3tc" />
<supports-gl-texture android:name="GL_AMD_compressed_ATC_texture" />
<supports-gl-texture android:name="GL_ATI_texture_compression_atitc" />
<supports-gl-texture android:name="GL_AMD_compressed_3DC_texture" />
<supports-gl-texture android:name="L_EXT_texture_compression_dxt1" />

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

Впрочем, это только приблизительное предположение....

person P.Melch    schedule 29.04.2011
comment
Это отфильтровало бы ВСЕ устройства, потому что это говорит о том, что устройство должно поддерживать ВСЕ эти форматы сжатия текстур OpenGL. Никто из них этого не делает. (Например, Tegra поддерживает dxt, но не pvrtc, тогда как Kindle Fire и другие устройства PowerVR поддерживают pvrtc, но не dxt и т. д.) - person Clay Fowler; 17.05.2012