flutter如何配置app links
在Flutter项目中配置App Links时遇到问题,按照官方文档操作后仍然无法正常跳转。具体步骤已配置assetlinks.json文件并部署到网站根目录,AndroidManifest.xml中也添加了intent-filter,但点击链接时还是直接打开浏览器而不是跳转到App。请问还需要检查哪些配置?iOS和Android的配置是否有区别?有没有完整的成功案例可以参考?
在 AndroidManifest.xml 中配置 intent-filter,设置 autoVerify 为 true,并关联域名。iOS 需在 Associated Domains 中添加 applinks:yourdomain.com,并上传 apple-app-site-association 文件到服务器。
更多关于flutter如何配置app links的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中配置 App Links(Android)和 Universal Links(iOS)可让应用通过 HTTP/HTTPS 链接直接启动。以下是配置步骤:
Android 配置(App Links)
-
修改
android/app/src/main/AndroidManifest.xml: 在<activity>标签内添加 intent-filter:<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="yourdomain.com" android:pathPrefix="/path" /> </intent-filter> -
创建
assetlinks.json文件: 在域名根目录(如https://yourdomain.com/.well-known/assetlinks.json)放置以下内容:[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.app", "sha256_cert_fingerprints": ["YOUR_APP_SHA256_FINGERPRINT"] } }]获取 SHA256 指纹:
keytool -list -v -keystore your-release-key.keystore
iOS 配置(Universal Links)
-
修改
ios/Runner/Runner.entitlements: 添加以下内容:<dict> <key>com.apple.developer.associated-domains</key> <array> <string>applinks:yourdomain.com</string> </array> </dict> -
创建
apple-app-site-association文件: 在域名根目录(如https://yourdomain.com/.well-known/apple-app-site-association)放置:{ "applinks": { "details": [{ "appIDs": ["TEAMID.bundle.identifier"], "components": [{ "/": "/path/*", "comment": "匹配指定路径" }] }] } }注意:此文件不能包含
.json扩展名,且需通过 HTTPS 访问。
Flutter 代码处理
使用 uni_links 包处理链接:
-
添加依赖:
dependencies: uni_links: ^0.5.1 -
监听链接:
import 'package:uni_links/uni_links.dart'; void initUniLinks() { getInitialLink().then((initialLink) { // 处理冷启动链接 }); linkStream.listen((String? link) { // 处理应用运行时的链接 }); }
验证配置
- Android:访问 Digital Asset Links API 验证。
- iOS:使用 Apple验证工具。
完成以上步骤后,用户点击 https://yourdomain.com/path/... 链接时,应用将自动启动(如已安装)。

