tvOS:媒体应用程序中的通用链接处理

问题描述 投票:0回答:1

我正在寻求帮助,以解决我在媒体应用程序中遇到的与执行通用链接相关的问题。我的应用程序旨在处理通用链接,以将用户直接导航到 Apple TV+ 和 Netflix 等第三方应用程序中的特定内容。虽然 Apple TV+ 链接的实现按预期工作,将用户引导至预期的内容页面,但我在使用 Netflix 等其他服务的链接时遇到了困难。对于这些,应用程序仅打开目标应用程序,而不会按预期导航到特定的节目或内容页面。

我的代码中涉及处理通用链接的相关部分如下:

    dataStore = Backendless.shared.data.ofTable("TestTable")
    testObject = ["foo": "Hello World"]
    dataStore?.save(entity: testObject!, responseHandler: { savedTestObject in
        // Code to update UI elements
        if let deepLink = savedTestObject["foo"] as? String {
            if let url = URL(string: deepLink) {
                let options: [UIApplication.OpenExternalURLOptionsKey: Any] = [.universalLinksOnly: true]
                UIApplication.shared.open(url, options: options, completionHandler: { success in
                    if success {
                        print("Opened url successfully")
                    } else {
                        print("Failed to open url")
                    }
                })
            }
        }
    }, errorHandler: { fault in
        self.showErrorAlert(fault)
    })
}

从上面的代码片段中,我尝试执行存储在后端数据库中的通用链接。预期行为是根据提供的 URL 将用户引导至第三方应用程序中的特定页面。这与 Apple TV+ 链接完美配合,但在执行来自 Netflix 或类似服务的链接时,它的缺陷在于仅启动应用程序而不导航到指定内容。

尝试过的 Netflix URL 是:

http://www.netflix.com/title/81731618
nflx://www.netflix.com/title/81731618

请注意,JustWatch 应用程序可以完美地执行相同的行为。所以我认为 Apple 没有施加任何限制。

ios swift deep-linking tvos ios-universal-links
1个回答
0
投票

您可以使用常规的 netflix url 结构,但将 http 替换为 nflx。

nflx://www.netflix.com/title/70291117 - This will open a show page.
nflx://www.netflix.com/watch/70291117 - This will begin playing the video.
© www.soinside.com 2019 - 2024. All rights reserved.