Андроид, SberPAY
xurc opened this issue · 2 comments
При нажатии кнопки SberPAY на странице оплаты происходит попытка перехода из WebView
в приложение Сбербанка по applink, которая завершается приложенной ошибкой. Пробовали перехватывать такой переход в navigationDelegate
и открывать приложение Сбербанка через url_launcher
c LaunchMode.externalApplication
, но в этом случае WebView теряет контроль и не срабатывают хуки onPageStarted
и т.д.
Устройство не виртуальное, приложение сбербанка установлено, но этом же устройстве приложение Сбербанка через url_launcher открывается.
Есть ли способ сохранить возможность оплаты через SberPAY?
Здравствуйте @xurc, вы все правильно делаете что перехватываете applink
через url_launcher
.
iOS
Для возможности проверять наличие установленного МП СБОЛ на устройстве, необходимо поправить
Info.plist вашего приложения, добавив следующее:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>sberbankonline</string>
<string>sbolpay</string>
<string>sberpay</string>
</array>
iOS и Android
Похоже в последней версии url_launcher
необходимо передавать LaunchMode.externalNonBrowserApplication
в метод launchUrl
.
Похоже в последней версии
url_launcher
необходимо передаватьLaunchMode.externalNonBrowserApplication
в методlaunchUrl
.
На самом деле не совсем корректно. В случае iOS'а, если использовать LaunchMode.externalNonBrowserApplication
, то url_launcher
будет обращаться к платформе с активированным параметром universalLinksOnly
и ссылки от сбера не будут открываться (что стоило мне отвалившейся жеппы). Лучше выбирать LaunchMode.externalApplication