如何使用来自 iOS 应用程序的 Branch.io DeepLink 打开我们的另一个 iOS 应用程序

How To Open Another of Our iOS Apps With Branch.io DeepLink From an iOS App

我们控制了两个 iOS 应用程序。我们称它们为应用程序 ABC 和 XYZ。使用 Branch.io SDK,我们想知道如何:

我们已按照 https://docs.branch.io/pages/apps/ios/ 中的步骤进行操作以确保基础工作正常。这包括“测试深度 link”部分。效果很好。

我相信我已经阅读了与 iOS 和 Branch.io 提供的仪表板相关的每一个 API 文档。

我觉得这个任务最有趣的是:

代码在这里(内容已更改,以便无法识别我们正在谈论的现实世界中的哪些应用程序,因为这并不重要):

    private class func createBranchIoLink(someIdentifier: String) {

        // Create content reference
        let buo = BranchUniversalObject(canonicalIdentifier: "content/\(someIdentifier)")
        buo.canonicalUrl = "xyz://content/\(someIdentifier)" // example is https://example.com/content/123
        buo.title = "Some Title"
        buo.contentDescription = "Add it to the other app"

        // Create link reference
        let lp: BranchLinkProperties = BranchLinkProperties()
        lp.channel = "ios"
        lp.feature = "some-feature"

        buo.getShortUrl(with: lp) { (url, error) in
            print(url ?? "")
            print(error ?? "")
            print("ok done")
            // when I take the url given to us here, the URL takes me back to THIS app instead of the app I want!
        }
    }

感谢您提供的任何帮助。谢谢!

这里是 Branch 的 Brian!

您可以在应用 ABC 中生成链接以打开应用 XYZ,但这也意味着您将无法生成打开应用 ABC 的链接。要实现此流程,您需要将 Branch SDK 集成到两个 iOS 应用程序中,但在 Branch 仪表板上为 XYZ 创建一个应用程序。

请记住以下几点:

这基本上会创建特定于应用程序 XYZ 的链接,如果 URI 方案和通用链接设置正确并且与应用程序 XYZ 的分支仪表板一致,则应该打开该应用程序。 App ABC 只需要 Branch key 生成链接,app ABC 的 Entitlements 文件或Info.plist不需要修改

希望对您有所帮助!

我有 ABC 应用程序,其中配置了 abc 分支。

我有 XYZ 应用,配置了 xyz 分支

我想生成 ABC 内部 link 用于打开 XYZ。

(ABC 现在也为自己生成 links)。