检测 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,应显示安装或启用钱包的入口,并停止连接流程。仅在用户操作后打开外部链接。
最后更新于