问题标签 [ios-universal-links]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1186 浏览

ios - 将带有预定义链接的消息从 iOS 应用程序附加到 Facebook Messenger 中

我正在使用 fb-messenger://compose 打开 Facebook Messenger Composer,但我需要将预定义的链接附加到 Composer 中。我不想为此使用操作表。我也看到了这个答案 -

Facebook Messenger 撰写预定义消息

这可能看起来很相似,但却是错误的答案,因为它是 Facebook SDK 而不是 Facebook Messenger。

我查看了适用于 iOS 的 Facebook Messenger SDK -

https://developers.facebook.com/docs/messenger/ios

在基本集成\共享内容下

我能找到的只是共享图像、动画 GIF、视频和音频剪辑。但另一方面,我看到 Pinterest 正在从他们的 iOS 应用程序发布到 Messenger 的链接——所以这是可能的。

任何帮助将不胜感激

更新:我设法使用以下方法在撰写消息上打开信使:

fb://messaging/new

附上我的链接仍然无法打开它

0 投票
0 回答
237 浏览

ios - 通过 iOS 应用在 GroupMe 中撰写预定义消息

我想在我的应用程序中选择一个选项来打开 GroupMe 应用程序,并准备好发送给我选择的任何人的消息。我设法用 WhatsApp 做到这一点:

在 GroupMe 我试过 -

但它只打开应用程序而没有发送我的消息的选项。

如果不可能,对我来说可以的另一个选择是打开带有链接而不是消息的消息编辑器。

如果没有或可能,我可以处理的另一个选项是在包含组列表的页面上打开 GroupMe。现在它在 GroupMe 中打开的最后一页上打开。

对于这三个选项之一的任何帮助将不胜感激。

0 投票
2 回答
2015 浏览

ios - 通用链接打开错误的捆绑 ID

背景:

  • 我们的应用程序对开发版本、测试版本和生产(App Store)版本使用不同的捆绑包 ID
  • 我目前正在我们的开发版本中实现通用链接
  • 我们目前在 App Store 中的生产版本不支持通用链接

我遇到了这个疯狂的问题,我的通用链接不仅没有打开应用程序的开发版本,而且他们正在启动生产版本,尽管生产版本没有适当的权利

我的apple-app-site-association文件已使用https://branch.io/resources/universal-links/https://search.developer.apple.com/appsearch-validation-tool/进行了验证,如下所示:

根据https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.htmldetails应按顺序评估数组并在找到匹配项后停止。

数组中字典的顺序决定了系统在查找匹配项时遵循的顺序,因此您可以指定一个应用程序来处理您网站的特定部分。

.debug目的是为我团队中的任何人在开发版本中加载相同的通用链接,在手机上没有该软件包的最终用户的生产版本中加载。

这不仅不起作用,而且如前所述,通用链接始终加载生产版本,即使生产版本缺少applinks:dev.myserver.com指向我apple-app-site-association文件的权利。这看起来很疯狂,但这意味着我可以启动我没有发布的任意包并且权利文件没有被强制执行。

此外,如果我从数组中删除第二个条目details,只保留调试版本的字典,通用链接将无法工作,而是打开 Safari。切换数组的顺序也没有效果。我在 9.3 和 9.3.1 的 iPhone 6s 上都经历过这种行为。非常感谢关于这两个问题的任何建议(启动错误的包,并且在它是唯一条目时不启动调试包)!

0 投票
1 回答
360 浏览

ios - 仅为特定页面/路径启用通用链接

我已经阅读了如何配置路径以启用通用链接,并且我希望仅对特定页面启用它,例如

我希望仅通过以下页面启用它:

而其他页面如:

不应该启用它,即如果我在后一页向下滑动,我不应该在顶部显示“使用 myAppAnme 打开”横幅。

为了实现这一点,我将apple-app-site-association服务器上的文件设置如下:

但是,当我https://example.com/path/notEnabled.html使用 Safari 浏览并向下滑动时,通用链接的横幅出现在启用的页面中,这是我不希望的。有没有办法只为特定页面启用它,或者我以错误的方式设置配置?

谢谢!

注意:我也尝试过"NOT *""NOT /"但横幅仍然出现在不应该有它的页面中

0 投票
2 回答
962 浏览

ios - iOS 9 通用链接转发按钮永远中断深度链接,直到我删除手机设置

在有人将此问题标记为重复之前,请阅读底部的额外部分,该部分列出了该问题与其他类似问题之间的差异

我正在使用通用链接来满足我的深层链接需求。两个示例用例是:

1.) 安装了我的应用程序的 iPhone 上的 Safari/Chrome 浏览器:当在他们的 iPhone 上点击我的网站上的链接时,如果他们的手机上安装了我的应用程序,我会将它们深度链接到我的应用程序中。
2.) 安装我的应用程序后,运行我的应用程序但使用应用内 UIWebView。我的应用程序还有一个应用程序内 UIWebView,当您点击一个按钮时,它会将它们深层链接到应用程序的某个位置。

深度链接到应用程序后,导航栏中有两个按钮。后退按钮(左上)和前进按钮(右上)。

我的问题

如果用户按下前进按钮(右上角),它会将它们转发到我的网页,然后将永远破坏我的深层链接,以便将来当用户单击该链接到深层链接时,它总是会转到我的网页而不是深度链接到应用程序(这是最初的意图)。我怎样才能防止这种情况?我在这里担心的是我的应用在右上角有关闭按钮,如果用户试图点击关闭按钮,他们可能会不小心点击前进按钮并永远中断深度链接。我试过清除我的浏览器缓存,我试过删除并重新安装我的应用程序。但是在被前进按钮永久禁用后,没有什么可以“修复”深层链接。我可以让它再次工作的唯一方法是进行完整的设备重置并擦除所有内容和设置。

这是深度链接到应用程序后后退和前进按钮的图像。

我的问题与关于 SO 的类似问题之间的区别:

类似的 SO 问题但是这里他们说用户可以长按“通用链接”,然后会弹出操作表,要求您“打开”。对于上述情况 1,我已经尝试过此操作。)并且我的应用程序未显示在选项中。请参阅下面的附加屏幕截图。对于上述情况2,这根本不起作用。)。如何获得通用链接以使用 iOS WebViewController?我必须使用 SafariViewController 吗?对于这种情况,我不想在我的应用程序中使用 SafariViewController,因为我不想拥有 SafariViewController 拥有的顶部导航栏。

在此处输入图像描述

0 投票
0 回答
40 浏览

ios - 通用链接:代码签名问题 - 无法构建

我遵循了有关通用链接实施的所有说明:

一世。在 appDelegate 中添加回调

ii. 在您的应用 ID 上启用“关联域”

iii. 在您的 Xcode 项目中启用“关联域”

iv. 添加正确的域 url 链接

v. 重新生成所有配置文件

六。将“apple-app-site-association”文件添加到我的网站--->(还没有)

但我不断收到这个代码签名问题:

在此处输入图像描述

之后Fix Issue

在此处输入图像描述

所有这一切只有在我构建到设备时才会发生,而不是在模拟器中。有什么线索吗?

0 投票
5 回答
10569 浏览

ios - 带有通配符的 iOS 关联域(通用链接)不起作用

在我正在开发的 iOS 应用程序中,我设置了关联域(通用链接)。该应用程序托管多个域。我用通配符设置了一些域。这些域似乎不起作用。例如,我想链接到https://news.mydomain.com/. 如果我将以下内容添加到关联域列表中:

applinks:*.mydomain.com-> 不工作

applinks:news.mydomain.com-> 工作正常

所以我相信我确实设置了所有正确的,apple-app-site-association 文件设置得很好。我什至可以在这两种情况下(使用 Charles Proxy)看到 apple-app-site-association 文件被正常检索。

对于通配符,该链接仅在 Safari 中打开。

当我配置没有通配符的域时,应用程序会打开。

我在这里错过了什么吗?我在设备上运行 iOS 9.3.2 并且运行 Xcode 7.3.1,它们是今天的最新版本。

0 投票
1 回答
5890 浏览

ios - iOS - 带有通用链接的错误

我已经按照此处概述的步骤在我的 iOS 应用程序中设置了通用链接,具体细节如下:

如何设置通用链接

它使用 Branch 和 Apple 验证器 100% 成功验证。但是现在我正在尝试测试成品,我遇到了麻烦。

如果我输入或点击指向我网站的链接(例如 www.mydomain.com),Safari/Chrome/Facebook 会直接访问我的网站。

但是,如果我去谷歌,输入 www.mydomain.com 作为搜索,找到指向我网站的链接并长按链接,“在 MyApp 中打开”是选项之一,并且效果很好。

为什么是这样?我要拔头发了!

0 投票
1 回答
601 浏览

ios - 两个应用程序的通用链接使用 Branch.io 打开同一个应用程序

我所有的应用程序都使用相同的自定义域,即 links.ci--e.es。

我的应用是:

  • co-ba -> Bundle id -> com.cit--e.co-ba
  • Ca-as -> Bundle id--> com.cit--e.ca-as
  • Gu-la -> Bundle id--> com.cit--e.gu-la

在每个应用程序中:

  • 我已经在我的设备上安装了我的应用程序。
  • 我已经正确设置了我的所有应用程序。实时和测试仪表板。同样在 XCode 中。
  • 我考虑了 facebook 的代码。我将代码添加到我的应用程序中。
  • 在 Validator 通用链接、个性化域、bundle id 和返回前缀我这个 json。一切都是正确的。

验证器通用链接 验证器通用链接

}

对于我的每个应用程序,我都会制作营销链接。例子:

应用名称 Co-ba - htttp://link.ci--e.es/TzUm/CL1D25b4tt

应用名称 Ca-as - htttp://link.ci--e.es/LKVl/wkb27JqVtt

应用名称 Gu-la - htttp://link.ci--e.es/lySm/ygacY4N2tt

当我的设备上安装了一个应用程序时,这些链接可以正常工作。安装有多个应用程序时,链接无法正常工作。

我总是打开同一个应用程序的链接,即使它们属于另一个应用程序。例子:

如果你已经安装了 Co-ba 和 Gu-la。我在我的设备 Co-ba 上打开一个链接,然后 Co-ba 应用程序打开。我在我的设备 Gu-la 上打开一个链接,然后应用程序打开 Co-ba。这是个错误。你可能是哪里的错?

感谢您的回复。

0 投票
1 回答
2023 浏览

ios - 如果未安装应用程序,请打开网页

比如说,如果我没有安装应用程序,我想在我的 iPhone 上打开我们的网页。是的,我知道 Apple 的 Universal Links,但这仅适用于 iOS 设备并且它们必须运行 iOS 9。

可以肯定的是,这是可以做到的。我在Ebay上看过。如果您有链接,它将在应用程序中打开(如果已安装)或在浏览器中打开,无论设备和版本如何: