Android App Links 配置

App Links 是 Android 官方提供的一种"通用链接"机制, 让 HTTPS 链接可以直接唤起对应的 App,而不是跳转浏览器,类似于iOS的Universal Links。

平台 名称 配置文件 功能
iOS Universal Links apple-app-site-association (AASA) 点击网页 → 打开 App
Android Aoo Links assetlinks.json 点击网页 → 打开 App

例如: https://xxx.com/callback/123

  • 如果设备上安装了 App → 自动打开 App;
  • 如果没安装 → 打开网页(优雅降级)。

当用户点击链接时,系统会验证:

  1. 链接的域名(如 xxx.com
  2. 对应域名下的 .well-known/assetlinks.json
  3. JSON 文件中是否声明了你的 App 包名 + 签名指纹

验证通过后,Android 会在系统中记录「此域名可由该 App 直接处理」。

三、配置步骤

1.在你的服务器添加assetlinks.json

在根目录下添加,路径为 .well-known/assetlinks.json

assetlinks.json 内容为:

json 复制代码
[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "your_package_name",
      "sha256_cert_fingerprints": [
        "xxxxxx"  // 签名
      ]
    }
  },
  ]

要求:

  • 必须是 HTTPS;
  • 不能重定向
  • header中必须是ontent-Type: application/json;
  • 文件路径必须是 .well-known/assetlinks.json

2.在 AndroidManifest.xml 中添加 <intent-filter>

找到你的主 Activity

xml 复制代码
<activity
    android:name=".ui.activity.MainActivity"
    android:exported="true"
    android:launchMode="singleTop"
    android:theme="@style/LaunchTheme">

    <!-- 普通启动 -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>

    <!-- App Links -->
    <intent-filter android:autoVerify="true">
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <data android:scheme="https"
              android:host="xxx.com"
              android:pathPrefix="/callback"/>
    </intent-filter>

</activity>

说明:

  • android:autoVerify="true" 会让系统自动去验证 assetlinks.json;
  • android:host 必须和网站域名一致;
  • android:pathPrefix 指定可唤起的路径;
  • 可配置多个 <intent-filter> 来匹配不同路径。

更快捷的配置

Android studio 提供了更快捷的配置:Tools → App Links Assistant → Create AppLink; 一共有四部,按照流程即可配置完成。

相关推荐
金木讲编程19 小时前
Claude、Agent与Copilot协作生成Angular应用
前端·ai编程
振华OPPO20 小时前
Vue:“onMounted“ is defined but never used no-unused-vars
前端·javascript·css·vue.js·前端框架
欧雷殿20 小时前
在富阳银湖成立地域化的软件研发团队
前端·程序员·创业
狂炫冰美式21 小时前
前端实时推送 & WebSocket 面试题(2026版)
前端·http·面试
JefferyXZF21 小时前
新手建站零门槛!Vercel+Cloudflare+Namesilo域名购买部署全流程
前端
yinuo21 小时前
微信浏览器缓存机制大揭秘:为什么你总刷不出新页面?
前端
拉不动的猪21 小时前
try...catch 核心与生态协作全解析
前端·javascript·vue.js
Xeon_CC1 天前
在react-app-rewired工程项目中,调试AntVG6库源码包。
前端·react.js·前端框架
o***Z4481 天前
前端无障碍开发检查清单,WCAG合规
前端
J***Q2921 天前
前端CSS架构模式,BEM与ITCSS
前端·css