ym88659208ym87991671
Модуль SPaySdkDynatrace | Документация для разработчиков

Модуль SPaySdkDynatrace

Обновлено 11 августа 2026

Обзор

SPaySdkDynatrace — отдельный опциональный модуль, который включает отправку метрик SberPay SDK в Dynatrace. Модуль поставляется отдельным артефактом и не входит в основной SPaySdk.

Если Dynatrace в вашем приложении не используется — подключать модуль не нужно. Основной SPaySdk работает без него и не содержит зависимости от Dynatrace.

Требования

Для работы модуля необходимо:

  • Подключённый SPaySdk версии 3.2.5 и выше.

  • Dynatrace OneAgent iOS SDK версии 8.343.2.

Модуль собран и протестирован против Dynatrace OneAgent iOS SDK версии 8.343.2. Совместимость с другими версиями не гарантируется.

Подключение модуля

Для работы модуля в проекте должны быть подключены два артефакта: сам SPaySdkDynatrace и Dynatrace OneAgent iOS SDK.

Подключение SPaySdkDynatrace

Перетащите файл SPaySdkDynatrace.xcframework, переданный вам вместе с основным артефактом SDK, в Frameworks, Libraries, and Embedded Content, а также выставите Embed & Sign.

Подключение Dynatrace

Перейдите в файл вашего проекта, во вкладке Package dependancies нажмите + и в строке поиска введите:

https://github.com/Dynatrace/swift-mobile-sdk

В качестве правила зависимости укажите версию 8.343.2, выберите продукт Dynatrace и добавьте пакет в приложение.

Настройка Info.plist

Добавьте в Info.plist вашего приложения ключ DTXAutoStart со значением false:

<key>DTXAutoStart</key>
<false/>

Без этого ключа агент Dynatrace попытается запуститься автоматически и в логах появятся ошибки Missing mandatory property applicationId! и Missing mandatory property beaconUrl!. SDK инициализирует Dynatrace самостоятельно, автозапуск агента не требуется.

Начало работы

Импортируйте модули в проект и зарегистрируйте провайдер аналитики до вызова SPay.setup(...):

import SPaySdk
import SPaySdkDynatrace

SPay.registerAnalyticsProvider(SPayDynatraceAnalytics())

SPay.setup(bnplPlan: true,
spasiboBonuses: true,
resultViewNeeded: true,
helpers: true,
needLogs: true,
helperConfig: SBHelperConfig(sbp: true, creditCard: true),
environment: .prod) { error in
if let error {
print(error.errorDescription)
}
}

Порядок вызовов важен: registerAnalyticsProvider должен быть вызван до SPay.setup(...). Если провайдер зарегистрирован после инициализации SDK, метрики отправляться не будут.

Больше ничего делать не требуется — идентификатор пользователя и параметры подключения к Dynatrace SDK передаёт в модуль самостоятельно.

Публичный API

SPay.registerAnalyticsProvider

public static func registerAnalyticsProvider(_ provider: SPayAnalyticsProvider)

Регистрирует внешний провайдер аналитики. Единственный метод, который требуется вызвать для подключения модуля.

SPayDynatraceAnalytics

public final class SPayDynatraceAnalytics: SPayAnalyticsProvider {
public init()
}

Реализация провайдера аналитики для Dynatrace. Создаётся без параметров.

SPayAnalyticsProvider

public protocol SPayAnalyticsProvider: AnyObject {
var toggleName: String { get }
var userId: String { get set }
func sendEvent(_ event: String)
func sendEvent(_ event: String, with string: String)
func sendEvent(_ event: String, with dictionary: [String: String])
func sendError(_ event: String, error: Error, with context: [String: Any]?)
func config()
func startSession()
func finishSession()
func applyRemoteConfig(_ config: [String: String])
}

Методы и свойства протокола SPayAnalyticsProvider вызываются SDK автоматически. Не обращайтесь к ним напрямую из кода приложения.

Заметили ошибку?
Выделите текст и нажмите
Ctrl
+
Enter
, чтобы сообщить нам об ошибке