我的应用程序使用深度链接工作正常,我没有改变应用程序中的任何内容,但似乎改变的是,当新安装应用程序时,在应用程序设置中-设置为默认值-支持的Web地址我的网站URL,深度链接应该工作关闭是默认禁用的,我必须手动启用它才能使其工作。我怎样才能使它安装与此被启用自动
8i9zcol21#
这是由于Android 12中引入的最新更改。根据文件:从Android 12(API级别31)开始,仅当您的应用获得了Web Intent中包含的特定域的批准时,通用Web Intent才会解析为应用中的Activity。如果您的应用未获得域的批准,则Web Intent将解析为用户的默认浏览器应用。在Android 12之前,打开作为AndroidManifest中的深层链接添加的通用Web URL会显示一个对话框,供您在应用和浏览器之间进行选择。从Android 12开始,开发人员将:1.将android:autoVerify="true"添加到Web URL Intent中,Android将验证该域是否与同一应用关联。这些关联的深度链接也称为Android App Link.s(doc link)1.通过在以下位置托管数字资产链接JSON文件,声明您的网站与Intent过滤器之间的关联:https://domain.name/.well-known/assetlinks.json(doc link)在此之后,当应用安装并触发深度链接(Android应用链接)时,Android将验证关联并直接在应用中打开深度链接(它不会在Intent中显示应用选择器对话框)。
AndroidManifest
android:autoVerify="true"
https://domain.name/.well-known/assetlinks.json
p8ekf7hl2#
在花了一整天的时间思考这些问题之后,以下是我的答案:对我来说,我的apk有一个不同的包名称从my-domain.com/.well-known/assetlinks.json用this service检查后才发现我的建议是如果你遇到那个问题1.检查你的.well-known没有错误使用URL(用你的域替换https://my-domain.com)https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://my-domain.com&relation=delegate_permission/common.handle_all_urls1.安装apk后,检查深层链接验证是否通过使用这些命令,如果他们没有验证,他们会出现与该切换开关关闭.3.如果你仍然有这个问题,你可以检查你的设备的adb logcat,并看到错误,为什么这个验证失败.
https://my-domain.com
13z8s7eq3#
对于那些实施Adobe Assurance或其他第三方服务的人,您可以使用以下筛选器。如果模式不是http/https,它应该可以工作。
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="sampleapp" android:host="my.appname.app" /> </intent-filter>
3条答案
按热度按时间8i9zcol21#
这是由于Android 12中引入的最新更改。根据文件:
从Android 12(API级别31)开始,仅当您的应用获得了Web Intent中包含的特定域的批准时,通用Web Intent才会解析为应用中的Activity。如果您的应用未获得域的批准,则Web Intent将解析为用户的默认浏览器应用。
在Android 12之前,打开作为
AndroidManifest
中的深层链接添加的通用Web URL会显示一个对话框,供您在应用和浏览器之间进行选择。从Android 12开始,开发人员将:1.将
android:autoVerify="true"
添加到Web URL Intent中,Android将验证该域是否与同一应用关联。这些关联的深度链接也称为Android App Link.s(doc link)1.通过在以下位置托管数字资产链接JSON文件,声明您的网站与Intent过滤器之间的关联:
https://domain.name/.well-known/assetlinks.json
(doc link)在此之后,当应用安装并触发深度链接(Android应用链接)时,Android将验证关联并直接在应用中打开深度链接(它不会在Intent中显示应用选择器对话框)。
p8ekf7hl2#
在花了一整天的时间思考这些问题之后,以下是我的答案:对我来说,我的apk有一个不同的包名称从my-domain.com/.well-known/assetlinks.json
用this service检查后才发现
我的建议是如果你遇到那个问题
1.检查你的.well-known没有错误使用URL(用你的域替换
https://my-domain.com
)https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://my-domain.com&relation=delegate_permission/common.handle_all_urls
1.安装apk后,检查深层链接验证是否通过使用这些命令,如果他们没有验证,他们会出现与该切换开关关闭.
3.如果你仍然有这个问题,你可以检查你的设备的adb logcat,并看到错误,为什么这个验证失败.
13z8s7eq3#
对于那些实施Adobe Assurance或其他第三方服务的人,您可以使用以下筛选器。如果模式不是http/https,它应该可以工作。