问题标签 [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 投票
1 回答
504 浏览

ios - 当另一个应用程序打开 Safari 视图控制器时,如何让 branch.io 通用链接工作?

当我通过第三方应用打开分支生成的链接时,它会在 Safari 视图控制器中打开,并且当它已经安装在我的手机上时不会直接打开我的应用。而通过另一个未在 Safari View Controller 中打开链接的应用程序单击该链接会导致按预期直接打开该应用程序。有谁知道如何解决这个问题?

0 投票
3 回答
5756 浏览

ios - iOS 深度链接和通用链接,如何在 ios 中进行深度链接

我从 iOS 9 中读到,引入了通用链接。请解释深层链接和通用链接之间的区别。我的目标是,一个链接将通过邮件发送给客户。让邮件说有一个项目 A 的报价和一个链接。点击链接时

  1. 如果应用程序已安装,则打开应用程序并启动显示项目 A 的特定屏幕
  2. 如果未安装应用程序,请从 App Store 下载并打开它并启动显示项目 A 的特定屏幕

如果有用户登录功能怎么办?

如果应用程序已安装且用户未登录,则

  1. 打开应用程序
  2. 启动登录屏幕
  3. 登录成功后,启动显示项目 A 的特定屏幕。

这些如何实施?如何为这些配置链接?

0 投票
1 回答
1818 浏览

ios - 在 iOS 9 Safari 中粘贴通用链接,但应用程序无法自动打开

如果我在 iOS 9 的 safari 中粘贴通用链接,它仍然需要用户手动下拉才能看到面板/横幅,然后单击“打开应用程序”才能启动应用程序。这是 iOS 9 中 safari 的正常行为吗?

但是,如果我在 Facebook(app)、Twitter(app)、Mail(app) 中粘贴链接……都直接打开应用程序。即使我在 Safari 上访问 Facebook,然后单击通用链接,应用程序也会直接打开。

仅当我将通用链接直接粘贴到 safari 搜索栏时,该应用程序才不会直接打开。它要求用户单击“打开应用程序”横幅。

有没有办法让 Safari 自动启动应用程序?

0 投票
2 回答
11475 浏览

ios - Branch.io Deeplink 在 ios 9 的 safari 中不起作用,但在 chrome 中有效

使用 chrome iOS 应用程序时,深层链接可以完美运行。但是在 safari 中它停止工作,并且即使安装了应用程序,它也总是重定向到 appstore 页面,或者有时会弹出一个警告,说“safari 无法打开页面,因为地址无效”。几天前一切正常。所以我的猜测是这发生在 ios 9.2 更新之后。有什么解决办法吗?

更新

我尝试使用新手机(以前未安装过哪个应用程序)并安装了该应用程序。

深层链接适用于两种浏览器(Safari 和 Chrome)。

如果您按下 bnc.lt 前进按钮,它将打开适用于 Safari 和 Chrome 的 App Store。

下次打开链接深层链接时:

  • Safari:它询问您是否要在应用商店中打开链接
  • Chrome:它会询问您是否要打开应用程序并同时重定向到应用程序商店。如果您下次单击深层链接时单击在应用中打开,它将在应用中打开。

因此,换句话说,您仍然可以在单击状态栏中的 bnc.lt 转发链接后从 Chrome 打开应用程序。这是因为 Chrome 要求打开应用程序而不是应用程序商店。

对于 Safari,我最终处于不可逆转的状态,即深层链接始终打开应用商店而不是应用。

0 投票
1 回答
1368 浏览

ios - Universal Link 智能横幅中的标题来自哪里?

当您在 iOS 9 应用程序中设置通用链接支持时,通过在您的服务器上放置一个 apple-app-site-association 文件并让应用程序设置来处理链接,您在查看时也会自动在您的网站上获得智能横幅您的应用程序支持的页面。

像这样:

在此处输入图像描述

这些是自动出现的横幅,无需我们meta在网站上放置任何标签。它们仅在用户位于页面顶部并下拉时出现(据我所知)。

我的问题:Apple 是从哪里获得横幅的标题的?在上面的示例中,出现在“在 Yelp 应用程序中打开”行上方的“Yelp”,它是从哪里来的?我们看到的是:应用程序图标,右侧的 OPEN 文本,“在 XXXX 应用程序中打开”,但没有标题,只是该行上方的空白区域。

我已经尝试添加这里讨论的一些元标记,但它似乎仍然不起作用。

我有点担心答案是苹果会从你的网页中索引一些属性来获取标题。我担心的原因是因为这些特定页面无法为公众访问。

0 投票
1 回答
504 浏览

xamarin - iOS-Xamarin、branch.io、通用链接集成问题

我正在将 branch.io 集成到我的 iOS 应用程序中,该应用程序正在 Xamarin 中开发,没有 Forms。遵循 SDK 集成中提到的步骤。

  • 将Branch Xamarin SDK添加为 NuGet 包
  • 在 Info.plist 中添加了 branch_key
  • 在 Xamarin 中添加了 URL 方案
  • 在 branch.io 门户中启用通用链接
  • 为 branch.io 添加了初始化代码和委托代码
  • 在开发人员门户中启用关联域
  • 在 xamarin studio 中启用关联域并添加域 applinks:bnc.lt

    确保在右侧栏中检查了正确的构建目标。 我不确定如何在 xamarin 中做到这一点。默认情况下,Entitlements.plist 文件在配置中指定。

  • 在分支仪表板中启用通用链接

  • 正确指定捆绑标识符和 Apple App 前缀。
  • 创建了一个营销链接,然后点击消息应用程序中的链接。

  • 使用 bnc.lt 的虚拟页面路由到 safari,并带有“获取应用程序”选项

任何有关这方面的信息都将是非常可观的。谢谢!

经测试

设备:iPhone6S+、iOS9.1

设备:iPhone6s、iOS9.4

更新

我们为所有营销链接提供了一个自定义链接标签,该标签应保留为空以支持通用链接。市场链接的格式为 bnc.lt/«four-letter-identifier»/«link-hash»

0 投票
1 回答
280 浏览

ios - iOS 9.0-9.2 中 iOS 授权文件中的一长串域

我们需要在通用链接的权利文件中支持 100 多个域。

我知道 iOS 9.3 将支持 *.myapp.com,但有没有办法为使用 iOS 9.0 到 9.2 的客户优雅地做到这一点,而无需手动将 100 多个条目添加到权利文件中?有没有办法在每次需要将域添加到列表时都不必重新构建和重新发布我们的应用程序?

谢谢!

0 投票
2 回答
27475 浏览

ios - iOS 通用链接应用商店重定向

我的通用链接正常工作,安装应用程序后,我看到链接如何打开应用程序,未安装时,会在 safari 中打开 url。

其实我想做的是重定向到应用商店,这样用户就可以直接下载应用了。我将在 html 文件中包含重定向,因为我知道通用链接不支持重定向 http 服务器配置级别(无论如何我认为这仅适用于清单文件,apple-apps-site-association)

任何人都可以确认这是正确的方法还是唯一的方法?我不喜欢先打开 safari,加载我的 html(仅使用重定向)然后去商店的想法。似乎没有更简单的方法可以做到这一点。

0 投票
0 回答
867 浏览

iframe - 从 iframe 中的浏览器启动 iOS 应用程序

我尝试从网页启动我的 iOS 应用程序。只有当我在 html 文档的顶级窗口中使用通用链接或自定义 URL 架构时,它才能正常工作。

如果我将相同的代码放入嵌套<iframe>中,它会失败。Safari 只是默默地忽略了我尝试的一切。

通过使用自定义 URL 方案,我使用了类似的东西。

或者

通过使用通用链接,我只需将锚点与这样的链接放在一起。

在顶级窗口通用链接中打开应用程序,但<iframe>不幸的是,在其中只打开一个页面。

我在网上搜索,找不到任何关于如何在这种情况下处理 iframe 的可靠信息。是否有可能以某种方式实现目标,或者我只是浪费时间和限制是苹果故意制造的?

0 投票
1 回答
552 浏览

objective-c - iOS 9 通用链接 - 未收到任何参数

使用新的 iOS 9 功能 - 据我了解,通用链接应该在浏览器(或其他应用程序?)中打开特定域时打开我的应用程序。我已经阅读了文档和本指南

但是,当应用程序打开时,我没有收到旨在帮助我打开正确页面供用户查看的参数......

我会分享我正在使用的代码,但它是一个相当大的基础设施,而不是几行代码(服务器端 JSON、plist 行和开发人员门户上的一些 ID)。

有谁遇到过,可以帮我看看吗?