使用Android深层链接时,assetlinks.json文件是什么?

Kru*_*lur 5 android deep-linking

我正在尝试在我的应用中获得深层链接.

根据我在这里阅读的内容,只需在应用程序中添加Intent过滤器即可.我尝试过,它工作正常:

  <intent-filter>
        <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.DEFAULT" />
         <category android:name="android.intent.category.BROWSABLE" />
         <!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
         <data android:scheme="http"
               android:host="www.example.com"
               android:pathPrefix="/gizmos" />
     </intent-filter>
Run Code Online (Sandbox Code Playgroud)

这里阅读"数字资产链接" ,它说:

网站A声明如果安装了应用程序,则应在移动设备上的指定应用程序中打开指向其网站的链接.

这涉及上传assetlinks.json到我的服务器.

但是如果意图过滤器已经打开我的应用程序,我无法看到这样做的好处,那么有什么意义呢?

Com*_*are 9

引用不同的文档:

Android 6.0(API级别23)及更高版本允许应用程序将自己指定为给定类型链接的默认处理程序.如果用户不希望应用程序成为默认处理程序,则他们可以从"设置"中覆盖此行为.

链接的自动处理需要应用程序开发人员和网站所有者的合作.开发人员必须配置其应用程序以声明与一个或多个网站的关联,并请求系统验证这些关联.反过来,网站所有者必须通过发布数字资产链接文件来提供该验证.数字资产链接文件是符合资产链接协议的语句集合,可以对其他应用程序或网站进行公开,可验证的断言.

现在,<intent-filter>如果用户点击指向的链接http://www.example.com/gizmos,他们应该会看到一个选择器,提供在您的应用中查看该内容,可用的Web浏览器等assetlinks.json.在Android 6.0及更高版本上,您可以证明该域名的所有权,这将导致Android(默认情况下)绕过选择器并直接开到您的应用程序.