【问题标题】:iOS deep linking is stripped out in Gmail在 Gmail 中删除了 iOS 深层链接
【发布时间】:2014-06-27 20:08:48
【问题描述】:

我正在尝试发送一封包含指向我的 iOS 应用程序的深层链接的电子邮件,使用 myapp:// 格式从电子邮件中打开它。它在任何 iOS 邮件客户端(邮件、邮箱等)中有效(即点击它打开应用程序),但在 Gmail 应用程序(甚至网络)中无效,这会将其剥离,只留下文本。除了创建一个从浏览器重定向到应用程序的网络链接之外,是否有人有解决方案/替代方案?

【问题讨论】:

  • "iOS" 不需要在标题中... Android 深度链接是完全一样的,并且会遇到同样的问题。

标签: ios email gmail deep-linking


【解决方案1】:

不,很遗憾,Gmail 会在链接中检测到非 http/https 协议并去除锚 () 标记(因此使用 data: 或 javascript: 执行重定向也是不可行的)。

如果/当 Google 在适用于 iOS/Android 的 Gmail 上实施操作时,这些操作可能会起作用 (https://developers.google.com/gmail/actions/actions/actions-overview),但截至目前,它们不会在原生移动客户端上呈现。

【讨论】:

  • 我的解决方案是在我的服务器上放置一个普通的 http(s) 端点,该端点将重定向到深层链接 app://... url。
  • 谢谢迈克尔...这个解决方案完美运行。有时最原始的解决方案是最好的……
  • 那它必须打开浏览器作为中介,而不是直接进入你的应用程序?
  • 是的 @celwell 在这里也一样。有什么办法可以直接上app吗?
  • 如果安装了应用,上述方法将打开应用程序,但如果用户设备上未安装应用程序,我该如何处理请求。
【解决方案2】:

您可以创建一个具有常规端点的服务器,该端点将重定向到“特殊”myapp:// 链接。

如果您正在运行 Node + Express,这里有一个完全可以做到这一点的中间件示例:

https://github.com/mderazon/node-deeplink

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多