当前位置:  开发笔记 > Android > 正文

App Links支持多个子域名

如何解决《AppLinks支持多个子域名》经验,为你挑选了2个好方法。

我一直在阅读支持Android应用程序链接的文档和我的应用程序支持的子网站工作的网站,但有太多的子域,它们是动态构建的.我想知道是否有一种方法可以支持许多子域而无需在intent-filter标记中指定所有子域.

以下是来自google的示例的链接:http://developer.android.com/training/app-links/index.html#request-verify 该示例位于支持应用程序链接多个子域位置.

我认为正则表达式可以工作,但显然在定义主机时不支持.我不想列出所有这些,因为这意味着必须在创建每个新子域的情况下推送新版本


    
        
        
        
        
        
        
    

我宁愿不使用第三方库或服务..但任何适合您的建议将不胜感激,了解如何使这项工作.



1> CommonsWare..:

我的应用支持的网站适用于子域,但子域太多,它们是动态构建的

欢迎您为其中的某些子集实现应用程序链接(例如,在您构建应用程序时已知的那些).您甚至可以考虑编写一个Gradle插件,该插件可以从某个域的域列表中生成相应的清单元素.

但是,在安装时会检查域,除了通过新版本清单发布新版本的应用程序之外,无法添加新域.

我想知道是否有一种方法可以支持许多子域而无需在intent-filter标记中指定所有子域.

不,对不起 Android会在安装时检查域并检索JSON文件.

我认为正则表达式可以工作,但显然在定义主机时不支持

您无法从正则表达式下载JSON.

我不想列出所有这些,因为这意味着必须在创建每个新子域的情况下推送新版本

然后要么支持一些常见的子集,要么暂时不支持应用程序链接.可以想象,如果不太可能,恕我直言,谷歌将来会为此提供更灵活的选择.



2> Vaibhav Raj..:

引用自:验证Android应用程序链接

或者,如果用通配符声明主机名(例如* .example.com),则必须在根主机名(example.com)上发布assetlinks.json文件。例如,只要assetlinks.json文件发布在https:/ /example.com/,具有以下意图过滤器的应用将通过example.com的任何子名称(例如foo.example.com)的验证。 .well-known / assetlinks.json:


  
    
      
      
      
      
    
  

似乎先前的答案已经过时,Android现在确实支持主机名中的通配符。根据文档,现在支持。

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有