0

我正在 WebView 中的 React Native 应用程序中处理与 Moneris 的事务。我的 WebView 中的 URL 包含我的托管支付页面配置的凭据作为 URI 参数。在 Moneris 网站上创建该配置时,我需要提供托管支付页面的 URL,以便在交易完成后重定向到。当我输入类似https://www.google.ca/回调的内容时,它工作正常,但我不知道我需要输入什么回调 URL 才能返回我的应用程序。

我想知道的:

我需要使用什么回调 URL 才能返回到 React Native 应用程序?

4

1 回答 1

2

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>
  }
}
于 2019-10-25T22:24:18.260 回答