菜鸟教程小白 发表于 2022-12-13 04:37:20

ios - Adobe AIR中的iOS通用链接-文档?


                                            <p>在Adobe AIR中使用iOS通用链接的<a href="https://www.adobe.com/devnet/archive/flashruntimes/articles/universal-links-for-ios.html" rel="noreferrer noopener nofollow">official Adobe documentation page</a>已损坏-大概是网站格式的更改已删除了关键的实现信息。<br><br>没有要遵循的“步骤”,没有详细说明应放在应用程序描述符中的代码段,也没有示例<code>apple-app-site-association</code> JSON文件。<br><br> <strong> Q)官方网站损坏了,在哪里可以找到此文档? </strong><br><br>注意:与<a href="https://www.adobe.com/devnet/air/articles/android-app-links.html" rel="noreferrer noopener nofollow">Android App Links documentation</a>相对,后者具有所有相关的代码片段。</p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p>我已经通过<a href="https://web.archive.org/web/20170702233040/https://www.adobe.com/devnet/archive/flashruntimes/articles/universal-links-for-ios.html" rel="noreferrer noopener nofollow">web.archive.org backup</a>恢复了该页面-但这相对较慢。因此,我在下面复制了此缺失的内容。 <a href="https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html" rel="noreferrer noopener nofollow">Apple Universal Links doc</a>对定义<code>apple-app-site-association</code> JSON文件的规范也很有帮助,并且此<a href="https://medium.com/@ageitgey/everything-you-need-to-know-about-implementing-ios-and-android-mobile-deep-linking-f4348b265b49" rel="noreferrer noopener nofollow">medium article</a>通常是通用链接的很好概述。<br><br>介绍<br><br>在iOS 9中,Apple引入了称为通用链接的深度链接功能。如果您的应用程序支持通用链接,则只需点击指向您网站的链接,即可将iOS 9用户重定向到您的应用程序。通用链接使您可以用标准HTTP或HTTPS链接替换自定义URL方案。<br><br>以前,为了通过浏览器启动应用程序,我们使用了自定义URL方案。对于iOS 9,自定义URL方案有一些限制。例如:<br>为了使应用程序XYZ能够启动应用程序ABC,您需要将LSApplicationQueriesSchemes添加到ABC的info.plist中,以指定XYZ的URL方案以及希望打开ABC的任何其他应用程序。<br><br>另外,在iOS9中,您可以使用通用链接功能来完成此任务。如果用户安装了您的应用程序,则通用链接适用于所有用户。该链接会将它们直接带入您的应用。如果他们没有安装您的应用程序,则该链接会在Safari中打开您的网站。<br><br>AIR如何支持通用链接<br><br>要使用通用链接创建AIR应用程序,您需要执行以下步骤:<br><br>1)应用程序描述符文件<br><br>如下所示,将权利添加到<code>app.xml</code>文件中。<br><pre><code>&lt;iPhone&gt;
&lt;Entitlements&gt;
&lt;![CDATA[
    &lt;key&gt;com.apple.developer.associated-domains&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;applinks:www.exampledomain.com&lt;/string&gt;
    &lt;/array&gt;
]]&gt;
&lt;/Entitlements&gt;
&lt;/iPhone&gt;
</code></pre><br> <strong>注意点:</strong><br><li>应在供应配置文件中启用关联域,以使通用链接正常工作。 </li><li> <code>www.exampledomain.com</code>应该替换为您的网站地址。 </li><br>2)apple-app-site-association JSON文件<br><br>当用户安装您的应用程序时,iOS会在您的Web服务器上检查此文件,以确保您的网站允许您的应用程序代表其打开URL。只有您可以创建和上传此文件,因此您的网站与应用程序的关联是安全的。<br><br>创建具有如下所示内容的JSON格式文件。<br><pre><code>{
&#34;applinks&#34;: {
    &#34;apps&#34;: [],
    &#34;details&#34;: {
      &#34;LKRHPA3TAK.com.exampledomain.app&#34;: {
      &#34;paths&#34;:[ &#34;*&#34; ]
      }
    }
}
}
</code></pre><br> <strong>注意点:</strong><br><li> <code>apple-app-site-association</code>文件中的apps键是必需的,应为空数组。 </li><li>细节键的值是一个字典数组。您的网站支持的每个应用程序一本词典。数组中字典的顺序决定了寻找匹配项时系统遵循的顺序。 </li><li>每个特定于应用程序的词典都包含一个appID(在此为<code>LKRHPA3TAK.com.exampledomain.app</code>)和一个路径键。 </li><li> appID密钥的值是应用程序的团队ID(此处为<code>LKRHPA3TAK</code>)和捆绑软件ID(此处为<code>com.exampledomain.app</code>)。 </li><li>路径键的值是一个字符串数组,用于指定应用程序支持的网站路径。 </li><li>此处指定的网站路径区分大小写。 </li><li>不应将JSON文件添加到文件名(只需将其保留为apple-app-site-association)。 </li><li>应该使用openssl命令和来自iOS可信机构的证书对JSON文件进行签名。有关详细信息,请参见<a href="https://developer.apple.com/library/ios/documentation/Security/Reference/SharedWebCredentialsRef/" rel="noreferrer noopener nofollow">Shared Web Credentials Reference</a>。 </li><li>该文件应上传到HTTPS Web服务器的根目录。 </li><br>要通过浏览器调用应用程序,您需要在浏览器中输入应用程序的通用链接。通过注册NativeApplication invokeEvent,可以在ActionScript代码中收到相同的内容。例如:<br><pre><code>NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, invokeHandler)
</code></pre><br>参考文献<br><br> <a href="https://helpx.adobe.com/flash-player/release-note/fp_19_air_19_release_notes.html" rel="noreferrer noopener nofollow">Release Notes | Flash Player® 19 AIR® 19</a><br><br> <strong>苹果文档</strong><br><li> <a href="https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html" rel="noreferrer noopener nofollow">Support Universal Links</a> </li><li> <a href="https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html" rel="noreferrer noopener nofollow">Adopting Handoff</a> </li><li> <a href="https://developer.apple.com/library/ios/documentation/Security/Reference/SharedWebCredentialsRef/" rel="noreferrer noopener nofollow">Shared Web Credentials Reference</a> </li><li> <a href="https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html" rel="noreferrer noopener nofollow">Launch Services Keys</a> </li><br> <strong>已知问题</strong><br><li> 接收到额外的<code>InvokeEvent</code>,参数数组为null。 </li></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Adobe AIR中的iOS通用链接-文档?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/52284532/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/52284532/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Adobe AIR中的iOS通用链接-文档?