Skip to Content
dApp 接入

检测 Provider

要检测用户是否已安装 OneKey,Web 应用应检查 window.$onekey.solana 对象是否存在。

OneKey 浏览器扩展,以及 OneKey 移动端和桌面端的内置浏览器,可在支持的浏览环境中注入 $onekey.solana 对象。

如果 window.$onekey.solana 对象存在,Solana 应用可以通过 window.$onekey.solana 处的 API 与 OneKey 交互。为了支持旧版集成,此 solana 对象也可在 window.solana 处访问。

要检测是否安装了 OneKey,应用应检查额外的 isOneKey 标志。

const isOneKeyInstalled = window.$onekey?.solana?.isOneKey;

如果未安装 OneKey,我们建议将用户重定向到 https://onekey.so/download/?client=browserExtension 。完整代码如下所示:

const getProvider = () => { if ('$onekey' in window) { const provider = window.$onekey?.solana; if (provider?.isOneKey) { return provider; } } return undefined; // Show an installation link in the application UI. };

如果 getProvider() 返回 undefined,应显示安装或启用钱包的入口,并停止连接流程。仅在用户操作后打开外部链接。

最后更新于