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

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

class App : Application() {
 
    override fun onCreate() {
        super.onCreate()
        RuStoreBillingClient.init(
            application = this,
            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 — это пример реализации логирования событий платежей.

Was this information helpful?