【问题标题】:apple-app-site-association to return as application/JSON from a azure requestapple-app-site-association 从 azure 请求作为应用程序/JSON 返回
【发布时间】:2017-08-20 13:45:38
【问题描述】:

我有以下要求,

当在 azure 网站中请求文件的 URL 时,根文件夹中可用的文件必须返回到“application/JSON”

比如说:

我有一个名为“apple-app-site-association”的文件,它是一个文本文件,在 azure 网站的根文件夹中包含 JsonData。 当我们在浏览器“mydomain.com\appleConfiguration”中输入 URL 时,应该会在浏览器中返回 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>

【问题讨论】:

    标签: ios azure hyperlink universal


    【解决方案1】:

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

    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)将.Json文件复制到你的天蓝色文件夹“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

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

    【讨论】:

    • 这也是可以验证通用链接的站点。 branch.io/resources/aasa-validator
    • SSL 证书是通用深度链接的强制要求,并且“AppleBot”robot.txt 应该能够抓取您的网站,否则它将不会被苹果验证器验证。
    • 值得注意的是, 部分也位于 web.config 部分中,您可能需要首先使用以下命令删除现有规则: 在 mimeMap 标签之前
    【解决方案2】:

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

    在第 2 步中,在 wwwroot 中复制“apple-app-site-association”文件后,我们无法在第 5 步验证我们的 AASA 文件。

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

    如果按照所有步骤操作并且在验证 AASA 文件时仍然遇到问题,请在 wwwroot azure 服务器中复制两个文件“apple-app-site-association”和“apple-app-site-association.json”。

    【讨论】:

      【解决方案3】:

      对于它的价值,我是通过 Azure Web 应用程序执行此操作的,发现它在 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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-02-16
        • 1970-01-01
        • 2021-06-29
        • 2018-12-15
        • 1970-01-01
        • 2019-09-21
        • 2016-05-13
        • 1970-01-01
        相关资源
        最近更新 更多