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

时间:2017-05-26 20:11:55

标签: android deep-linking

我试图在我的应用中获得深层链接。

从我阅读here开始,向应用添加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>

阅读&#34;数字资产链接&#34;超过here,它说:

  

网站A声明指向其网站的链接应在指定的位置打开   移动设备上的应用程序,如果已安装该应用程序。

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

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

1 个答案:

答案 0 :(得分:8)

引自a different piece of documentation

  

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

     

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

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