安卓

安卓很简单,用以下代码即可:

<WebView 
  source={{ uri: '包含支付宝的网页,例如有赞手机网页商城' }} 
  originWhitelist={["*"]} // default only http and https
  sharedCookiesEnabled={true}
  onShouldStartLoadWithRequest={navState => {
    if (0===navState.url.indexOf('alipays://') || 0===navState.url.indexOf('alipay://')) {
      Linking.openURL(navState.url)
      return false
    }
    return true // if not alipay scheme, just open
  }}
/>

其中安卓scheme是alipays://,iOS是alipay://

iOS/iPadOS

iOS的话,无法直接在Expo Go上测试支付宝支付,需要更改配置编译.ipa安装包
https://docs.expo.dev/guides/linking/#opening-links-to-other-apps
在./app.json里

"expo": {
  ... ...
  "ios": {
    "supportsTablet": true,
    "infoPlist": {
      "LSApplicationQueriesSchemes": ["alipay", "alipays"]
    },
    "bundleIdentifier": "com.yourdomain.yourproject"
  },
  ... ...
}

编译.ipa安装包并在iOS/iPadOS设备上安装运行的方式:https://medium.com/nerd-for-tech/abbde4086d08
备份文章:https://nftstorage.link/ipfs/bafybeidpjbd7ye5vfxa6vhsrjssfsk5qw6ib2kmnkkbe6lqd3qdrcakpym
上文用的是windows系统,如果你是Mac系统,USB连接iPhone后,可以在Finder左边栏里找到iPhone设备的界面,将.ipa安装包拖到这个界面即可安装到手机

添加新评论