It's difficult to know which URLs should be opened in an external browser with the apis we have available. We get more information in swift, with WKNavigationType and it's linkActivated.
Checkout contains a large number of (frequently changing) URLs making a whitelist difficult to create.
Merchants may have store policies with links to various sites, checkout ui extensions with custom links and so on. The may also be rendered in cross-domain iframes.
This PR would allow merchants to specify any URLs (regex) where loading should be overridden, and we'd instead invoke onCheckoutLinkClicked(). Which is a little onerous for clients, but with the APIs and information we have available, it might be the best we can do.
What are you trying to accomplish?
It's difficult to know which URLs should be opened in an external browser with the apis we have available. We get more information in swift, with WKNavigationType and it's
linkActivated
.Checkout contains a large number of (frequently changing) URLs making a whitelist difficult to create.
Merchants may have store policies with links to various sites, checkout ui extensions with custom links and so on. The may also be rendered in cross-domain iframes.
This PR would allow merchants to specify any URLs (regex) where loading should be overridden, and we'd instead invoke
onCheckoutLinkClicked()
. Which is a little onerous for clients, but with the APIs and information we have available, it might be the best we can do.Example clicking on policy link:
https://github.com/Shopify/checkout-sheet-kit-android/assets/15106863/a703d105-d12f-4a98-8ee0-ecdbb9612b56
Before you deploy