【问题标题】:Open external app inside cordova for ios, android and windows在cordova中为ios、android和windows打开外部应用程序
【发布时间】:2016-07-05 16:21:56
【问题描述】:

有没有办法在cordova应用程序中简单地打开另一个应用程序,如果未安装该应用程序,请在商店中转发。此请求适用于 ios、android 和 windows phone。

我正在谷歌上搜索这个,但在意图、深度链接、url 方案之间不清楚......而且看起来没有完整的解决方案...... 我该怎么做? 此外,如果我们需要其他应用程序的 urlscheme 或 id,我该如何准确找到它?

问候,

【问题讨论】:

    标签: android ios cordova android-intent deep-linking


    【解决方案1】:

    目前,没有其他应用的合作,没有简单的方法来做到这一点。

    Chrome Intents 和 自定义 URL 方案 是进行 深度链接 的两种不同方法。您可能会遇到的另外两个术语是 App Links 和 **Universal Links*。

    Chrome 意图

    在 iOS 和 Android 上的 Google Chrome 中工作。有限数量的其他应用程序(例如 Firefox)也支持这种方法。这是谷歌的 Chromium 团队提出的一种自定义方法——在我看来,这种方法过于复杂,基本上在同一个请求中指定了应用程序和后备目标信息。但是,它依赖于源应用程序来正确解析它,否则它将失败。换句话说,这不是一个完整解决方案的好选择。

    自定义 URL 方案

    以前是深度链接的事实标准。不幸的是,所有美好的事物最终都必须结束,Apple 在 iOS 9.2 中基本上杀死了 URL 方案深度链接。从长远来看,这可能对生态系统有利,因为它解决了很多开始出现方案冲突的问题,但在短期内仍然是应用程序开发人员头疼的问题。没有简单的方法来处理未安装您的应用程序的情况,因为尝试打开未在设备上注册的自定义 URL 方案将导致错误页面。 Android 仍然支持 URL 方案。我对 Windows Phone 上的深度链接生态系统不太熟悉,因为它太小了,但我相信它也是基于自定义 URL 方案的。

    通用链接和应用链接

    基本相同的技术:Universal Links 是 iOS 实现,App Links 是 Android 版本。这些通过在您的正常网站 URL 和您的应用程序之间创建经过验证的连接来工作。如果您的应用程序已安装,操作系统将拦截网站请求并打开您的应用程序。这比 URL 方案更容易进行身份验证,因为只有一个人可以控制和验证给定域,并且如果您的应用未安装,网站 URL 是一个自动后备目标。但是,如果您没有相应的网站,这可能是一个很大的限制。这些也不是所有地方都支持。


    要获得全面的方法,您需要处理所有这些标准以及其他几个标准,然后准备好处理大量复杂的边缘情况。 Cordova 应用程序更糟糕,因为您需要在 iOS 和 Android 上处理边缘情况在同一个应用程序中。要打开另一个应用程序并在未安装时可靠地回退到应用程序商店,您需要该应用程序完成上述所有操作,然后为您提供实施规范——这不是一件容易的事。

    Branch.io(完全披露:我显然是团队成员)我们将以上所有内容作为免费服务提供,实际上促进了应用到应用的协作,就像这样在 Yummly 和 Instacart 之间。您可以在 this case study 中阅读有关规格的信息。

    【讨论】:

    • 很好的解释谢谢。所以最后对于这两个平台,我们有不同的方式来管理它。您还告诉我们它将在我们获得的其他应用程序或网站上打开。但是是否也可以从其他应用程序打开应用程序?我现在不这样做,例如,如果我是 gmail 的所有者,则从 gmail 打开 facebook? (当然不是这样^^,其实……xD)
    猜你喜欢
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    相关资源
    最近更新 更多