深度链接
职责:闲言 APP 的 URL Scheme / Universal Link / App Link 配置,让外部链接能精准唤起 APP 并跳转到对应页面。
深度链接(Deep Link)技术文档 v2.2
创建: 2026-05-23 | 更新: 2026-08-15
维护: Xianyan 团队
职责:闲言 APP 的 URL Scheme / Universal Link / App Link 配置,让外部链接能精准唤起 APP 并跳转到对应页面。
1. 支持的链接类型
| 平台 | 链接格式 | 说明 |
|---|---|---|
| iOS (Universal Link) | https://xianyan.cc/{path} |
自动跳 APP,未安装则落网页 |
| iOS (URL Scheme) | xianyan://path |
直接拉起 APP |
| Android (App Link) | https://xianyan.cc/{path} |
自动跳 APP |
| Android (Intent) | intent://path#Intent;scheme=xianyan;... |
浏览器兜底拉起 |
| 微信内 | 需用 Universal Link + 应用宝中转 | 微信禁 scheme 自定义 |
2. 路由前缀
| 前缀 | 目标 |
|---|---|
xianyan://poem/{id} |
古诗详情 |
xianyan://poem/random |
随机诗 |
xianyan://sentence/{id} |
名句详情 |
xianyan://user/{id} |
用户主页 |
xianyan://transfer?... |
文件传输配对 |
xianyan://oauth/{platform} |
OAuth 绑定 |
xianyan://share/... |
分享内容 |
xianyan://setting/... |
设置页 |
xianyan://fortune/today |
今日运势 |
xianyan://readlater/{id} |
稍后再读详情 |
xianyan://hanzi/{id} |
汉字详情 |
xianyan://poem/daily |
每日一诗 |
共 12 个 deep link 路由,覆盖所有核心模块。
3. Universal Link 配置
3.1 iOS(apple-app-site-association)
部署到 https://xianyan.cc/.well-known/apple-app-site-association:
{
"applinks": {
"apps": [],
"details": [
{
"appIDs": ["TEAMID.com.xianyan.app"],
"components": [
{ "/": "/poem/*", "comment": "古诗详情" },
{ "/": "/user/*", "comment": "用户主页" },
{ "/": "/fortune/*", "comment": "运势" }
]
}
]
}
}
3.2 Android(assetlinks.json)
部署到 https://xianyan.cc/.well-known/assetlinks.json:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.xianyan.app",
"sha256_cert_fingerprints": ["..."]
}
}]
4. 调试技巧
iOS:
# 在 Mac 上验证 Universal Link
xcrun simctl openurl booted https://xianyan.cc/poem/1234
# 或打开 Notes.app,点击链接
Android:
adb shell am start -a android.intent.action.VIEW \
-d "xianyan://poem/1234"
5. 处理流程
mermaid
flowchart TD
A[点击 https://xianyan.cc/poem/1234] --> B{APP 已安装?}
B -->|是| C[直接打开 APP 详情页]
B -->|否| D[加载网页 fallback]
A2[点击 xianyan://poem/1234] --> E{iOS / Android?}
E -->|iOS| F{系统询问是否打开?}
F -->|是| C
F -->|否| D
E -->|Android| C
6. 微信场景
微信内不允许直接拉起 APP,需要:
1. 用 Universal Link + 引导用户在浏览器打开
2. 或用应用宝中转(https://a.app.qq.com/o/simple.jsp?pkgname=com.xianyan.app)