Android深层链接不工作,由于支持的Web地址被默认禁用

z3yyvxxp  于 2023-05-05  发布在  Android
关注(0)|答案(3)|浏览(161)

我的应用程序使用深度链接工作正常,我没有改变应用程序中的任何内容,但似乎改变的是,当新安装应用程序时,在应用程序设置中-设置为默认值-支持的Web地址我的网站URL,深度链接应该工作关闭是默认禁用的,我必须手动启用它才能使其工作。
我怎样才能使它安装与此被启用自动

8i9zcol2

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.jsondoc link
在此之后,当应用安装并触发深度链接(Android应用链接)时,Android将验证关联并直接在应用中打开深度链接(它不会在Intent中显示应用选择器对话框)。

p8ekf7hl

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,并看到错误,为什么这个验证失败.

13z8s7eq

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>

相关问题