来自天蓝色请求的 apple-app-site-association 到 return 作为 application/JSON

apple-app-site-association to return as application/JSON from a azure request

我有以下需求,

当在 Azure 网站中请求 URL 文件时,根文件夹中可用的文件必须 return 到 "application/JSON"

比如说:

我有一个名为 "apple-app-site-association" 的文件,它是一个文本文件,其中包含 JsonAzure 网站根文件夹中可用的数据。 当我们在浏览器"mydomain.com\appleConfiguration"中输入URL时,应该return浏览器中的JSON文本。

文件 "apple-app-site-association" 的扩展名不应为“.Json”

我试过在 web.config 中使用以下规则集,认为规则集不准确,有人可以建议一下吗。

这在 IIS 中运行良好,但在 Azure 托管站点中运行不正常。

 <rule name="Apple Universal Links" stopProcessing="true">
          <match url="^apple-app-site-association$"/>
          <action type="Redirect"  redirectType="application/json" url="^apple-app-site-association$"/>
         </rule>

按照简单的五个步骤进行操作,

1) 使用移动配置 JSON 内容创建 "apple-app-site-association" 并存储到本地系统。

文件中的示例配置 "apple-app-site-association":

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}

2) 将 the.Json 文件复制到 azure 文件夹的根目录 "wwwroot"

3) 如果 json 文件在您的网站中不可用或无法读取,则使用 mime 配置使 .json 文件能够在网站中显示

<staticContent> 
          <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent> 

4) 在"web.config"文件中创建一条规则,当Applebot机器人抓取您的站点以获取苹果协会

时,该规则将提供Json值
<system.webServer>


<rewrite>
      <rules>
        <rule name="apple_json_file">
                    <match url="^apple-app-site-association" />
                    <action type="Rewrite" url="apple-app-site-association.json" />
                </rule>
      </rules>

</rewrite>




</system.webServer> 

5) 检查 Json 值是否正确显示在您的网站中,当您在浏览器中输入以下 URL,

https://yourDomain/apple-app-site-association

http://branch.io/resources/aasa-validator/

注意:修改有效的网站域名。

如果这工作正常,那么转到验证器站点

https://search.developer.apple.com/appsearch-validation-tool

检查通用链接是否对您的网站有效。

我想将我的状态添加到 Bhuvnesh Mohankumar 之前的回答中。

In step #2, after copy "apple-app-site-association" file in wwwroot, we are unable to validate our AASA file on step #5.

下面是我对这个问题的发现。

If by following all the steps and any still facing the issue in validating AASA file, please copy two files "apple-app-site-association" and "apple-app-site-association.json" in wwwroot azure server.

对于它的价值,我是通过 Azure 网络应用程序执行此操作的,发现它在 Startup.cs::Configure

中非常有效
            var options = new RewriteOptions()
                .AddRewrite(@"^.well-known/apple-app-site-association", ".well-known/apple-app-site-association.json",
                    skipRemainingRules: true);

            app.UseRewriter(options);