配置apple-app-site-association文件并在服务器上传

Sho*_*wal 7 ios ios-universal-links

我是iOS开发的新手.我正在使用ASP.net应用程序在iOS App中实现Universal Links.
我在Associated Domains下的功能中定义了我的关联域:applinks:www.abcd.com
并且还在Apple Developer Account上的App Ids中进行配置.我认为app方面的工作已经完成.

但我认为apple-app-site-association文件存在问题.

我在一个简单的文本文件中写了json,如下所示

{
  "applinks": {
    "apps": [],
    "details": [
    {
      "appID": "8T8932TY.com.AppName”,
      "paths": ["*"]
    }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我被困在这里.我的应用程序定位于iOS 9及更高版本.我很困惑,这个文件的扩展名是什么,命名为apple-app-site-association.如果我需要使用新证书登录.以及如何在服务器端上传它.

请伙计们帮助我.我正在寻找这个,但没有得到满意的答案.

谢谢

Jos*_*ald 13

如果用AppID/AppName的实际值替换,您的示例JSON看起来很好.您可能希望具体了解您处理的路线,但这取决于您 - 只有尝试处理您可能能够处理的路线才能获得更好的用户体验,而不是为您的每个链接打开应用程序域名并将用户再次踢出Safari,如果结果不是真的那样.

apple-app-site-association文件不应具有任何文件扩展名,并且应该从您网站的根目录https://example.com/apple-app-site-association,和/或来自https://example.com/.well-known/apple-app-site-association.

你说你支持iOS 9及更高版本 - 检查.well-已知路由的更改是在iOS 9.3中进行的,所以如果你想支持低于该操作系统,你最好放置文件在这两个地方.有关详情,请参阅此答案.

同样重要的是,文件以正确的MIME类型提供,对于Universal Links,它可以作为服务application/json,并且不需要对其进行签名/加密.如果您不熟悉Web服务器上的配置,那么使用正确的MIME类型提供服务可能会有点烦人,因为服务器通常会从文件扩展名中确定MIME类型.你不能给它一个扩展名,因为iOS不会检查带扩展名的网址,并且不允许(IIRC)重定向,所以你不能通过这样做来伪造它.

这是对您要完成的内容的总结,但您如何做到这一点取决于您正在使用的Web服务器.对于可能是IIS的ASP应用程序,在这种情况下,此问题及其答案可能有助于您正确配置Web服务器.如何将文件上传到该服务器的根目录的细节在很大程度上取决于您如何配置它.


Vas*_*nth 5

apple-app-site-association文件没有扩展名.这只是一个普通的文件.您必须在域的顶层托管它,这意味着文件位置将是https://www.abcd.com/apple-app-site-association您托管后,您可以使用此链接检查/验证https://branch.io/resources/aasa-validator/

有关详细信息,请参阅:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9/