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

相关推荐
毛骗导演13 分钟前
@tencent-weixin/openclaw-weixin 插件深度解析(四):API 协议与数据流设计
前端·架构
毛骗导演17 分钟前
@tencent-weixin/openclaw-weixin 插件深度解析(二):消息处理系统架构
前端·架构
IT_陈寒34 分钟前
深入理解JavaScript:核心原理与最佳实践
前端·人工智能·后端
MrGud39 分钟前
Cesium中的坐标系及其转换
前端·cesium
小付学代码40 分钟前
香港地图可编辑版
前端
兆子龙1 小时前
TypeScript高级类型编程:从入门到精通
前端·后端
SuperEugene1 小时前
Vue3 模板语法规范实战:v-if/v-for 不混用 + 表达式精简,避坑指南|Vue 组件与模板规范篇
开发语言·前端·javascript·vue.js·前端框架
IT_陈寒1 小时前
Python开发者的效率革命:这5个技巧让你的代码提速50%!
前端·人工智能·后端
Luna-player1 小时前
Vue 3 + Vue Router 的路由配置,简单示例
前端·javascript·vue.js
用户69371750013841 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能