OStack程序员社区-中国程序员成长平台

标题: ios - Adobe AIR中的iOS通用链接-文档? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:37
标题: ios - Adobe AIR中的iOS通用链接-文档?

在Adobe AIR中使用iOS通用链接的official Adobe documentation page已损坏-大概是网站格式的更改已删除了关键的实现信息。

没有要遵循的“步骤”,没有详细说明应放在应用程序描述符中的代码段,也没有示例apple-app-site-association JSON文件。

Q)官方网站损坏了,在哪里可以找到此文档?

注意:与Android App Links documentation相对,后者具有所有相关的代码片段。



Best Answer-推荐答案


我已经通过web.archive.org backup恢复了该页面-但这相对较慢。因此,我在下面复制了此缺失的内容。 Apple Universal Links doc对定义apple-app-site-association JSON文件的规范也很有帮助,并且此medium article通常是通用链接的很好概述。

介绍

在iOS 9中,Apple引入了称为通用链接的深度链接功能。如果您的应用程序支持通用链接,则只需点击指向您网站的链接,即可将iOS 9用户重定向到您的应用程序。通用链接使您可以用标准HTTP或HTTPS链接替换自定义URL方案。

以前,为了通过浏览器启动应用程序,我们使用了自定义URL方案。对于iOS 9,自定义URL方案有一些限制。例如:
为了使应用程序XYZ能够启动应用程序ABC,您需要将LSApplicationQueriesSchemes添加到ABC的info.plist中,以指定XYZ的URL方案以及希望打开ABC的任何其他应用程序。

另外,在iOS9中,您可以使用通用链接功能来完成此任务。如果用户安装了您的应用程序,则通用链接适用于所有用户。该链接会将它们直接带入您的应用。如果他们没有安装您的应用程序,则该链接会在Safari中打开您的网站。

AIR如何支持通用链接

要使用通用链接创建AIR应用程序,您需要执行以下步骤:

1)应用程序描述符文件

如下所示,将权利添加到app.xml文件中。

<iPhone>
  <Entitlements> 
  <![CDATA[ 
    <key>com.apple.developer.associated-domains</key> 
    <array>
      <string>applinks:www.exampledomain.com</string>
    </array>
  ]]> 
  </Entitlements> 
</iPhone>

注意点:
  • 应在供应配置文件中启用关联域,以使通用链接正常工作。
  • www.exampledomain.com应该替换为您的网站地址。

  • 2)apple-app-site-association JSON文件

    当用户安装您的应用程序时,iOS会在您的Web服务器上检查此文件,以确保您的网站允许您的应用程序代表其打开URL。只有您可以创建和上传此文件,因此您的网站与应用程序的关联是安全的。

    创建具有如下所示内容的JSON格式文件。
    {
      "applinks": {
        "apps": [],
        "details": {
          "LKRHPA3TAK.com.exampledomain.app": {
            "paths":[ "*" ]
          }
        }
      }
    }
    

    注意点:
  • apple-app-site-association文件中的apps键是必需的,应为空数组。
  • 细节键的值是一个字典数组。您的网站支持的每个应用程序一本词典。数组中字典的顺序决定了寻找匹配项时系统遵循的顺序。
  • 每个特定于应用程序的词典都包含一个appID(在此为LKRHPA3TAK.com.exampledomain.app)和一个路径键。
  • appID密钥的值是应用程序的团队ID(此处为LKRHPA3TAK)和捆绑软件ID(此处为com.exampledomain.app)。
  • 路径键的值是一个字符串数组,用于指定应用程序支持的网站路径。
  • 此处指定的网站路径区分大小写。
  • 不应将JSON文件添加到文件名(只需将其保留为apple-app-site-association)。
  • 应该使用openssl命令和来自iOS可信机构的证书对JSON文件进行签名。有关详细信息,请参见Shared Web Credentials Reference
  • 该文件应上传到HTTPS Web服务器的根目录。

  • 要通过浏览器调用应用程序,您需要在浏览器中输入应用程序的通用链接。通过注册NativeApplication invokeEvent,可以在ActionScript代码中收到相同的内容。例如:
    NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, invokeHandler)
    

    参考文献

    Release Notes | Flash Player® 19 AIR® 19

    苹果文档
  • Support Universal Links
  • Adopting Handoff
  • Shared Web Credentials Reference
  • Launch Services Keys

  • 已知问题
  • [4042131]接收到额外的InvokeEvent,参数数组为null。
  • 关于ios - Adobe AIR中的iOS通用链接-文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52284532/






    欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4