summaryrefslogtreecommitdiffstats
path: root/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd')
-rw-r--r--docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd1148
1 files changed, 1148 insertions, 0 deletions
diff --git a/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd b/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd
new file mode 100644
index 0000000..ca1b671
--- /dev/null
+++ b/docs/html-intl/intl/ru/distribute/googleplay/quality/core.jd
@@ -0,0 +1,1148 @@
+page.title=Основные критерии качества приложений
+page.metaDescription=Качество приложений напрямую влияет на востребованность вашего приложения: как много будет его установок, каким будут рейтинг и отзывы пользователей, насколько будет популярно приложение и как долго оно будет использоваться.
+page.image=/distribute/images/core-quality-guidelines.jpg
+@jd:body
+
+<div id="qv-wrapper"><div id="qv">
+<h2>Критерии качества</h2>
+ <ol>
+ <li><a href="#ux">Дизайн и взаимодействие</a></li>
+ <li><a href="#fn">Функциональность</a></li>
+ <li><a href="#ps">Производительность и стабильность</a></li>
+ <li><a href="#listing">Соответствие требованиям Google Play</a></li>
+
+ </ol>
+
+ <h2>Тестирование</h2>
+ <ol>
+ <li><a href="#test-environment">Настройка среды тестирования</a></li>
+ <li><a href="#tests">Процедуры тестирования</a></li>
+ </ol>
+
+ <h2>См. также:</h2>
+ <ol>
+ <li><a href="{@docRoot}distribute/essentials/quality/tablets.html">Качество приложений для планшетных ПК</a></li>
+ <li><a href="{@docRoot}distribute/essentials/optimizing-your-app.html">Оптимизация приложений</a></li>
+ </ol>
+
+
+</div>
+</div>
+
+<div class="top-right-float">
+ <img src="{@docRoot}images/gp-core-quality.png" style="margin-left: 20px;">
+</div>
+
+<p>
+ Пользователи Android ожидают высокого качества от устанавливаемых приложений. Качество приложений напрямую влияет
+на востребованность вашего приложения: как много будет его установок, каким будут рейтинг и отзывы пользователей,
+ насколько будет популярно приложение и как долго оно будет использоваться
+</p>
+
+<p>
+ Этот документ помогает оценить основные аспекты качества вашего приложения,
+ используя компактный набор основных критериев качества приложений и связанные с ними процедуры проверки. Все приложения Android
+ должны удовлетворять этим критериям.
+</p>
+
+<p>
+ Прежде чем публиковать свои приложения, проверьте их на соответствие
+ данным критериям, убедившись, что они корректно работают на различных
+ устройствах, отвечают стандартам Android в отношении навигации и дизайна,
+ подготовлены к использованию рекламно-популяризаторских возможностей магазина Google Play. Проводимое тестирование может существенно выходить за рамки описанных здесь процедур, цель этого документа
+ – обозначить основные признаки качества, которые должны демонстрироваться всеми приложениями, чтобы вы могли
+ предусмотреть их в своих планах проверки.
+</p>
+
+<p>
+ Если вы разрабатываете свои приложения для планшетных ПК или для
+ программы "Google Play для образования", необходимо учитывать
+ дополнительные критерии качества, которые сформулированы в документах <a href="{@docRoot}distribute/essentials/quality/tablets.html">Качество приложений
+ для планшетных ПК</a> и <a href="{@docRoot}distribute/essentials/gpfe-guidelines.html">Руководство по разработке
+ образовательных приложений</a>.
+</p>
+
+<div class="headerLine">
+ <h2 id="ux">
+ Графический дизайн и взаимодействие с пользователем
+ </h2>
+
+
+</div>
+
+<p>
+ Эти критерии подразумевают, что в вашем приложении обеспечивается стандартный графический дизайн Android,
+ а там где это возможно, используются шаблоны взаимодействия, делающие интерфейс пользователя согласованным
+ и интуитивно понятным.
+</p>
+
+<table>
+ <tr>
+ <th style="width:2px;">
+ Область
+ </th>
+ <th style="width:54px;">
+ ИД
+ </th>
+
+
+ <th>
+ Описание
+ </th>
+ <th style="width:54px;">
+ Тесты
+ </th>
+ </tr>
+ <tr id="UX-B1">
+ <td>Стандартный дизайн</td>
+ <td>
+ UX-B1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложения соответствуют рекомендациям по <a href="{@docRoot}design/index.html">дизайну Android</a>
+ и используют общепринятые <a href="{@docRoot}design/patterns/index.html">значки и шаблоны интерфейса пользователя</a>.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>В приложении не переопределяются привычные функции системных значков (например,
+ кнопка "Назад").
+ </li>
+
+ <li>В приложении не происходит подмена системных значков совершенно новыми значками,
+ если используются стандартные функции интерфейса пользователя.
+ </li>
+
+ <li>Если в предложении предлагается адаптированная версия стандартного системного значка,
+ этот значок должен в значительной степени напоминать исходный системный значок и порядок работы с ним должен соответствовать поведению
+ системного значка.
+ </li>
+
+ <li>Приложение не должно переопределять или некорректно использовать стандартные шаблоны интерфейса пользователя
+ Android, например значки или их действия, чтобы не путать пользователей и не затруднять их работу.
+ </li>
+ </ol>
+ </td>
+ <td>
+ <a href="#core">CR-все</a>
+ </td>
+ </tr>
+
+ <tr>
+ <td rowspan="3">
+ Навигация
+ </td>
+ <td id="UX-N1">
+ UX-N1
+ </td>
+ <td>
+ <p>
+ В приложении поддерживается стандартная системная <a href="{@docRoot}design/patterns/navigation.html">навигация с помощью кнопки "Назад"</a>
+, для которой не используются какие-либо адаптированные экранные подсказки.
+ </p>
+ </td>
+ <td>
+ <a href="#core">CR-3</a>
+ </td>
+ </tr>
+
+ <tr>
+ <td id="UX-N2">
+ UX-N2
+ </td>
+ <td>
+ <p>
+ Любое диалоговое окно можно закрыть с помощью кнопки "Назад".
+ </p>
+ </td>
+ <td>
+ <a href="#core">CR-3</a>
+ </td>
+ </tr>
+
+ <tr id="UX-N3">
+ <td>
+ UX-N3
+ </td>
+ <td>
+ При нажатии кнопки "Домой" всегда происходит переход к главному экрану
+ устройства.
+ </td>
+ <td>
+ <a href="#core">CR-1</a>
+ </td>
+ </tr>
+
+ <tr id="UX-S1">
+ <td rowspan="2">
+ Уведомления
+ </td>
+ <td>
+ UX-S1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Уведомления должны соответствовать <a href="{@docRoot}design/patterns/notifications.html">рекомендациям</a> по дизайну Android. В
+частности, должны быть соблюдены следующие правила.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Несколько уведомлений (там, где это возможно) должны объединяться
+ в один информационный блок.
+ </li>
+
+ <li>Повторение уведомлений возможно только в том случае, если они относятся к текущему событию
+ (например, воспроизведению музыки или телефонному звонку).
+ </li>
+
+ <li>Уведомления не должны содержать рекламу или контент, не относящийся к основной
+ функции приложения, если пользователь явным образом не согласился на получение такой информации.
+ </li>
+ </ol>
+ </td>
+ <td>
+ <a href="#core">CR-11</a>
+ </td>
+ </tr>
+
+ <tr id="UX-S2">
+ <td>
+ UX-S2
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложение использует уведомления только в следующих случаях.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Чтобы отметить контекстное изменение, связанное лично с пользователем
+ (например, сообщить о входящем сообщении).
+ </li>
+
+ <li>Чтобы выделить информацию, элементы управления, относящиеся к текущему
+ событию (например, воспроизведению музыки или телефонному звонку).
+ </li>
+ </ol>
+ </td>
+ <td>
+ <a href="#core">CR-11</a>
+ </td>
+ </tr>
+</table>
+
+<h3 class="rel-resources clearfloat">Связанные ресурсы</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/corequalityguidelines/visualdesign"
+data-sortorder="-timestamp" data-cardsizes="9x3,9x3,6x3,6x3,6x3"
+data-maxresults="6">
+</div>
+
+<div class="headerLine">
+ <h2 id="fn">
+ Функциональность
+ </h2>
+
+
+</div>
+
+<p>
+ Этот критерий подразумевает, что обеспечивается исключительно высокая функциональность при работе с приложением,
+ в нем предусмотрены необходимые уровни прав доступа.
+</p>
+
+<table>
+ <tr>
+ <th style="width:2px;">
+ Область
+ </th>
+ <th style="width:54px;">
+ ИД
+ </th>
+ <th>
+ Описание
+ </th>
+ <th style="width:54px;">
+ Тесты
+ </th>
+ </tr>
+
+ <tr id="FN-P1">
+ <td rowspan="2">
+ Права доступа
+ </td>
+ <td>
+ FN-P1
+ </td>
+ <td>
+ Приложение запрашивает только <em>абсолютный минимум</em> прав доступа,
+ которые необходимы ему для поддержания основных функциональных возможностей.
+ </td>
+ <td rowspan="2">
+ <a href="#core">CR-11</a>
+ </td>
+ </tr>
+
+ <tr id="FN-P2">
+ <td>
+ FN-P2
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложение не запрашивает прав доступа к наиболее важным данным (например,
+ к контактам или системному журналу), а также к платным сервисам
+ (например, службам дозвона или отправки СМС), если это не связано с основной функциональностью данного
+ приложения.
+ </p>
+ </td>
+ </tr>
+
+ <tr id="FN-L1">
+ <td>
+ Место установки
+ </td>
+ <td>
+ FN-L1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложение нормально работает при установке на SD-карту (если такая возможность поддерживается приложением).
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Поддержка установки на SD-карту рекомендована для всех больших приложений
+ (превышающих 10 МБ). См. в руководстве разработчика в разделе <a href="{@docRoot}guide/topics/data/install-location.html">Место
+установки приложения</a> информацию о том,
+ какие типы приложений должны поддерживать установку на SD-карты.
+ </p>
+ </td>
+ <td>
+ <a href="#SD-1">SD-1</a>
+ </td>
+ </tr>
+
+ <tr id="FN-A1">
+ <td rowspan="4">
+ Звук
+ </td>
+ <td>
+ FN-A1
+ </td>
+ <td>
+ Звук не должен воспроизводиться, если отображение на экране выключено, за исключением случаев, когда
+ это является основной функциональной задачей (например, если приложение – музыкальный проигрыватель).
+ </td>
+ <td>
+ <a href="#core">CR-7</a>
+ </td>
+ </tr>
+
+ <tr id="FN-A2">
+ <td>
+ FN-A2
+ </td>
+ <td>
+ Звук не должен воспроизводиться,<a href="http://android-developers.blogspot.com/2011/11/making-android-games-that-play-nice.html">
+ если экран заблокирован</a>, за исключением случаев, когда это является основной функциональной задачей приложения.
+ </td>
+ <td>
+ <a href="#core">CR-8</a>
+ </td>
+ </tr>
+
+ <tr id="FN-A3">
+ <td>
+ FN-A3
+ </td>
+ <td>
+ Звук не должен воспроизводиться на главном экране или при переходе в другое
+ приложение, если это не является основной функциональной задачей данного приложения.
+ </td>
+ <td>
+ <a href="#core">CR-1,<br>
+ CR-2</a>
+ </td>
+ </tr>
+
+ <tr id="FN-A4">
+ <td>
+ FN-A4
+ </td>
+ <td>
+ Воспроизведение звука возобновляется при переходе в приложение
+ или пользователю сообщается, что воспроизведение приостановлено.
+ </td>
+ <td>
+ <a href="#core">CR-1, CR-8</a>
+ </td>
+ </tr>
+
+ <tr id="FN-U1">
+ <td rowspan="3">
+ Графика и интерфейс пользователя
+ </td>
+ <td>
+ FN-U1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложение поддерживает как альбомную так и книжную ориентацию экрана (если возможно).
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ В обоих ориентациях экрана поддерживаются равные функциональные
+ возможности и действия. Допустимы незначительные изменения в содержимом и режимах представления.
+ </p>
+ </td>
+ <td>
+ <a href="#core">CR-5</a>
+ </td>
+ </tr>
+
+ <tr id="FN-U2">
+ <td>
+ FN-U2
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложение рационально использует весь экран в обеих ориентациях
+ без появления "черных полос" при смене ориентации.
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Допустимо отображение лишь незначительных черных полос по краям экрана,
+ компенсирующих незначительную разницу в геометрических размерах экранов.
+ </p>
+ </td>
+ <td>
+ <a href="#core">CR-5</a>
+ </td>
+ </tr>
+
+ <tr id="FN-U3">
+ <td>
+ FN-U3
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложения правильно обрабатывают быстрый переход от одной ориентации
+ экрана к другой, не вызывая проблем с визуальным воспроизведением.
+ </p>
+ </td>
+ <td>
+ <a href="#core">CR-5</a>
+ </td>
+ </tr>
+
+ <tr id="FN-S1">
+ <td rowspan="2">
+ Состояние пользователя и приложения
+ </td>
+ <td>
+ FN-S1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ В приложении не должно оставаться каких-либо запущенных служб при переходе в фоновый
+ режим, если это не требуется для его основной функции.
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Например, приложение не должно сохранять службы подключения
+ к сети для получения уведомлений, поддерживать подключение по Bluetooth
+ или оставлять включенным модуль GPS.
+ </p>
+ </td>
+ <td>
+ <a href="#core">CR-6</a>
+ </td>
+ </tr>
+
+ <tr id="FN-S2">
+ <td>
+ FN-S2
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Должно обеспечиваться корректное сохранение и восстановление состояние пользователя или приложения.
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Приложение сохраняет состояние пользователя или самого приложения при переходе в
+ фоновый режим, предотвращая случайную потерю данных при навигации с помощью
+ кнопки "Назад" или при других изменениях состояния. При возврате из фонового в активный режим приложение должно
+ восстановить сохраненное состояние и все связанные с состоянием операции, ожидавшие
+ выполнения, например, изменения в редактируемых полях, текущее состояние в игре,
+ меню, видео и другие составляющие приложения или игры.
+ </p>
+
+ <ol style="margin-bottom:.25em;list-style-type:lower-alpha">
+ <li>Когда приложение вызывается из переключателя последних приложений,
+ восстанавливается состояние пользователя на момент последней работы с этим приложением.
+ </li>
+
+ <li>Когда приложение восстанавливается после пробуждения устройства после
+ блокировки, приложение возвращает пользователя в состояние, соответствующее последнему
+ моменту работы с ним.
+ </li>
+
+ <li>Когда приложение повторно запускается с начального экрана или экрана приложений,
+ его состояние должно быть восстановлено максимально близко к предыдущему состоянию.
+ </li>
+
+ <li>При нажатии кнопки "Назад" приложение позволяет сохранить свое текущее состояние или
+состояние пользователя, которое в противном случае будет потеряно при переходе назад.
+ </li>
+ </ol>
+ </td>
+ <td>
+ <a href="#core">CR-1, CR-3, CR-5</a>
+ </td>
+ </tr>
+</table>
+
+<h3 class="rel-resources clearfloat">Связанные ресурсы</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/corequalityguidelines/functionality"
+data-sortorder="-timestamp" data-cardsizes="6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine">
+ <h2 id="ps">
+ Производительность и стабильность
+ </h2>
+
+
+</div>
+
+<p>
+ Этот критерий предполагает, что приложения обеспечивают ожидаемые пользователем
+ высокую производительность, стабильность и быстрое время реакции.
+</p>
+
+<table>
+ <tr>
+ <th style="width:2px;">
+ Область
+ </th>
+ <th style="width:54px;">
+ ИД
+ </th>
+ <th>
+ Описание
+ </th>
+ <th style="width:54px;">
+ Тесты
+ </th>
+ </tr>
+
+ <tr id="PS-S1">
+ <td>
+ Стабильность
+ </td>
+ <td>
+ PS-S1
+ </td>
+ <td>
+ Не происходит аварийных или вынужденных закрытий приложения, зависаний или других
+ аномалий в его работе на любых поддерживаемых устройствах.
+ </td>
+ <td>
+ <a href="#core">CR-все</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a>
+ </td>
+ </tr>
+
+ <tr id="PS-P1">
+ <td rowspan="2">
+ Производительность
+ </td>
+ <td>
+ PS-P1
+ </td>
+ <td>
+ Приложение загружается быстро или предлагает пользователю соответствующую
+ информацию на экране (индикатор выполнения и т. п.), если для загрузки требуется
+ больше двух секунд.
+ </td>
+ <td>
+ <a href="#core">CR-все</a>, <a href="#SD-1">SD-1</a>
+ </td>
+ </tr>
+
+ <tr id="PS-P2">
+ <td>
+ PS-P2
+ </td>
+ <td>
+ При включенном режиме StrictMode (см. ниже <a href="#strictmode">Тестирование в режиме
+ StrictMode</a>) отсутствуют красные мигания (предупреждения
+ StrictMode о низкой производительности) при выполнении приложения, включая воспроизведение
+ игр, анимацию и переходы между элементами интерфейса, а также другие элементы приложения.
+ </td>
+ <td>
+ <a href="#PM-1">PM-1</a>
+ </td>
+ </tr>
+
+ <tr id="PS-M1">
+ <td>
+ Мультимедиа
+ </td>
+ <td>
+ PS-M1
+ </td>
+ <td>
+ В процессе загрузки и нормальной работы с приложением звуковые и видеоданные
+ воспроизводятся плавно, без щелчков, заминок и прочих артефактов.
+ </td>
+ <td>
+ <a href="#core">CR-все</a>, <a href="#SD-1">SD-1</a>, <a href="#HA-1">HA-1</a>
+ </td>
+ </tr>
+
+ <tr id="PS-V1">
+ <td rowspan="2">
+ Качество визуализации
+ </td>
+ <td>
+ PS-V1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Приложение отображает графику, тексты, изображения и различные элементы интерфейса
+ без заметных искажений, смазываний или эффектов пикселизации.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Приложение обеспечивает высокое качество графики на всех поддерживаемых размерах
+ и форм-факторах экрана, включая <a href="{@docRoot}distribute/essentials/quality/tablet.html">устройства с большими экранами,
+ такие как планшетные ПК</a>.
+ </li>
+
+ <li>Нет ступенчатых артефактов на границах меню, кнопок и других элементах интерфейса
+пользователя.
+ </li>
+ </ol>
+ </td>
+ <td rowspan="2">
+ <a href="#core">CR-все</a>
+ </td>
+ </tr>
+
+ <tr id="PS-V2">
+ <td>
+ PS-V2
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ В приложении тексты и текстовые блоки отображаются удобными для чтения.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Обеспечивается их правильная компоновка на всех поддерживаемых форм-факторах,
+ включая устройства с большими экранами, такие как планшетные ПК.
+ </li>
+
+ <li>Отсутствуют обрезанные буквы или слова.
+ </li>
+
+ <li>Нет некорректных переносов слов в названиях кнопок и значков.
+ </li>
+
+ <li>Имеется достаточное пространство между текстом и окружающими его элементами.
+ </li>
+ </ol>
+ </td>
+ </tr>
+</table>
+
+<h3 class="rel-resources clearfloat">Связанные ресурсы</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/core/performance" data-sortorder="-timestamp"
+data-cardsizes="6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine">
+ <h2 id="listing">
+ Соответствие требованиям Google Play
+ </h2>
+
+
+</div>
+
+<p>
+ Соблюдение эти критериев подразумевает готовность ваших приложений к публикации в Google Play.
+</p>
+
+<table>
+ <tr>
+ <th style="width:2px;">
+ Область
+ </th>
+ <th style="width:54px;">
+ ИД
+ </th>
+ <th>
+ Описание
+ </th>
+ <th style="width:54px;">
+ Тесты
+ </th>
+ </tr>
+
+ <tr id="GP-P1">
+ <td rowspan="2">
+ Политики
+ </td>
+ <td>
+ GP-P1
+ </td>
+ <td>
+ В приложениях должны строго соблюдаться условия <a href="http://play.google.com/about/developer-content-policy.html">Правил программы для
+ разработчиков приложений Google Play</a>, не должно предлагаться неуместное содержимое,
+ нельзя использовать интеллектуальную собственность или товарные знаки других лиц и т. д.
+ </td>
+ <td>
+ <a href="#gp">GP-все</a>
+ </td>
+ </tr>
+
+ <tr id="GP-P2">
+ <td>
+ GP-P2
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Должны быть правильно настроены возрастные ограничения приложения с учетом <a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&amp;answer=188189">
+Руководства по определению возрастного рейтинга содержимого</a>.
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ В частности, обратите внимание, что приложениям, запрашивающим доступ к данным о
+ местоположении устройства, нельзя назначать возрастной рейтинг "Для всех".
+ </p>
+ </td>
+ <td>
+ <a href="#gp">GP-1</a>
+ </td>
+ </tr>
+
+ <tr id="GP-D1">
+ <td rowspan="3">
+ Страница со сведениями&nbsp;о приложении
+ </td>
+ <td>
+ GP-D1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Картинка для раздела "Рекомендуемые" должна соответствовать правилам, описанным в данной <a href="http://android-developers.blogspot.com/2011/10/android-market-featured-image.html">
+ публикации</a>. Проверьте следующие моменты.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>При публикации приложение должно сопровождаться качественной картинкой для раздела "Рекомендуемые".
+ </li>
+
+ <li>Эта представляющая приложение картинка не должна содержать изображений устройств,
+ снимков экранов или мелкого текста, который станет неразличим при уменьшении
+ масштаба на устройствах с минимальным поддерживаемым размером экрана.
+ </li>
+
+ <li>Картинка для раздела "Рекомендуемые" не должна напоминать рекламу.
+ </li>
+ </ol>
+ </td>
+ <td>
+ <a href="#gp">GP-1, GP-2</a>
+ </td>
+ </tr>
+
+ <tr id="GP-D2">
+ <td>
+ GP-D2
+ </td>
+ <td>
+ На снимках экранов и в видеороликах не должны показываться или упоминаться не поддерживающие Android устройства.
+ </td>
+ <td rowspan="2">
+ <a href="#gp">GP-1</a>
+ </td>
+ </tr>
+
+ <tr id="GP-D3">
+ <td>
+ GP-D3
+ </td>
+ <td>
+ На снимках экранов и в видеороликах не должна содержаться недостоверная
+ информация о контенте и функциональных возможностях вашего приложения.
+ </td>
+ </tr>
+
+ <tr id="GP-X1">
+ <td>
+ Поддержка пользователя
+ </td>
+ <td>
+ GP-X1
+ </td>
+ <td>
+ Ошибки, сообщаемые пользователями на вкладке "Отзывы" на странице Google Play, подлежат
+ исправлению, если они воспроизводимы и происходят на многих разных устройствах.
+ Если ошибка возникает только на нескольких устройствах, ее необходимо исправить,
+ если это особо популярные или новые устройства.
+ </td>
+ <td>
+ <a href="#gp">GP-1</a>
+ </td>
+ </tr>
+</table>
+
+<h3 class="rel-resources clearfloat">Связанные ресурсы</h3>
+
+<div class="resource-widget resource-flow-layout col-13" data-query=
+"collection:distribute/essentials/core/play" data-sortorder="-timestamp"
+data-cardsizes="6x3,6x3,6x3,6x3,6x3,6x3" data-maxresults="6">
+</div>
+
+<div class="headerLine">
+ <h2 id="test-environment">
+ Настройка среды тестирования
+ </h2>
+
+
+</div>
+
+<p>
+ Чтобы оценить качество своего приложения, вам необходимо настроить подходящее
+ аппаратное обеспечение или эмулировать нужную среду для тестирования.
+</p>
+
+<p>
+ Идеальной средой для тестирования будет небольшое количество реальных устройств,
+ представляющих все основные форм-факторы и аппаратные/программные
+ комбинации, которые сейчас доступны пользователям. Нет необходимости проверять приложение на
+ <em>всех</em> продаваемых устройствах &mdash; лучше выберите небольшое число представителей,
+ буквально один-два на каждый возможный
+ форм-фактор.
+</p>
+
+<p>
+ Если у вас не получается получить реальное устройство для тестирования, необходимо
+ <a href="{@docRoot}tools/devices/index.html">настроить эмулируемые устройства
+ (AVD)</a>, воспроизводящие наиболее распространенные форм-факторы и аппаратные/программные
+ комбинации.
+</p>
+
+<p>
+ Чтобы выйти за рамки начального тестирования, можно добавить больше устройств, больше форм-факторов,
+ а также новые комбинации аппаратного/программного обеспечения к вашей среде тестирования. Также можно
+ увеличить число или сложность тестов и повысить критерии качества.
+</p>
+
+<div class="headerLine">
+ <h2 id="tests">
+ Процедуры тестирования
+ </h2>
+
+
+</div>
+
+<p>
+ Данные процедуры тестирования помогают обнаружить различные типы проблем
+ с качеством ваших приложений. Можно комбинировать эти тесты или интегрировать группы
+ тестов вместе в ваши собственные планы тестирования. См. в приведенных выше разделах сведения о том, как связаны
+ определенные критерии с конкретными тестами.
+</p>
+
+<table>
+ <tr>
+ <th style="width:2px;">
+ Тип
+ </th>
+ <th style="width:54px;">
+ Тест
+ </th>
+ <th>
+ Описание
+ </th>
+ </tr>
+
+ <tr>
+ <td rowspan="12" id="core">
+ Базовый набор
+ </td>
+ <td>
+ CR-0
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Пройдитесь по всем частям приложения &mdash; проверьте все экраны,
+ диалоги, настройки и все варианты работы пользователя.
+ </p>
+
+ <ol style="margin-bottom:.5em;list-style-type:lower-alpha">
+ <li>Если приложение позволяет редактировать или создавать контент, играть в игры
+ или воспроизводить мультимедийные файлы,
+ убедитесь, что такие сценарии включены в проверку по созданию и добавлению контента.
+ </li>
+
+ <li>Испытывая приложение, попробуйте внести изменения в сетевые соединения, в настройки
+ функций, связанных с экономией заряда батареи, GPS
+ или обнаружением устройства, в параметры загрузки системы и т. д.
+ </li>
+ </ol>
+ </td>
+ </tr>
+
+ <tr id="tg2">
+ <td id="core2">
+ CR-1
+ </td>
+ <td>
+ На каждом экране приложения нажмите кнопку перехода на начальную страницу,
+ затем повторно запустите приложение с экрана приложений.
+ </td>
+ </tr>
+
+ <tr id="CR-2">
+ <td>
+ CR-2
+ </td>
+ <td>
+ С каждого экрана приложения выполните переход в другое запущенное приложение,
+ а затем вернитесь в тестируемое, используя переключатель последних приложений.
+ </td>
+ </tr>
+
+ <tr id="CR-3">
+ <td>
+ CR-3
+ </td>
+ <td>
+ Из каждого экрана приложения (и каждого диалогового окна) нажмите кнопку "Назад".
+ </td>
+ </tr>
+
+ <tr id="CR-5">
+ <td>
+ CR-5
+ </td>
+ <td>
+ Для каждого экрана приложения не менее трех раз поверните устройство для переключения
+ между портретной и книжной ориентациями.
+ </td>
+ </tr>
+
+ <tr id="CR-6">
+ <td>
+ CR-6
+ </td>
+ <td>
+ Переключитесь в другое приложение, чтобы перевести тестируемое приложение в фоновый режим. Перейдите в меню
+ "Настройки" и проверьте, нет ли для тестируемого приложения каких либо работающих служб, когда оно переключено
+ в фоновый режим. В ОС Android 4.0 и более поздних версий перейдите на экран приложений
+ и найдите приложение на вкладке "Работающие". В более ранних версиях используйте "Управление
+ приложениями", чтобы проверить наличие запущенных служб.
+ </td>
+ </tr>
+
+ <tr id="CR-7">
+ <td>
+ CR-7
+ </td>
+ <td>
+ Нажмите кнопку питания, чтобы перевести устройство в спящий режим, а затем вновь
+ нажмите кнопку питания, чтобы экран вернулся в активное состояние.
+ </td>
+ </tr>
+
+ <tr id="CR-8">
+ <td>
+ CR-8
+ </td>
+ <td>
+ Настройте блокировку устройства при нажатии кнопки питания. Нажмите кнопку питания,
+ чтобы перевести устройство в спящий режим, а затем вновь нажмите кнопку питания,
+ чтобы экран вернулся в активное состояние, разблокируйте устройство.
+ </td>
+ </tr>
+
+ <tr id="CR-9">
+ <!-- Hardware features -->
+
+ <td>
+ CR-9
+ </td>
+ <td>
+ Для устройств с выдвижной клавиатурой – сложите, а потом выдвиньте клавиатуру
+ хотя бы один раз. Для устройств, имеющих клавиатурные док-станции – выполните подключение
+ устройства к док-станции.
+ </td>
+ </tr>
+
+ <tr id="CR-10">
+ <td>
+ CR-10
+ </td>
+ <td>
+ Для устройств, имеющих порт подключения внешнего экрана – выполните подключение
+ этого экрана.
+ </td>
+ </tr>
+
+ <tr id="CR-11">
+ <td>
+ CR-11
+ </td>
+ <td>
+ Откройте панель уведомлений и внимательно просмотрите все типы уведомлений,
+ которые могут отображаться приложением. Раскройте уведомления, если это возможно (в Android 4.1
+ и более поздних версиях), выполните все предлагаемые действия.
+ </td>
+ </tr>
+
+ <tr id="CR-12">
+ <td>
+ CR-12
+ </td>
+ <td>
+ Ознакомьтесь, какие права доступа запрашиваются приложением, перейдя в "Настройки" &gt;
+ "Информация о приложении".
+ </td>
+ </tr>
+
+ <tr id="tg3">
+ <td>
+ Установка на SD-карту
+ </td>
+ <td>
+ SD-1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Повторите тесты из серии <em>Базовый набор</em> с приложением, установленным <a href="{@docRoot}guide/topics/data/install-location.html">на SD-карту устройства</a>
+ (если она поддерживается устройством).
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Чтобы перенести приложение на SD-карту, выберите "Настройки &gt; Информация о приложении &gt;
+ Переместить на SD-карту".
+ </p>
+ </td>
+ </tr>
+
+ <tr id="tg32">
+ <td>
+ Аппаратное ускорение
+ </td>
+ <td>
+ HA-1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Повторите тесты из серии <em>Базовый набор</em>, включив на устройстве аппаратное ускорение.
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Чтобы принудительно задействовать аппаратное ускорение (если оно поддерживается
+ устройством), добавьте параметр <code>hardware-accelerated="true"</code> к разделу
+ <code>&lt;application&gt;</code> в манифесте приложения и выполните его повторную компиляцию.
+ </p>
+ </td>
+ </tr>
+
+ <tr id="tg33">
+ <td>
+ Контроль производительности
+ </td>
+ <td>
+ PM-1
+ </td>
+ <td>
+ <p style="margin-bottom:.5em;">
+ Повторите тесты из серии <em>Базовый набор</em>, включив режим StrictMode, <a href="#strictmode">как это описано ниже</a>.
+ </p>
+
+ <p style="margin-bottom:.25em;">
+ Уделите особое внимание вопросу очистки памяти и тому, как это влияет на работу
+ пользователя.
+ </p>
+ </td>
+ </tr>
+
+ <tr id="gp">
+ <td rowspan="3">
+ Соответствие требованиям Google Play
+ </td>
+ <td>
+ GP-1
+ </td>
+ <td>
+ Войдите в <a href="https://play.google.com/apps/publish/">консоль
+ разработчика</a>, проверьте свой профиль разработчика, описание приложения,
+ снимки экранов, картинку для раздела "Рекомендуемые", настройки возрастного рейтинга, а также отзывы пользователей.
+ </td>
+ </tr>
+
+ <tr id="GP-2">
+ <td>
+ GP-2
+ </td>
+ <td>
+ Загрузите снимки экранов и картинку для раздела "Рекомендуемые", уменьшите
+ их в соответствие с размерами и форм-факторами поддерживаемых приложением
+ устройств.
+ </td>
+ </tr>
+
+ <tr id="GP-3">
+ <td>
+ GP-3
+ </td>
+ <td>
+ Проверьте все графические ресурсы, мультимедийные данные, тексты, библиотеки кодов и
+ прочее содержимое, упакованное в файл загрузки приложения или расширения к нему.
+ </td>
+ </tr>
+
+ <tr id="GP-4">
+ <td>
+ Платежи
+ </td>
+ <td>
+ GP-4
+ </td>
+ <td>
+ Пройдите по всем экранам своего приложения и проверьте все задействованные в нем процессы покупок.
+ </td>
+ </tr>
+</table>
+
+<h3 id="strictmode">
+ Тестирование в режиме StrictMode
+</h3>
+
+<p>
+ Для проверки производительности мы рекомендуем в приложении включить режим {@link android.os.StrictMode}
+ и использовать его для отслеживания операций в основном и в других
+ потоках приложения, которые могут негативно сказываться на быстродействии, доступе к сети,
+ чтении или записи файлов и т. д.
+</p>
+
+<p>
+ Можно настроить политики контроля каждого из потоков, используя инструмент {@link
+ android.os.StrictMode.ThreadPolicy.Builder} и включив все поддерживаемые
+ функции контроля в <code>ThreadPolicy</code>с помощью параметра {@link
+ android.os.StrictMode.ThreadPolicy.Builder#detectAll()}.
+</p>
+
+<p>
+ Обязательно задействуйте <strong>визуальные уведомления</strong> о нарушениях политик
+ в отношении <code>ThreadPolicy</code>, используя {@link
+ android.os.StrictMode.ThreadPolicy.Builder#penaltyFlashScreen()
+ penaltyFlashScreen()}.
+</p>