Логирование событий

Если вы хотите логировать события библиотеки платежей, то добавьте в вызов RuStoreBillingClientFactory.create() параметры externalPaymentLoggerFactory и debugLogs (данные параметры являются необязательными для инициализации):

val billingClient: RuStoreBillingClient = RuStoreBillingClientFactory.create(
    context = app,
    consoleApplicationId = "111111",
    deeplinkScheme = "yourappscheme",
    externalPaymentLoggerFactory = { tag -> PaymentLogger(tag) },
    debugLogs = true
)
 
class PaymentLogger(private val tag: String) : ExternalPaymentLogger {
    override fun d(e: Throwable?, message: () -> String) {
        Log.d(tag, message.invoke(), e)
    }
 
    override fun e(e: Throwable?, message: () -> String) {
        Log.e(tag, message.invoke(), e)
    }
 
    override fun i(e: Throwable?, message: () -> String) {
        Log.i(tag, message.invoke(), e)
    }
 
    override fun v(e: Throwable?, message: () -> String) {
        Log.v(tag, message.invoke(), e)
    }
 
    override fun w(e: Throwable?, message: () -> String) {
        Log.w(tag, message.invoke(), e)
    }
}

Параметры для включения логирования:

  • externalPaymentLoggerFactory — интерфейс, позволяющий создать логгер, который пробрасывает логи библиотеки в приложение-хост

  • debugLogs — включить логи (логи будут автоматически отключены для Release-сборок)

Где PaymentLogger — это пример реализации логирования событий платежей.

Обновлено 12 апреля 2023 г.
Was this information helpful?