- PVSM.RU - https://www.pvsm.ru -
Отгремела конференция google io 2013. В этом году она оказалась какой то противоречивой – показали много чего никто не ожидал, а то что ожидали – показано не было. Ну да ладно, об этом было много уже написано, статья о другом.
Поговорим мы сегодня лишь об одном нововведении, и проблемах, которые оно мне принесло – “Советы по оптимизации” в консоли google play.
Казалось бы – хорошая штука – анализирует наше приложение и дает советы по оптимизации. К примеру для старых проектов она показывает языки, на которые не мешало бы перевести приложение, так как из данных стран идет большое количество закачек.
Небольшая предыстория:
У нас в компании есть один заказчик, для которого мы выпускаем приложения. Они в основном все однотипные – отличаются только цветовой схемой и данными. Дизайн приложения был разработан давно и всех устраивал. Приложения всегда работали как на телефонах, так и на планшетах – интерфейс построен на основе фрагментов. Единственное что – не стали внедрять экшен бар – ну не нужен он там был никогда – меню использовалось старого стиля.
В манифесте был прописан android:targetSdkVersion=«10» и на всех девайсах использовалась либо физическая кнопка меню, либо, если ее нет на устройстве, появлялась в андроидовской панели кнопок.
Так вот, к чему это я – через пару дней после конференции, заказчик попросил выложить новое приложение, которое к этому времени уже было разработано и оттестировано. Сказано – сделано. Процесс публикации почти ничем не отличался от предыдущих – единственное что, сделали отдельно скриншоты для телефонов и планшетов, так как в интерфейсе теперь их разделили. Выложил я приложение, проверил что оно появилось в google play на моем ТЕЛЕФОНЕ, и пошел с чистой совестью домой. Ничего не предвещало беды…
На следующее утро, по приходу на работу, тестеры сообщили что приложение находит только в телефоне, а на планшетах в маркете его найти не могут. Я начал проверять – в чем же дело. В списках поддерживаемых устройств, все планшеты, имеющиеся в наличии, присутствовали. И тут я увидел скриншот из начала статьи.
Ага, подумал я, и быстренько пересобрал и выложил приложение с android:targetSdkVersion=«11».
Ага, подумал google, и в google play появилась вторая версия приложения, доступная для планшетов но… без кнопки меню!
Я начал искать что же не так, ведь вроде же читал раньше, что если у нас не используется экшен бар – кнопка должна быть, вот и выдержка из статьи [1]:
Казалось бы, третий пункт как раз нам подходит, но есть нюанс – в нем сказано только про телефоны! И действительно, на телефонах кнопка меню появлялась.
Ну что ж, ничего не поделаешь, оставалось только сообщить заказчику о двух возможных вариантах решения проблемы:
Ну а чтобы в в google play не лежала нерабочая версия – решил ее откатить. Но тут как раз нашли небольшой баг в приложении и я решил его исправить и включить в сборку. Откатил targetSdkVersion на 10 и выложил третью версию(опять появился совет об адаптации приложения под планшеты)…
Каково же было мое изумление, когда через некоторое время мой планшет захотел обновиться! Я обновил его на третью версию, где присутствовала кнопка меню! Ну думаю, наверное просто небольшой баг в google play – обновилось, так как была уже версия на устройстве. Но проверив на “чистом” планшете – я так же нашел его и установил!
Я думаю что это связано с тем, что google распространяет свою фильтрацию только на вновь созданное приложение, а если оно уже раньше было доступно для данного типа устройств(вторая собранная версия) то он свое ограничение убирает. Такой вывод можно сделать из того что в старых приложениях выводится предупреждение о targetSdkVersion, но в поиске для планшетов оно присутствует – если бы они закрыли эту возможность, было бы очень много возмущений от разработчиков старых приложений.
Надеюсь данный опыт будет полезен и сэкономит время разработчикам, столкнувшимся с данной проблемой. Да и на самом деле это даже к лучшему – больше разработчиков начнет задумываться о приведении внешнего вида приложений к стилю, рекомендованному платформой [2].
Автор: igor_ab
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/android-development/35042
Ссылки в тексте:
[1] статьи: http://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html
[2] рекомендованному платформой: http://developer.android.com/design/index.html
[3] Источник: http://habrahabr.ru/post/180701/
Нажмите здесь для печати.