如何获取用于AppLinks /通用链接的任何应用程序的URI方案?

时间:2019-05-29 15:22:07

标签: react-native mobile jsx ios-universal-links android-deep-link

我需要从我的本机移动应用程序中打开一个第三方应用程序。我了解这在iOS上称为通用链接,在Android上称为AppLink。

我为此做了很多研究,并且能够在应用商店上建立指向第三方应用的链接。现在,如果用户已安装我的应用程序,则只需要打开它即可。不过,这需要另一个应用程序的URI方案。

我的问题是,如何获得此第三方应用程序的URI方案?相反,如何获取任何应用程序的URI方案?我知道twitter应用程序的URI方案是'twitter:// app',但是我尝试链接的应用程序比twitter或其他流行的应用程序更利基,因此对于此类事情在线没有帮助。

有什么提示吗?

2 个答案:

答案 0 :(得分:2)

也许值得从一些背景开始: 深度链接到应用程序的方法有多种,具体取决于平台(iOS \ Android \ WindowsPhone ...)及其版本。

在iOS上,直到第9版,打开应用程序的方式都是使用URI方案,例如您在上面添加的一个:twitter://app。每个应用程序都声明应使用的方案。因此,为了深入链接到您想打开的应用程序,您需要使用它声明的方案。直到版本6为止,Android都是相同的。

从iOS9 +开始,Apple引入了Universal Links作为深度链接的方法。以下是一些信息:https://developer.apple.com/ios/universal-links/

在这些版本中,如果未安装Safari浏览器(iOS默认浏览器),则URI方案将不再起作用。但是,如果已安装该应用程序,并且一切都配置成功,则URI方案应允许打开该应用程序。在Android中,有一种类似的方法称为“ AppLinks”。

话虽如此,以上信息用于为您的应用设置深层链接。我认为从您的应用程序打开第三方应用程序不是常见的用例-应用程序所有者配置和使用深层链接(例如,用于发布其应用程序以吸引用户)。

答案 1 :(得分:1)

由于Apple倾向于保密,因此很难找到任何iOS应用的URL方案。但这是可以完成的。这是我使用名为iMazing的Mac应用程序执行的操作。

  1. 启动iMazing,选择一个已连接的iOS设备,然后单击“应用程序”。 enter image description here

  2. 在窗口的页脚中,单击“管理应用程序”。 enter image description here

  3. 选择您感兴趣的应用,然后选择“导出.IPA”菜单项。注意:您可能需要先下载该应用程序。 enter image description here

  4. 保存的文件将带有“ .ipa”扩展名。将扩展名更改为“ .zip”,然后解压缩文件。现在,您的目录名与应用程序名称匹配。

  5. 假定“ asana”为应用名称,在文本编辑器中打开文件“ asana / Payload / asana.app / Info.plist ”,然后搜索包含以下内容的部分“ CFBundleURLSchemes ”。它看起来应该像这样: enter image description here

  6. URL方案位于<string>asana</string>中,因此本例中的URL方案为“ asana:// ”。通过在iOS Safari浏览器窗口中键入URL来测试URL是否启动了该应用程序。如果可行,Safari应该显示如下警告: enter image description here