我正在WebView的React Native应用中与Moneris处理交易。 WebView中的URL包含我的托管PayPage配置的凭据作为URI参数。在Moneris网站上创建该配置时,我需要提供托管支付页面的URL,以便在交易完成后重定向到该页面。当我输入类似https://www.google.ca/
的回调时,它可以正常工作,但是我不知道需要输入哪个回调URL才能返回到我的应用程序。
我想知道的事情:
为了返回到React Native应用程序,我需要使用什么回调URL?
WebView只是应用程序内部的一个组件,因此您永远不会离开应用程序。首先,确认页面是在WebView中呈现的,而不是将浏览器作为单独的应用程序启动并在其中打开页面(在这种情况下,您无法以编程方式返回到您的应用程序)。然后,如果您实际上正在使用WebView组件,则可以执行以下操作:将NavigationState侦听器添加到WebView,并读取WebView导航到的URL并采取相应的措施
class MyComponent extends React.Component{
onNavigationStateChange = (navState) => {
if (navState.url === 'https://www.yoursite.com') {
// user just got redirected to requested site
// do something in react-native app now, for example
// close this component and show another one
}
}
render(){
return <View>
<WebView
...
onNavigationStateChange={this.onNavigationStateChange}
/>
</View>
}
}