【问题标题】:Deep linking to a specific product in ebay app iOS Swift深度链接到 ebay 应用 iOS Swift 中的特定产品
【发布时间】:2018-05-19 10:43:37
【问题描述】:

我正在开发价格比较应用程序,其中除了许多其他供应商外,我还拥有 ebay 的产品。我有 ebay 产品的网址,我想在 ebay iOS 应用程序中打开该产品页面(如果已安装)。

当我在我的应用中打开此网址时,亚马逊和沃尔玛等其他应用会自动打开,例如

UIApplication.shared.open(urlToOpen, options: [:], completionHandler: nil)

如果它是 walmart、amazon 或 newegg 产品,上面的行会在相应的应用程序中打开产品。但 ebay 应用程序不这样做。

我在网上搜索过。找到这个SO Answer 。但这已经很老了(2015 年 7 月 4 日)。而且它不工作

我也读过这个ebay community thread。这也是非常古老的线程(2015 年 10 月 15 日)。根据这个帖子,

还没有直接从电子邮件链接打开应用程序的功能 尚未添加,但这是一个很好的建议。我们肯定在努力 这是为了将来的更新,但我们没有任何具体细节 我们还可以分享

所以我想知道我现在是否可以完成这项任务?

我拥有的示例网址

https://www.ebay.com/itm/Google-Pixel-32GB-Factory-Unlocked-5-0-12-3MP-4GB-RAM-Android-Smartphone/142444471228?_trkparms=5079%3A5000006423

【问题讨论】:

    标签: ios swift deep-linking ebay-api


    【解决方案1】:

    如果您查看ebay.com/apple-app-site-association,您会发现他们为他们的通用链接托管了这个 AASA 文件:

    {
        "applinks": {
            "apps": [],
            "details": [
                {
                    "appID": "T4JAZKL6NS.com.ebay.iphone",
                    "paths": ["/notapath12345"]
                },
                {
                    "appID": "658FM9ZWKC.com.ebayent.iphone",
                    "paths": [
                        "NOT /itm/like/*",
                        "NOT /sch/*/*/bn_*",
                        "/itm/*",
                        "/sch/*"
                    ]
                }
            ]
        }
    }
    

    由此可见,当单击路径为 https://ebay.com/itm/* 的链接时,应该打开捆绑 ID 为 658FM9ZWKC.com.ebayent.iphone 的 ebay 应用程序(如果已安装),其中 * 是通配符。通用链接仅从certain apps 打开。我建议通过将链接粘贴到笔记应用程序并点击它们来测试您的链接。 T4JAZKL6NS.com.ebay.iphone 似乎没有设置任何路径。

    【讨论】:

    • 通配符 '*' 表示任何含义,所以我给出的示例 Web url 如果安装了,应该在 ebay 应用程序中打开产品吗?
    • 可以,但前提是您尝试打开的应用程序的捆绑包 ID 658FM9ZWKC.com.ebayent.iphone
    • 如果它具有该捆绑 ID 但未打开,则 ebay 未正确设置其权利或 AASA 文件未正确下载,因此您必须删除 ebay 应用程序再试一次
    • 我如何才能找到我尝试打开的应用程序的捆绑包 ID 658FM9ZWKC.com.ebayent.iphone
    • 谢谢。我使用链接获得了 Bunder ID。 ebay 应用的 bundle id 是com.ebay.iphone。现在,捆绑 ID 前缀 T4JAZKL6NS 怎么样?
    【解决方案2】:

    深度链接首先在服务器端配置,一些 JSON 配置文件存储在 Web 服务器的根目录中。 JSON 配置文件包含有关哪些链接可以打开应用程序的数据。

    如果eBay在服务器上设置了Deeplinks,您需要在App上确保以下内容:

    • 在应用功能中正确添加了关联域。
    • 有时链接在 safari 中不起作用,请将链接保存在笔记应用程序中并尝试从笔记打开。
    • 调试 Deeplinks 相关的 AppDelegate 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-22
      • 2022-01-12
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      • 2021-09-11
      • 2014-09-04
      • 1970-01-01
      相关资源
      最近更新 更多