<?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%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%B5%D0%B0%D0%BD%D1%81%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_iOS</id>
	<title>Настройка воспроизведения сеансов для iOS - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%B5%D0%B0%D0%BD%D1%81%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_iOS"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%B5%D0%B0%D0%BD%D1%81%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_iOS&amp;action=history"/>
	<updated>2026-09-16T11:52:13Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%B5%D0%B0%D0%BD%D1%81%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_iOS&amp;diff=6623&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Настройка воспроизведения сеансов для iOS =  На этой странице описано, как активировать и настроить функцию &#039;&#039;&#039;Воспроизведения сессий&#039;&#039;&#039; для ваших приложений &#039;&#039;&#039;iOS&#039;&#039;&#039;.  ЕдиныйАгент для &#039;&#039;&#039;iOS&#039;&#039;&#039; версии 8.323. Для приложений, скомпилированных с помощью &#039;&#039;&#039;Xcode&#039;&#039;&#039; 26, треб...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B2%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%B5%D0%B0%D0%BD%D1%81%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_iOS&amp;diff=6623&amp;oldid=prev"/>
		<updated>2026-08-19T18:52:50Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Настройка воспроизведения сеансов для iOS =  На этой странице описано, как активировать и настроить функцию &amp;#039;&amp;#039;&amp;#039;Воспроизведения сессий&amp;#039;&amp;#039;&amp;#039; для ваших приложений &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039;.  ЕдиныйАгент для &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; версии 8.323. Для приложений, скомпилированных с помощью &amp;#039;&amp;#039;&amp;#039;Xcode&amp;#039;&amp;#039;&amp;#039; 26, треб...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Настройка воспроизведения сеансов для iOS =&lt;br /&gt;
&lt;br /&gt;
На этой странице описано, как активировать и настроить функцию &amp;#039;&amp;#039;&amp;#039;Воспроизведения сессий&amp;#039;&amp;#039;&amp;#039; для ваших приложений &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
ЕдиныйАгент для &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; версии 8.323. Для приложений, скомпилированных с помощью &amp;#039;&amp;#039;&amp;#039;Xcode&amp;#039;&amp;#039;&amp;#039; 26, требуется более поздняя версия.&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;#039;&amp;#039;&amp;#039;iOS&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;
* Ключ-АСТРОМ версия 1.303.&lt;br /&gt;
* ЕдиныйАгент для &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039;, версия 8.323.&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;Swift&amp;#039;&amp;#039;&amp;#039; 5+.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; 15+.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Xcode&amp;#039;&amp;#039;&amp;#039; 16+.&lt;br /&gt;
* Поддерживается &amp;#039;&amp;#039;&amp;#039;SwiftUI&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* URL-адрес веб-интерфейса имеет доверенный сертификат.&lt;br /&gt;
&lt;br /&gt;
== Известные ограничения и проблемы ==&lt;br /&gt;
&lt;br /&gt;
* Поддерживается &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; 15.0 и выше.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Swift&amp;#039;&amp;#039;&amp;#039; 5+.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Xcode&amp;#039;&amp;#039;&amp;#039; 16+.&lt;br /&gt;
* Поддерживается &amp;#039;&amp;#039;&amp;#039;SwiftUI&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Функция &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039; недоступна для &amp;#039;&amp;#039;&amp;#039;tvOS&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;iPadOS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Функция &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039; недоступна для кроссплатформенных фреймворков, таких как &amp;#039;&amp;#039;&amp;#039;Cordova&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;React Native&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Flutter&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Xamarin&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* В гибридных приложениях функция &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039; поддерживается только для нативной части приложения. В браузерной части &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;
* Для приложений &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; 26, созданных с помощью &amp;#039;&amp;#039;&amp;#039;Xcode&amp;#039;&amp;#039;&amp;#039; 26, функция маскирования доступна только с ЕдинымАгентом для &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; версии 8.323 и выше.&lt;br /&gt;
* Воспроизведение сессии — это видеоподобная реконструкция взаимодействия пользователя с мобильными приложениями, основанная на захваченных событиях и данных. Из-за такого подхода воспроизведенные сессии могут отличаться от реального пользовательского опыта.&lt;br /&gt;
&lt;br /&gt;
== В iOS активируйте функцию воспроизведения сессий и отрегулируйте количество записанных сессий ==&lt;br /&gt;
&lt;br /&gt;
Если вы еще этого не сделали, выполните все шаги, описанные в разделе первоначальной настройки для &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039;-интерфейсов.&lt;br /&gt;
&lt;br /&gt;
# Перейдите в раздел &amp;#039;&amp;#039;&amp;#039;Ключевые показатели опыта&amp;#039;&amp;#039;&amp;#039; &amp;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;Настройки&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# В рамках обеспечения возможностей и контроля затрат:&lt;br /&gt;
#* Включите &amp;#039;&amp;#039;&amp;#039;классический режим мониторинга реальных пользователей&amp;#039;&amp;#039;&amp;#039; или оба режима: &amp;#039;&amp;#039;&amp;#039;классический&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;мониторинг реальных пользователей&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
#* Выберите &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий Classic&amp;#039;&amp;#039;&amp;#039; или оба варианта: &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий Classic&amp;#039;&amp;#039;&amp;#039; и &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039;, а затем введите новое значение коэффициента захвата для ценности воспроизведения сессии:&lt;br /&gt;
#** 100 процентов для учета всех сессий.&lt;br /&gt;
#** Процент, меньший чем 100 процентов, необходимый для захвата случайно выбранных сессий.&lt;br /&gt;
# Чтобы записывать все сессии со сбоями независимо от частоты записи, выберите &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий для классических сбоев&amp;#039;&amp;#039;&amp;#039; или оба варианта: &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий для классических сбоев&amp;#039;&amp;#039;&amp;#039; и &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;, а затем выберите &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Следуйте инструкциям мастера настройки приборов.&lt;br /&gt;
&lt;br /&gt;
== Активировать воспроизведение сессий для приложений SwiftUI ==&lt;br /&gt;
&lt;br /&gt;
ЕдиныйАгент для &amp;#039;&amp;#039;&amp;#039;iOS&amp;#039;&amp;#039;&amp;#039; версии 8.249+.&lt;br /&gt;
&lt;br /&gt;
Если вы уже настроили поддержку своего приложения &amp;#039;&amp;#039;&amp;#039;SwiftUI&amp;#039;&amp;#039;&amp;#039;, вы можете дополнительно активировать функцию &amp;#039;&amp;#039;&amp;#039;Воспроизведения сессий&amp;#039;&amp;#039;&amp;#039; для такого мобильного приложения.&lt;br /&gt;
&lt;br /&gt;
Чтобы активировать функцию &amp;#039;&amp;#039;&amp;#039;Воспроизведения сессий&amp;#039;&amp;#039;&amp;#039; для вашего инструментированного приложения &amp;#039;&amp;#039;&amp;#039;SwiftUI&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
# Выполните все шаги инструкции по активации воспроизведения сессии, описанной выше.&lt;br /&gt;
# Установите ключ конфигурации &amp;lt;code&amp;gt;DTXSwiftUIEnableSessionReplayInstrumentation&amp;lt;/code&amp;gt; в значение &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; в файле &amp;lt;code&amp;gt;Info.plist&amp;lt;/code&amp;gt; вашего проекта.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;key&amp;gt;DTXSwiftUIEnableSessionReplayInstrumentation&amp;lt;/key&amp;gt;&lt;br /&gt;
&amp;lt;true/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поддерживаемые контейнеры SwiftUI ===&lt;br /&gt;
&lt;br /&gt;
Мы поддерживаем &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039; для следующих контейнеров &amp;#039;&amp;#039;&amp;#039;SwiftUI&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* Список&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;LazyVGrid&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;LazyHGrid&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Известные ограничения для приложений SwiftUI ===&lt;br /&gt;
&lt;br /&gt;
Ключ-АСТРОМ не поддерживает следующие контейнеры &amp;#039;&amp;#039;&amp;#039;SwiftUI&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
* Списки внутри расширений&lt;br /&gt;
* Списки со статическим содержимым&lt;br /&gt;
* Список случаев, когда объект кормления не соответствует протоколу &amp;#039;&amp;#039;&amp;#039;Equatable&amp;#039;&amp;#039;&amp;#039;.&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;
&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;
По умолчанию ЕдиныйАгент применяет самый безопасный уровень маскирования. Чтобы изменить его на безопасный или пользовательский уровень, используйте API для настройки ЕдиногоАгента. Если вы выбрали пользовательский уровень, см. раздел «Настройка пользовательского маскирования» для получения подробной информации о том, как указать, какие компоненты или представления приложения должны быть замаскированы.&lt;br /&gt;
&lt;br /&gt;
==== Пример 1: Измените уровень маскирования на «Безопасный» ====&lt;br /&gt;
&lt;br /&gt;
Используйте следующий код, чтобы установить уровень маскирования на «Безопасный».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
let maskingConfiguration = MaskingConfiguration(maskingLevelType: .safe)&lt;br /&gt;
try? AgentManager.setMaskingConfiguration(maskingConfiguration)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Настройка пользовательского маскирования ===&lt;br /&gt;
&lt;br /&gt;
Если вы установите уровень маскирования данных на «Пользовательский», вы сможете использовать дополнительные методы API для определения того, какие компоненты или представления приложения следует маскировать. Вы сможете:&lt;br /&gt;
&lt;br /&gt;
* Активировать или деактивировать правила маскирования.&lt;br /&gt;
* Маскировать представления с помощью &amp;lt;code&amp;gt;accessibilityIdentifier&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;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try? maskingConfiguration.add(rule: .maskAllImages) // Добавляет одно правило&lt;br /&gt;
try? maskingConfiguration.remove(rule: .maskAllSwitches) // Удаляет одно правило&lt;br /&gt;
try? maskingConfiguration.addAllRules() // Добавляет все правила&lt;br /&gt;
try? maskingConfiguration.removeAllRules() // Удаляет все правила&lt;br /&gt;
&amp;lt;/pre&amp;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;
==== Маскирование изображений с помощью &amp;lt;code&amp;gt;accessibilityIdentifier&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Вы можете активировать или деактивировать маскирование выбранных представлений в зависимости от их параметров &amp;lt;code&amp;gt;accessibilityIdentifier&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try? maskingConfiguration.addMaskedView(viewIds: [&amp;quot;masked_view_id&amp;quot;])&lt;br /&gt;
try? maskingConfiguration.removeMaskedView(viewIds: [&amp;quot;masked_view_id&amp;quot;])&lt;br /&gt;
try? maskingConfiguration.addNonMaskedView(viewIds: [&amp;quot;nonMasked_view_id&amp;quot;])&lt;br /&gt;
try? maskingConfiguration.removeNonMaskedView(viewIds: [&amp;quot;nonMasked_view_id&amp;quot;])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Маскируйте изображения с помощью тега маскирования ====&lt;br /&gt;
&lt;br /&gt;
Также можно замаскировать представление, добавив тег &amp;lt;code&amp;gt;data-dtrum-mask&amp;lt;/code&amp;gt; к его содержимому &amp;lt;code&amp;gt;accessibilityIdentifier&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;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039; записывает только определенные события. Кроме того, вы можете записывать пользовательские события, которые не поддерживаются по умолчанию. Вы можете записать пользовательское событие с добавлением снимка экрана определенного вида, определенной области экрана или всего экрана.&lt;br /&gt;
&lt;br /&gt;
Все методы перехвата пользовательских событий могут выдавать ошибку &amp;lt;code&amp;gt;TrackCustomEventError.notInMainThread&amp;lt;/code&amp;gt;, если вы попытаетесь перехватить пользовательское событие из потока, не являющегося основным. Мы рекомендуем добавить блок &amp;lt;code&amp;gt;do-catch&amp;lt;/code&amp;gt; до тех пор, пока все не заработает должным образом; затем вы можете заменить этот блок более простой версией, которая, даже в случае ошибки, просто не будет перехватывать пользовательское событие.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
do {&lt;br /&gt;
    try AgentManager.trackCustomEvent(name: &amp;quot;my_event_name&amp;quot;, view: nil)&lt;br /&gt;
} catch {&lt;br /&gt;
    print(error)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Конкретный вид ===&lt;br /&gt;
&lt;br /&gt;
Зафиксируйте пользовательское событие, сделав снимок экрана конкретного представления.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try? AgentManager.trackCustomEvent(name: &amp;quot;my_view_name&amp;quot;, view: myView)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Конкретная область экрана ===&lt;br /&gt;
&lt;br /&gt;
Зафиксируйте пользовательское событие, сделав снимок экрана определенной области.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try? AgentManager.trackCustomEvent(name: &amp;quot;my_view_name&amp;quot;, frame: anyFrame)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Полноэкранный ===&lt;br /&gt;
&lt;br /&gt;
Зафиксируйте пользовательское событие, сделав снимок экрана в полном объеме.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try? AgentManager.trackCustomEvent(name: &amp;quot;my_view_name&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Измените режим передачи изображений на Wi-Fi ==&lt;br /&gt;
&lt;br /&gt;
По умолчанию все данные — информация о зафиксированных событиях и изображения — передаются по любому соединению. Однако вы можете выбрать передачу изображений только тогда, когда пользователи подключены к Wi-Fi, чтобы сэкономить мобильный трафик.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AgentManager.setTransmissionMode(.wifi) // по умолчанию используется .data&lt;br /&gt;
&amp;lt;/pre&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;
При запуске мобильного приложения в симуляторе вы можете использовать отладчик скриншотов &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039;, чтобы не ждать закрытия сессии и ее загрузки в Ключ-АСТРОМ.&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;
# В &amp;#039;&amp;#039;&amp;#039;Xcode&amp;#039;&amp;#039;&amp;#039; выберите пункт &amp;#039;&amp;#039;&amp;#039;Изменить схему&amp;#039;&amp;#039;&amp;#039; в меню &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;, а затем перейдите на вкладку &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;lt;code&amp;gt;DTXDebugMasking&amp;lt;/code&amp;gt;. Этот ключ отображает скриншоты, сделанные функцией &amp;#039;&amp;#039;&amp;#039;Воспроизведение сессий&amp;#039;&amp;#039;&amp;#039;, включая замаскированное содержимое и элементы управления пользовательского интерфейса. Для каждого сделанного скриншота вы увидите кратковременную вспышку.&lt;br /&gt;
#* &amp;lt;code&amp;gt;DTXDebugFrameHighlight&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;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>