如何上传文件 apple-app-site-association 以在 iOS 应用程序服务器中进行通用链接?

2024-01-19

上传的流程是什么苹果应用程序站点关联服务器中的文件。 stg1.example.com 是网站通用链接需要完成并且文件应该上传到它的根路径中。如何使 iOS 中的通用链接上传服务。如何上传json服务器中的格式化文件?


The apple-app-site-association文件需要可以通过访问HTTPS,没有任何重定向,位于https://stg1.example.com/apple-app-site-association.

该文件如下所示:

{
"applinks": {
    "apps": [ ],
    "details": [
        {
            "appID": "{app_prefix}.{app_identifier}",
            "paths": [ "/path/to/content", "/path/to/other/*", "NOT /path/to/exclude" ]
        },
        {
            "appID": "TeamID.BundleID2",
            "paths": [ "*" ]
        }
    ]
}
}

演示文件在example https://github.com/vineetchoudhary/iOS-Universal-Links/tree/gh-pages

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "M8HBL5W4VV.com.Universal-Links",
                "paths": [ "/iOS-Universal-Links/*"]
            }
        ]
    }
}

NOTE - 不要追加.json to the apple-app-site-association文件名。

按键如下:
apps:应该有一个空数组作为其值,并且它必须存在。这就是苹果想要的。
details:是一组字典,每个字典对应网站支持的每个 iOS 应用程序。每个字典都包含有关应用程序、团队和捆绑包 ID 的信息。

有 3 种定义路径的方法:
Static:整个支持的路径被硬编码以识别特定链接,例如/静态/条款
Wildcards: A * 可用于匹配动态路径,例如/books/* 可以匹配任何作者页面的路径。 ?在特定路径组件内,例如书/1?可用于匹配任何ID以1开头的书籍。
Exclusions:在路径前面添加 NOT 会排除该路径的匹配。

数组中提及路径的顺序很重要。较早的指数具有更高的优先级。一旦路径匹配,评估就会停止,并忽略其他路径。每个路径都区分大小写。

支持多个域

应用程序中支持的每个域都需要提供自己的 apple-app-site-association 文件。如果每个域提供的内容不同,那么文件的内容也会更改以支持各自的路径。否则,可以使用相同的文件,但需要在每个支持的域中都可以访问它。

使用 Apple 应用程序搜索验证工具验证您的服务器
测试您的网页是否支持 iOS 9 搜索 API。输入 URL,Applebot 将抓取您的网页并显示如何优化以获得最佳结果https://search.developer.apple.com/appsearch-validation-tool/ https://search.developer.apple.com/appsearch-validation-tool/

网站代码

网站代码可以在 gh-pages 分支上找到https://github.com/vineetchoudhary/iOS-Universal-Links/tree/gh-pages https://github.com/vineetchoudhary/iOS-Universal-Links/tree/gh-pages


签署应用程序站点关联文件(对于不HTTPS服务器的)

Note: 如果您的服务器使用HTTPS提供内容并跳转至应用程序设置指南。

如果您的应用程序面向 iOS 9 并且您的服务器使用HTTPS要提供内容,您不需要签署文件。如果没有(例如,当在 iOS 8 上支持 Handoff 时),则必须使用SSL来自公认的证书颁发机构的证书。

Note:这不是 Apple 提供的用于将您的应用程序提交到 App Store 的证书。它应该由第三方提供,建议使用与您的证书相同的证书HTTPS服务器(尽管这不是必需的)。

要对文件进行签名,请首先创建并保存其简单的 .txt 版本。接下来,在终端中运行以下命令:

cat <unsigned_file>.txt | openssl smime -sign -inkey example.com.key -signer example.com.pem -certfile intermediate.pem -noattr -nodetach -outform DER > apple-app-site-association

这将在当前目录中输出签名文件。这example.com.key, example.com.pem, and intermediate.pem是您的认证机构向您提供的文件。

Note:如果文件未签名,它应该有一个Content-Type of application/json。否则,应该是application/pkcs7-mime.


在这里查看我的完整详细答案

如何在iOS应用程序中支持Universal Links并为其设置服务器? https://stackoverflow.com/questions/35609667/how-to-support-universal-links-in-ios-app-and-setup-server-for-it

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何上传文件 apple-app-site-association 以在 iOS 应用程序服务器中进行通用链接? 的相关文章

随机推荐