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; 一共有四部,按照流程即可配置完成。

相关推荐
康小汪4 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
智能运维指南5 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
白山编程大哥6 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt7 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
Csvn8 小时前
bundle优化
前端
北冥有鱼8 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
静默回滚8 小时前
视频压到 25 MB 以内,码率要算、音轨要扣、余量要留
前端
用户37203749260188 小时前
把 10MB 中文语义模型塞进浏览器:STSB 做到教师模型的 93%,但线上 top1 只有 42%
前端
光锥智能9 小时前
海康机器人举行2026移动机器人新品发布会:箱式存拣升级,「明智」系列发布
java·前端·机器人
计算机魔术师9 小时前
Anthropic 上市文件最吓人的一幕,不是亏损 807 亿
前端