Об этом проекте

# TelemetryDeck Kotlin SDK Kotlin-библиотека для отправки аналитических сигналов из Android-приложений в TelemetryDeck — аналитическую платформу, ориентированную на конфиденциальность. SDK работает на Android API 23+ с Kotlin 2.3.x. ## Основные возможности Отправка сигналов — вызовите TelemetryDeck.send("eventName"), чтобы немедленно отправить аналитический сигнал, или TelemetryDeck.signal("eventName"), чтобы поставить его в очередь на последующую передачу. Отслеживание сессий — автоматически определяет новые установки, измеряет длительность сессии и вычисляет метрики удержания (средняя длительность сессии в секундах, число различных дней использования, общее число сессий). Состояние сессии хранится локально на устройстве и очищается при удалении приложения. Идентификация пользователя — по умолчанию генерирует анонимный идентификатор в рамках устройства. Поддерживает пользовательские идентификаторы через defaultUser (хешируется перед отправкой) или собственную реализацию TelemetryDeckIdentityProvider. Параметры окружения — автоматически обогащает каждый сигнал метаданными устройства (модель, ОС, разрешение экрана, ориентация, архитектура, бренд, часовой пояс), метаданными приложения (версия, номер сборки) и метаданными SDK. Также фиксирует настройки доступности (масштаб шрифта, сопоставленный с категориями размера iOS, жирный текст, инверсия цвета, уменьшение движения, тёмная/светлая схема). Сигналы навигации — отслеживайте переходы пользователя между экранами с помощью TelemetryDeck.navigate(source, destination) или вызывайте его при каждом изменении пути для автоматического отслеживания маршрута. Отслеживание длительности — запускайте и останавливайте именованные сигналы длительности (startDurationSignal / stopAndSendDurationSignal), чтобы измерять время, затраченное на определённые события, например шаги мастера. Помощники привлечения — удобные методы для acquiredUser(channel), leadStarted(leadId) и leadConverted(leadId). Параметры календаря — добавляет день недели, день месяца, неделю года, квартал, час дня, флаг выходных и другое к каждому исходящему сигналу. Отслеживание покупок — purchaseCompleted() записывает покупки в приложении с кодом страны торговой площадки и идентификатором продукта. Режим только в памяти — вызовите inMemoryOnly(true) у builder, чтобы работать без записи на диск, что подходит для изолированных процессов. Идентификатор пользователя создаётся заново при каждом запуске; обнаружение новых установок и метрики удержания в этом режиме недоступны. ## Установка Добавьте в build.gradle: implementation 'com.telemetrydeck:kotlin-sdk:7.2.0' Добавьте разрешение на интернет в AndroidManifest.xml: разрешение android.permission.INTERNET Настройте через метаданные манифеста или программный builder: val builder = TelemetryDeck.Builder() .appID("YOUR-APP-ID") .showDebugLogs(true) .defaultUser("anonymous-user") TelemetryDeck.start(applicationContext, builder) ## Провайдеры и настройка SDK использует систему плагинов-провайдеров. Встроенные провайдеры включают EnvironmentParameterProvider, PlatformContextProvider, AccessibilityProvider, SessionTrackingSignalProvider и CalendarParameterProvider. Пользовательское обогащение можно добавить через DefaultParameterProvider, DefaultPrefixProvider или реализовав TelemetryDeckIdentityProvider, TelemetryDeckSessionManagerProvider и TelemetryDeckStorage для собственных бэкендов.