<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D0%BF%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%B2</id>
	<title>Концепции для мобильных интерфейсов - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D0%BF%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%B2"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D0%BF%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%B2&amp;action=history"/>
	<updated>2026-09-16T13:29:15Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D0%BF%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%B2&amp;diff=6578&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Концепции для мобильных интерфейсов =  На этой странице объясняются ключевые концепции разработки мобильных интерфейсов в &#039;&#039;&#039;RUM&#039;&#039;&#039;. Понимание этих концепций поможет вам анализировать поведение пользователей и производительность приложений в мобильно...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D0%BF%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D0%BC%D0%BE%D0%B1%D0%B8%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%B2&amp;diff=6578&amp;oldid=prev"/>
		<updated>2026-08-19T16:19:22Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Концепции для мобильных интерфейсов =  На этой странице объясняются ключевые концепции разработки мобильных интерфейсов в &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039;. Понимание этих концепций поможет вам анализировать поведение пользователей и производительность приложений в мобильно...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Концепции для мобильных интерфейсов =&lt;br /&gt;
&lt;br /&gt;
На этой странице объясняются ключевые концепции разработки мобильных интерфейсов в &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039;. Понимание этих концепций поможет вам анализировать поведение пользователей и производительность приложений в мобильной среде.&lt;br /&gt;
&lt;br /&gt;
== Начало работы приложения ==&lt;br /&gt;
&lt;br /&gt;
Запуск приложения отражает инициализацию мобильного приложения, измеряя время, необходимое для загрузки приложения и появления первого видимого элемента после запуска пользователем.&lt;br /&gt;
&lt;br /&gt;
=== Типы запуска приложений ===&lt;br /&gt;
&lt;br /&gt;
Существует три типа запуска приложений, каждый из которых имеет различные характеристики производительности:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Холодный старт&amp;#039;&amp;#039;&amp;#039;: происходит при запуске приложения из неактивного состояния. Это случается, например, при первом запуске приложения после загрузки устройства. Холодный старт включает в себя полный процесс инициализации, включая загрузку ресурсов, настройку среды выполнения и инициализацию приложения.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Теплый старт&amp;#039;&amp;#039;&amp;#039;: включает в себя подмножество операций, которые происходят во время холодного старта. Это может произойти, если пользователь выходит из приложения, а затем вскоре запускает его снова. Поведение может значительно отличаться в зависимости от платформы.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Горячий старт&amp;#039;&amp;#039;&amp;#039;: имеет меньшие накладные расходы, чем холодный или теплый старт. Если состояние приложения все еще находится в памяти, можно избежать таких операций, как инициализация объектов, развертка макета и рендеринг. Это происходит, когда приложение полностью работает в фоновом режиме и снова выводится на передний план.&lt;br /&gt;
&lt;br /&gt;
Полный список данных, перехваченных при запуске приложения, см. в разделе «Семантический словарь».&lt;br /&gt;
&lt;br /&gt;
== Представления и их краткие обзоры ==&lt;br /&gt;
&lt;br /&gt;
В мобильных приложениях представление (view) представляет собой экран, с которым взаимодействует пользователь. Представления — это отдельные экраны или макеты в мобильном приложении, отображающие определенный контент или функциональность, например, корзина покупок или страница настроек. Посещение пользователем определенного представления объединяется в событие сводки по представлению (view summary event).&lt;br /&gt;
&lt;br /&gt;
=== Жизненный цикл представления ===&lt;br /&gt;
&lt;br /&gt;
* Отображение начинается, когда приложение показывает новый экран мобильного устройства.&lt;br /&gt;
* Отображение завершается, когда пользователь переходит с экрана на другой экран.&lt;br /&gt;
&lt;br /&gt;
=== Экземпляры представлений и сводные данные ===&lt;br /&gt;
&lt;br /&gt;
Событие «Сводка по просмотру» объединяет следующие данные из одного посещения сайта:&lt;br /&gt;
&lt;br /&gt;
* Взаимодействие пользователя с данным представлением.&lt;br /&gt;
* Ошибки, обнаруженные в процессе просмотра.&lt;br /&gt;
* Запросы, сделанные во время активного просмотра.&lt;br /&gt;
&lt;br /&gt;
Экземпляры просмотра идентифицируются уникальным идентификатором &amp;lt;code&amp;gt;view.identifier&amp;lt;/code&amp;gt;, в то время как все экземпляры одного и того же экрана имеют один и тот же идентификатор &amp;lt;code&amp;gt;view.name&amp;lt;/code&amp;gt; для агрегированного анализа. Это позволяет анализировать как отдельные посещения просмотра, так и общие закономерности производительности по всем посещениям одного и того же просмотра.&lt;br /&gt;
&lt;br /&gt;
Полный список данных, полученных в результате события сводки представления, см. в разделе «Семантический словарь».&lt;br /&gt;
&lt;br /&gt;
== Навигация ==&lt;br /&gt;
&lt;br /&gt;
Навигация представляет собой переход между представлениями в мобильном приложении. Эти события позволяют получить представление о том, как пользователи перемещаются по приложению:&lt;br /&gt;
&lt;br /&gt;
* Событие навигации запускается, когда предыдущий вид останавливается (например, из-за касания пользователя или автоматического запуска).&lt;br /&gt;
* Навигация завершается при запуске следующего представления.&lt;br /&gt;
&lt;br /&gt;
=== Типы навигации ===&lt;br /&gt;
&lt;br /&gt;
Мобильная навигация может запускаться различными способами:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Навигация&amp;#039;&amp;#039;&amp;#039;: Пользователь вручную инициировал навигацию, нажав кнопку или вернувшись назад.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Авто&amp;#039;&amp;#039;&amp;#039;: Переход в приложении был запущен автоматически (например, из-за истечения времени ожидания или автоматической смены экрана).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;API&amp;#039;&amp;#039;&amp;#039;: Разработчик мобильного приложения вручную вызывает функцию &amp;lt;code&amp;gt;startView&amp;lt;/code&amp;gt; для сигнализации о создании нового представления, что неявно создает событие навигации.&lt;br /&gt;
&lt;br /&gt;
== Взаимодействие с пользователями ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ранний доступ&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Взаимодействия пользователей представляют собой действия, выполняемые пользователями на внешнем интерфейсе мобильного приложения. Вы можете включить запись взаимодействий пользователей, как описано в разделе «Настройка записи взаимодействий пользователей для мобильных интерфейсов».&lt;br /&gt;
&lt;br /&gt;
В настоящее время для мобильных устройств поддерживаются следующие виды взаимодействия с пользователем:&lt;br /&gt;
&lt;br /&gt;
* Прикосновения&lt;br /&gt;
* Жесты&lt;br /&gt;
* Вращение устройства&lt;br /&gt;
&lt;br /&gt;
В отличие от &amp;#039;&amp;#039;&amp;#039;RUM Classic&amp;#039;&amp;#039;&amp;#039;, в &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; взаимодействие можно фиксировать независимо от каких-либо запросов или действий пользователя.&lt;br /&gt;
&lt;br /&gt;
Полный список взаимодействий с пользователями см. в разделе «Семантический словарь».&lt;br /&gt;
&lt;br /&gt;
== Действия пользователя ==&lt;br /&gt;
&lt;br /&gt;
Действие пользователя представляет собой важную операцию в мобильном интерфейсе. Оно объединяет запросы, действия навигации и ошибки, возникающие в результате одного взаимодействия пользователя, предоставляя полную картину того, что произошло и сколько времени это заняло. Например, действие пользователя начинается, когда пользователь нажимает кнопку, и заканчивается, когда завершается соответствующий сетевой запрос и отображается новый экран.&lt;br /&gt;
&lt;br /&gt;
=== Как начинаются действия пользователя ===&lt;br /&gt;
&lt;br /&gt;
Действие пользователя начинается с одного из следующих событий:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Взаимодействие с пользователем&amp;#039;&amp;#039;&amp;#039;: Касание элемента пользовательского интерфейса, имеющего зарегистрированный обработчик действий (например, кнопки или элемента списка), за которым в течение 100 мс следует веб-запрос или навигация по представлению, запускает автоматическое действие пользователя. Если в течение 100 мс не происходит ни того, ни другого, действие пользователя не создается, поскольку само по себе касание не считается действием пользователя.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Вызов API&amp;#039;&amp;#039;&amp;#039;: Создается вручную с помощью API Ключ-АСТРОМ. Это полезно для отслеживания пользовательских рабочих процессов, которые не фиксируются автоматически, например, многоэтапных процессов или взаимодействий, которые агент не может отслеживать. Подробнее см. раздел «Настройка мониторинга мобильного интерфейса с помощью API RUM».&lt;br /&gt;
&lt;br /&gt;
=== Что такое группы действий пользователя? ===&lt;br /&gt;
&lt;br /&gt;
Пока пользователь выполняет действие, агент связывает события, являющиеся результатом этого взаимодействия, позволяя анализировать их вместе и понимать полное влияние отдельного взаимодействия.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Веб-запросы&amp;#039;&amp;#039;&amp;#039;: Каждый веб-запрос, инициированный во время выполнения действия пользователем, группируется в рамках этого действия. Эти запросы определяют, когда действие завершается и как долго оно остается активным.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ошибки&amp;#039;&amp;#039;&amp;#039;: Ошибки и исключения, возникающие во время действий пользователя, связываются с ними, поэтому вы можете увидеть, какие взаимодействия привели к сбоям.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Навигация по представлению&amp;#039;&amp;#039;&amp;#039;: Если взаимодействие приводит к новому экрану, результирующая навигация связывается с действием пользователя. Это устанавливает тип действия на изменение представления. Навигация расширяет действие пользователя, но не используется для группировки запросов.&lt;br /&gt;
&lt;br /&gt;
Для действий пользователей &amp;#039;&amp;#039;&amp;#039;API&amp;#039;&amp;#039;&amp;#039; вы также можете прикреплять свойства событий для получения дополнительной бизнес-контекстной информации. Подробнее см. раздел «Настройка мониторинга мобильного интерфейса с помощью API RUM».&lt;br /&gt;
&lt;br /&gt;
=== Как завершаются действия пользователя ===&lt;br /&gt;
&lt;br /&gt;
Действие пользователя остается активным до тех пор, пока сохраняется активность. Агент продлевает действие пользователя, пока выполняются веб-запросы или происходит навигация, применяя 100-миллисекундное окно бездействия после завершения последнего запроса или навигации.&lt;br /&gt;
&lt;br /&gt;
Действие пользователя завершается при выполнении одного из следующих условий:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Завершено&amp;#039;&amp;#039;&amp;#039;: В течение 100 мс после последнего запроса веб-сайта или перехода по ссылке не происходит ни одного перехода. Действие пользователя завершается, и об этом сообщается. Это стандартный путь завершения автоматических действий пользователя.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Приложение переведено в фоновый режим&amp;#039;&amp;#039;&amp;#039;: Приложение переходит в фоновый режим. Действие пользователя немедленно прекращается.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Прервано&amp;#039;&amp;#039;&amp;#039;: Происходит новое взаимодействие пользователя с обработчиком действий или создается новое действие пользователя API. Предыдущее действие пользователя прерывается и связывается с новым.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Достигнута максимальная продолжительность&amp;#039;&amp;#039;&amp;#039;: Действие пользователя достигает максимальной продолжительности в 50 секунд и автоматически завершается.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Закрытие API&amp;#039;&amp;#039;&amp;#039;: Вы явно закрываете действие пользователя, созданное через API, вызывая соответствующий &amp;lt;code&amp;gt;complete&amp;lt;/code&amp;gt; метод. Действие пользователя завершается в момент вызова.&lt;br /&gt;
&lt;br /&gt;
=== Захваченные данные ===&lt;br /&gt;
&lt;br /&gt;
Каждое действие пользователя фиксирует следующую информацию:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Имя&amp;#039;&amp;#039;&amp;#039;: Для автоматических действий пользователя имя соответствует шаблону &amp;lt;code&amp;gt;{interaction type} on {element name} on {view name}&amp;lt;/code&amp;gt;, например, &amp;lt;code&amp;gt;touch on Checkout on CartActivity&amp;lt;/code&amp;gt;. Для действий пользователя через API имя — это пользовательское имя, которое вы указываете.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Тип&amp;#039;&amp;#039;&amp;#039;: Указывает, привело ли действие к изменению отображения, осталось ли отображение прежним или было создано через API.&lt;br /&gt;
** Автоматические действия пользователя имеют либо тип &amp;lt;code&amp;gt;same_view&amp;lt;/code&amp;gt;, либо &amp;lt;code&amp;gt;navigation&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Созданные вручную действия пользователя всегда имеют тип &amp;lt;code&amp;gt;api&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Инициирование взаимодействия&amp;#039;&amp;#039;&amp;#039;: Для автоматических действий пользователя указываются имя и тип элемента пользовательского интерфейса, отреагировавшего на касание, а также название экрана, на котором это произошло.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Длительность&amp;#039;&amp;#039;&amp;#039;: Время от начала до конца действия пользователя, охватывающее всю сетевую активность, которую оно вызывает.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Количество запросов, переходов по ссылкам и ошибок&amp;#039;&amp;#039;&amp;#039;: Число веб-запросов, переходов по ссылкам и ошибок, произошедших во время выполнения пользователем действий.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Причина завершения&amp;#039;&amp;#039;&amp;#039;: Почему действие пользователя завершилось, например, обычное завершение, истечение времени ожидания, переход приложения в фоновый режим или прерывание другим действием.&lt;br /&gt;
&lt;br /&gt;
Каждое связанное событие (взаимодействие пользователя, навигация, ошибка или запрос) содержит идентификатор &amp;lt;code&amp;gt;user_action.instance_id&amp;lt;/code&amp;gt; действия пользователя, который связывает его с этим действием пользователя.&lt;br /&gt;
&lt;br /&gt;
Имя элемента пользовательского интерфейса формируется на основе доступной метки или идентификатора элемента и может содержать предоставленный пользователем текст, например, метку кнопки. Те же правила маскировки конфиденциальности, которые применяются к событию, запускающему взаимодействие пользователя, также применяются к имени элемента в действии пользователя. Имя экрана формируется на основе имен классов исходного кода и не подлежит маскировке.&lt;br /&gt;
&lt;br /&gt;
Полный список данных, полученных в результате действия пользователя, см. в разделе «Семантический словарь».&lt;br /&gt;
&lt;br /&gt;
== Ошибки ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039; фиксирует различные типы ошибок, которые могут возникать в мобильных приложениях.&lt;br /&gt;
&lt;br /&gt;
=== Сбои ===&lt;br /&gt;
&lt;br /&gt;
Сбой — это критическая ошибка, приводящая к завершению работы приложения. Когда ваше мобильное приложение аварийно завершает работу, Ключ-АСТРОМ автоматически сообщает о событии сбоя. Отчет о сбое включает в себя:&lt;br /&gt;
&lt;br /&gt;
* Время возникновения события.&lt;br /&gt;
* Полный трассировочный стек исключения.&lt;br /&gt;
* Информация об устройстве.&lt;br /&gt;
* Контекст сессии.&lt;br /&gt;
&lt;br /&gt;
Сбои группируются по сходству трассировки стека и места их возникновения в исходном коде, что упрощает отслеживание проблем в разных версиях вашего приложения.&lt;br /&gt;
&lt;br /&gt;
Полный список данных, полученных в результате сбоя, см. в разделе «Семантический словарь».&lt;br /&gt;
&lt;br /&gt;
=== Приложение не отвечает (ANR) ===&lt;br /&gt;
&lt;br /&gt;
События &amp;#039;&amp;#039;&amp;#039;ANR&amp;#039;&amp;#039;&amp;#039; — это критические ошибки, характерные для мобильных приложений, когда основной поток приложения перестаёт отвечать и не может обрабатывать события ввода пользователя или обновлять пользовательский интерфейс. Это приводит к закрытию приложения, вызывая недовольство пользователей.&lt;br /&gt;
&lt;br /&gt;
События &amp;#039;&amp;#039;&amp;#039;ANR&amp;#039;&amp;#039;&amp;#039; автоматически регистрируются &amp;#039;&amp;#039;&amp;#039;RUM&amp;#039;&amp;#039;&amp;#039;. Эти события отправляются только в том случае, если пользователь перезапускает мобильное приложение в течение 10 минут. Ошибки &amp;#039;&amp;#039;&amp;#039;ANR&amp;#039;&amp;#039;&amp;#039; всегда являются фатальными (&amp;lt;code&amp;gt;error.is_fatal = true&amp;lt;/code&amp;gt;), поскольку не отвечающее приложение приводит к фатальному завершению работы.&lt;br /&gt;
&lt;br /&gt;
Полный список данных, полученных в результате события «приложение не отвечает», см. в разделе «Семантический словарь».&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>