本页目录
移动端与深层链接
使用 WalletConnect 配对 URI,从移动端 dApp 打开 OneKey。深层链接只负责打开钱包;用户批准 WalletConnect 会话后,连接才算建立。
概述
通过 WalletConnect 集成生成新的配对 URI,并在用户操作后打开下方链接。保持会话提案有效,等待用户批准或拒绝。在 OneKey 内置 dApp 浏览器中,应使用目标链的注入式 provider。
深层链接格式
自定义 URI Scheme
onekey-wallet://wc?uri={encodeURIComponent(wcUri)}通用链接
https://app.onekey.so/wc/connect/wc?uri={encodeURIComponent(wcUri)}请在支持的 iOS、Android 版本和浏览器中测试应用唤起及失败后的处理。应用是否安装、系统链接设置和内嵌浏览器的限制都会影响结果。
使用示例
// Generate WalletConnect URI from your dApp
const wcUri = 'wc:a281...' // Your WalletConnect URI
// Option 1: Custom scheme
const customSchemeLink = `onekey-wallet://wc?uri=${encodeURIComponent(wcUri)}`
// Option 2: Universal link (recommended)
const universalLink = `https://app.onekey.so/wc/connect/wc?uri=${encodeURIComponent(wcUri)}`
// Call this from the user's Connect button.
function openOneKey() {
window.location.href = universalLink
}连接与失败处理
- 由用户点击“连接”按钮后打开链接。部分浏览器会拦截未经用户操作的应用唤起。
- 处理 WalletConnect 会话的批准、拒绝、过期和断开事件。用户返回浏览器,不代表会话已经获批。
- 桌面端提供二维码;应用无法打开时,提供安装或重试入口。不要假定通用链接总会跳转到应用商店。
- 配对 URI 过期后重新生成。不要将有效的配对 URI 写入分析系统或应用日志。
- 如果钱包连接库提供移动端连接流程,优先使用它来管理配对和会话生命周期。
相关资源
- RainbowKit - 自动处理移动端检测
- Web3Modal - 内置移动端支持
- Provider API - 直接 Provider 集成
最后更新于