<?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%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8_%D0%B8_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%D0%BC%D0%B8_%D0%BD%D0%B0_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%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8_%D0%B8_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%D0%BC%D0%B8_%D0%BD%D0%B0_iOS"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8_%D0%B8_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%D0%BC%D0%B8_%D0%BD%D0%B0_iOS&amp;action=history"/>
	<updated>2026-09-16T13:29:12Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8_%D0%B8_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%D0%BC%D0%B8_%D0%BD%D0%B0_iOS&amp;diff=6597&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Управление пользователями и сессиями =  Ключ-АСТРОМ позволяет идентифицировать пользователей в разных сессиях и на разных устройствах, управлять жизненным циклом сессии и добавлять свойства, которые применяются ко всем событиям в рамках сессии.  == И...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%D0%BC%D0%B8_%D0%B8_%D1%81%D0%B5%D1%81%D1%81%D0%B8%D1%8F%D0%BC%D0%B8_%D0%BD%D0%B0_iOS&amp;diff=6597&amp;oldid=prev"/>
		<updated>2026-08-19T18:02:40Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Управление пользователями и сессиями =  Ключ-АСТРОМ позволяет идентифицировать пользователей в разных сессиях и на разных устройствах, управлять жизненным циклом сессии и добавлять свойства, которые применяются ко всем событиям в рамках сессии.  == И...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Управление пользователями и сессиями =&lt;br /&gt;
&lt;br /&gt;
Ключ-АСТРОМ позволяет идентифицировать пользователей в разных сессиях и на разных устройствах, управлять жизненным циклом сессии и добавлять свойства, которые применяются ко всем событиям в рамках сессии.&lt;br /&gt;
&lt;br /&gt;
== Идентификация пользователей ==&lt;br /&gt;
&lt;br /&gt;
Используйте функцию &amp;lt;code&amp;gt;identifyUser()&amp;lt;/code&amp;gt; для присвоения текущей сессии идентификатора пользователя. Это позволяет отслеживать отдельных пользователей в разных сессиях, браузерах и устройствах.&lt;br /&gt;
&lt;br /&gt;
=== Основное использование ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Swift&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// После входа пользователя в систему&lt;br /&gt;
Astromkey.identifyUser(&amp;quot;user@example.com&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
// Или используйте внутренний идентификатор пользователя&lt;br /&gt;
Astromkey.identifyUser(&amp;quot;user-12345&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objective-C&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// После входа пользователя в систему&lt;br /&gt;
[Astromkey identifyUser:@&amp;quot;user@example.com&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
// Или используйте внутренний идентификатор пользователя&lt;br /&gt;
[Astromkey identifyUser:@&amp;quot;user-12345&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;nil&amp;lt;/code&amp;gt; либо пустую строку:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Swift&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func logout() {&lt;br /&gt;
    // Четкая идентификация пользователя&lt;br /&gt;
    Astromkey.identifyUser(nil)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objective-C&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- (void)logout {&lt;br /&gt;
    // Четкая идентификация пользователя&lt;br /&gt;
    [Astromkey identifyUser:nil];&lt;br /&gt;
}&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; — пользовательский тег не хранится. Необходимо вызывать функцию &amp;lt;code&amp;gt;identifyUser()&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;lt;code&amp;gt;identifyUser()&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;
&amp;#039;&amp;#039;&amp;#039;Swift&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Astromkey.sendSessionPropertyEvent(&lt;br /&gt;
    DTXSessionPropertyEventData()&lt;br /&gt;
        .addSessionProperty(&amp;quot;session_properties.product_tier&amp;quot;, value: &amp;quot;premium&amp;quot;)&lt;br /&gt;
        .addSessionProperty(&amp;quot;session_properties.loyalty_status&amp;quot;, value: &amp;quot;gold&amp;quot;)&lt;br /&gt;
        .addSessionProperty(&amp;quot;session_properties.onboarding_complete&amp;quot;, value: true)&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objective-C&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Astromkey sendSessionPropertyEvent:&lt;br /&gt;
    [[[[DTXSessionPropertyEventData alloc] init]&lt;br /&gt;
        addSessionProperty:@&amp;quot;session_properties.product_tier&amp;quot; value:@&amp;quot;premium&amp;quot;]&lt;br /&gt;
        addSessionProperty:@&amp;quot;session_properties.loyalty_status&amp;quot; value:@&amp;quot;gold&amp;quot;]&lt;br /&gt;
        addSessionProperty:@&amp;quot;session_properties.onboarding_complete&amp;quot; value:@YES]];&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;session_properties.&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Названия полей должны содержать только буквенно-цифровые символы, символы подчеркивания и точки.&lt;br /&gt;
* За каждой точкой должен следовать буквенный символ.&lt;br /&gt;
* За каждым символом подчеркивания должна следовать буква или цифра.&lt;br /&gt;
* Значения должны быть примитивными типами (&amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Int&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Double&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Bool&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Допустимые примеры:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;session_properties.product_tier&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;session_properties.loyalty_status&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;session_properties.onboarding_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;:&lt;br /&gt;
** Максимальная длина имени поля: 100 символов (включая префикс &amp;lt;code&amp;gt;session_properties.&amp;lt;/code&amp;gt;).&lt;br /&gt;
** Допустимые символы в имени поля: &amp;lt;code&amp;gt;A–Z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;a–z&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0–9&amp;lt;/code&amp;gt;, нижнее подчеркивание &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; и точка &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;.&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;Значения&amp;#039;&amp;#039;&amp;#039; — для свойств сессии строкового типа данных длина ограничена 5000 символами.&lt;br /&gt;
&lt;br /&gt;
=== Обновить свойства сессии ===&lt;br /&gt;
&lt;br /&gt;
В течение одной сессии можно отправлять свойства сессии несколько раз. Однако, если вы отправляете одно и то же свойство несколько раз, агрегация сессии сохраняет только одно значение (первое или последнее, в зависимости от конфигурации).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Swift&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Начальные свойства&lt;br /&gt;
Astromkey.sendSessionPropertyEvent(&lt;br /&gt;
    DTXSessionPropertyEventData()&lt;br /&gt;
        .addSessionProperty(&amp;quot;session_properties.cart_value&amp;quot;, value: 0)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
// Обновить после добавления пользователем элементов&lt;br /&gt;
Astromkey.sendSessionPropertyEvent(&lt;br /&gt;
    DTXSessionPropertyEventData()&lt;br /&gt;
        .addSessionProperty(&amp;quot;session_properties.cart_value&amp;quot;, value: 149.99)&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objective-C&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Начальные свойства&lt;br /&gt;
[Astromkey sendSessionPropertyEvent:&lt;br /&gt;
    [[DTXSessionPropertyEventData alloc] init]&lt;br /&gt;
        addSessionProperty:@&amp;quot;session_properties.cart_value&amp;quot; value:@0]];&lt;br /&gt;
&lt;br /&gt;
// Обновить после добавления пользователем элементов&lt;br /&gt;
[Astromkey sendSessionPropertyEvent:&lt;br /&gt;
    [[DTXSessionPropertyEventData alloc] init]&lt;br /&gt;
        addSessionProperty:@&amp;quot;session_properties.cart_value&amp;quot; value:@149.99]];&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;endVisit()&amp;lt;/code&amp;gt; для ручного закрытия текущей сессии и начала новой. Все открытые действия закрываются и отправляются на сервер.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Swift&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
func logout() {&lt;br /&gt;
    // Четкая идентификация пользователя&lt;br /&gt;
    Astromkey.identifyUser(nil)&lt;br /&gt;
&lt;br /&gt;
    // Завершить текущую сессию&lt;br /&gt;
    Astromkey.endVisit()&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Objective-C&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- (void)logout {&lt;br /&gt;
    // Четкая идентификация пользователя&lt;br /&gt;
    [Astromkey identifyUser:nil];&lt;br /&gt;
&lt;br /&gt;
    // Завершить текущую сессию&lt;br /&gt;
    [Astromkey endVisit];&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сеансы также автоматически завершаются по истечении времени ожидания бездействия и максимальной продолжительности сеанса, настроенной в вашей среде Ключ-АСТРОМ.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>