无需登录 数据私有 本地保存

URL Scheme测试器 - 自定义/常见协议

26
0
0
0

URL Scheme 测试器

构建、测试和分享自定义 URL Scheme / Deeplink

桌面端
输入协议名(不含 ://),系统会自动补全分隔符
对于 mailto: 填邮箱,tel: 填号码,https: 填主机+路径
请选择或输入 Scheme 并填写内容...
扫码在手机上测试
QR Code

使用手机扫描二维码

即可在移动设备上测试 URL Scheme

正在检测设备环境...
常见问题 & 知识点
什么是 URL Scheme?

URL Scheme(统一资源定位协议方案)是 URL 中冒号之前的部分,如 https://mailto:。 它定义了如何访问资源。App 可以注册自定义 Scheme(如 weixin://)来实现应用间跳转, 这是 Deeplink 技术的核心组成部分。在移动端,URL Scheme 被广泛用于从网页唤起原生 App。

如何在 iOS 上注册自定义 URL Scheme?

在 Xcode 项目中,进入 Target → Info → URL Types,添加自定义 Scheme。 然后在 App 的 AppDelegateSceneDelegate 中实现 handleOpenURL 方法来处理传入的链接。iOS 9+ 更推荐使用 Universal Links 作为替代方案,因为它更安全且不会弹出"是否打开"的确认框。

Android 如何支持 Deep Link?

AndroidManifest.xml 中为 Activity 添加 <intent-filter>, 配置 <data android:scheme="your-scheme" />。 Android 6.0+ 推荐使用 App Links(基于 HTTPS), 需要通过 assetlinks.json 验证域名所有权,实现无需弹窗的直接跳转。

为什么我的 URL Scheme 无法打开?

常见原因:① 目标 App 未安装;② Scheme 拼写错误或格式不正确;③ 浏览器阻止了非 HTTPS 协议; ④ 部分浏览器(如微信内置浏览器)对第三方 Scheme 有限制;⑤ iOS 的 Universal Links 优先级高于 URL Scheme; ⑥ 系统安全策略拦截。建议在移动端原生浏览器中测试,并确保目标 App 已正确注册该 Scheme。

URL Scheme 有哪些安全风险?

URL Scheme 可能被恶意利用进行 Scheme Hijacking(协议劫持)攻击。 攻击者可以注册与其他 App 相同的 Scheme 来拦截敏感数据。此外,通过 Scheme 传递的数据可能被中间人截获。 建议:① 不要在 Scheme URL 中传递敏感信息;② 优先使用 HTTPS-based 的 Universal Links / App Links; ③ 在处理 Scheme 请求时进行来源验证;④ 对接收的参数进行严格校验和过滤。

Universal Links 与 URL Scheme 的区别?

URL Scheme 是自定义协议(如 myapp://),需要 App 注册, 未安装 App 时无法处理,且可能弹出确认框。
Universal Links(iOS)/ App Links(Android) 使用标准 HTTPS 链接,通过服务器配置关联 App,体验更流畅:已安装 App 直接打开, 未安装则在浏览器中正常访问网页。推荐在新项目中优先采用 HTTPS-based 方案。

常见 URL Scheme 参考
协议 Scheme 示例 适用平台
网页https://https://example.com全平台
邮件mailto:mailto:hi@example.com全平台
电话tel:tel:+8613800000000移动端
短信sms:sms:+8613800000000移动端
微信weixin://weixin://dl/scan微信App
支付宝alipay://alipay://platformapi/startapp支付宝App
QQmqq://mqq://chat/QQ App
淘宝taobao://taobao://item.taobao.com淘宝App
FaceTimefacetime://facetime://user@example.comApple设备
地图maps://maps://?q=北京Apple设备