yoomoney / yookassa-android-sdk

This library allows implementing payment acceptance into mobile apps on Android. It works as an extension to the YooMoney API.
https://yookassa.ru/developers/payment-forms/android-sdk
MIT License
39 stars 22 forks source link

Нет логов при TestParameters.showLogs (true) #23

Closed ITurchenko closed 4 years ago

ITurchenko commented 5 years ago

Версия библиотеки com.yandex.android:authsdk:2.1.0 дебаговая сборка без прогуарда, подписанная

val p = PaymentParameters( ... )
val testParameters = TestParameters(true)
val intent = Checkout.createTokenizeIntent(context ?: return, p, testParameters)

При запуске нет логов. Соответственно никакой возможности самостоятельно локализовать причину ошибки "Что-то пошло не так, мы чиним, можете попробовать ещё раз" при попытке оплаты.

ITurchenko commented 5 years ago

Проблема воспроизводится не на всех устройствах.

Наблюдается на Honor 5C, Android 7.0, EMUI 5.0.4, на телефоне установлено приложение Яндекс.Денег

Отсутствует на Nexus 5, Android 6.0.1, приложения Яндекс.Денег нет

drukarev commented 5 years ago

Добрый день. Пока не смогли воспроизвести проблему. Есть возможность дать минимальный проект, на котором воспроизводится проблема с логами и ошибка?

ITurchenko commented 5 years ago

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

YKassaDemo.zip

Ожидание - логи в консоли с тегом "Yandex.Checkout.SDK" о неправильных ключах авторизации Поведение на Honor 5C, Android 7.0, EMUI 5.0.4 - отсутствие логов с тегом "Yandex.Checkout.SDK"

Есть подозрение, что проблема как-то связана с оболочкой EMUI, т.к. при проверке на доступных телефонах с "чистым" андроидом проблему не удалось воспроизвести.

ITurchenko commented 5 years ago

Коллеги, кажется нашел причину. Старый баг(?) андроида о том, что не все телефоны выводят логи уровня "debug" и "verbose".

При повышении уровня хотя бы до "info" логи выводятся всегда и на всех устройствах.

В связи с этим у меня вопрос/предложение - можно ли добавить возможность подключения "своего" логгера, чтобы я мог при необходимости менять уровень логирования и выводить сообщения на экран для облегчения отладки?

drukarev commented 4 years ago

Добрый день. Судя по комментариям (https://stackoverflow.com/questions/28434901/why-are-log-d-and-log-v-not-printing), проблему можно решить с помощью настроек разработчика. Возможность подключения своего логгера и изменения уровня логирования пока не планируется, так-как мы не хотим, чтобы логи случайно оказались в релизных сборках приложений.