
有没有会 android 的大佬,给我整晕了 我配置了 AppLinks 一开始在我自己的服务器部署的,跳转一切正常。换到公司的(内网)发现跳转失败,当我再换回我的测试的发现我自己的也跳转不了了。一点链接就 浏览器 nginx 404 页面。不能跳到 APP 上。App Links Assistant 上验证工具也能通过,但就是没法跳转到 APP 。Android API 26 ( Android8 ) 开发测试机 Pixel6 Android14 我认为配置了<intent-filter> 和在域名服务器上部署了证书后应该就能跳转才对。不知道是哪里错了。。 还有就是有没有比较好的 Android 开发社区,大佬们推荐一下! 下面是我的代码 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.VIBRATE" /> <application android:allowBackup="true" android:dataExtractiOnRules="@xml/data_extraction_rules" android:fullBackupCOntent="@xml/backup_rules" android:icon="@mipmap/logo" android:roundIcon="@mipmap/logo_round" android:label="@string/roll" android:supportsRtl="true" android:theme="@style/Theme.Hello" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" android:theme="@style/Theme.Hello"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </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" /> <data android:host="tw.eekda.com" /> <data android:pathPrefix="/open" /> </intent-filter> </activity> </application> </manifest> debug 证书地址: https://tw.eekda.com/.well-known/assetlinks.json
这是我跳转 url 的 Button 代码
openApp(){ const isAndroid = /Android/i.test(navigator.userAgent); if (isAndroid) { const uurl = `https://tw.eekda.com/open`; // 尝试打开 APP 或者跳转到应用商店 window.location.href = uurl; } else { // 如果是其他平台(如 iOS ) alert("只支持 android") } }, 1 fuckshiter 2023-09-26 16:07:06 +08:00 tools - applinks assistant 里面设置一下生成校验测试一下 |
2 mqllin OP @fuckshiter applinks assistant 校验是都能通过的,提示的 URL 点击也可以打开正常访问,但在浏览器中点击链接亦或是使用 App Links Assistant->Test on device or emulator 都不能正常跳转打开 APP 。浏览器会跳转到 nginx 404 。 我看了论坛有说 Android12 后需要把 data android:scheme 、host 、path 分开三个标签写的,我也尝试了对我没有效果。 |
3 fuckshiter 2023-09-26 16:32:29 +08:00 @mqllin Link and Verif 通过后第四步那个个 Test App Links ,他会运行,然后他能打开到 app 就可以了。不行你可能要检查一下证书网络.更具体可以看这里 [验证 Android 应用链接]( https://developer.android.com/training/app-links/verify-android-applinks) |
4 Lin0936 2023-09-26 16:35:50 +08:00 可能是 app install 时的网络环境有问题? |
5 fuckshiter 2023-09-26 16:39:47 +08:00 看着是没问题,你看看上面官方链接里面的 adb shell 命令查看一下他的状态是不是对的。4 楼说的不也不是没有可能 |
6 mqllin OP @fuckshiter 刚刚我在你提及的这个网站( https://developers.google.com/digital-asset-links/tools/generator?hl=zh-cn )尝试验证了我的配置,通过了验证,然后我再一测试,现在 APP 能正常跳转了。但实际上我什么也没有做。。。正如我感觉什么也没有做突然就不能正常跳转了一下。总之给我的感觉是在 google 验证了一下,然后我就能跳转了。(我这是个本地 APP 并不会发布到 App Store ) |
7 mqllin OP @fuckshiter 十分感谢,虽然我没搞懂,但是你帮我解决了问题! |
8 mqllin OP @fuckshiter 有一个新的问题,我的正式域名是内网解析的域名。目前怎么搞也还是无法跳转。请问 App Links 支持内网使用吗?会不会是因为 Google 的服务器无法验证内网的域名导致无法跳转呢?测试的设备上安装了内网证书,浏览器是可以访问到.well-known/assetlinks.json 文件的 |