如何使用来自 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,我们想知道如何:
- 以编程方式 (Swift) 在应用 ABC 内部创建一个延迟的深度 link,目的是将用户带到应用 XYZ。我们将为应用程序 XYZ 使用现有的 URL 方案,因为后端服务器现在根本不参与这项工作。
- 我们希望 Branch.io 深度 link 在点击 UIButton 时激活(因此此处不涉及 WebView。只是一个本机按钮)
- 我们想将一个 20 多岁的 ID(字母和数字)和登录信息(如果我们能够安全可靠地完成)传递给接收应用程序,也就是 XYZ 应用程序。
我们已按照 https://docs.branch.io/pages/apps/ios/ 中的步骤进行操作以确保基础工作正常。这包括“测试深度 link”部分。效果很好。
我相信我已经阅读了与 iOS 和 Branch.io 提供的仪表板相关的每一个 API 文档。
我觉得这个任务最有趣的是:
- iOS 具体
- Branch Concepts: The Branch Universal Object
- Configure your dashboard
- 也扫描了 Branch.io blog 的页面
代码在这里(内容已更改,以便无法识别我们正在谈论的现实世界中的哪些应用程序,因为这并不重要):
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(https://docs.branch.io/pages/dashboard/integrate/)设置 Branch 仪表板
- 为应用 XYZ 集成 Branch SDK (https://docs.branch.io/pages/apps/ios/)
- 为应用程序 ABC 集成 Branch SDK,但为应用程序 XYZ 使用 Branch 仪表板上提供的实时密钥
这基本上会创建特定于应用程序 XYZ 的链接,如果 URI 方案和通用链接设置正确并且与应用程序 XYZ 的分支仪表板一致,则应该打开该应用程序。 App ABC 只需要 Branch key 生成链接,app ABC 的 Entitlements 文件或Info.plist不需要修改
希望对您有所帮助!
我有 ABC 应用程序,其中配置了 abc 分支。
我有 XYZ 应用,配置了 xyz 分支
我想生成 ABC 内部 link 用于打开 XYZ。
(ABC 现在也为自己生成 links)。
我们控制了两个 iOS 应用程序。我们称它们为应用程序 ABC 和 XYZ。使用 Branch.io SDK,我们想知道如何:
- 以编程方式 (Swift) 在应用 ABC 内部创建一个延迟的深度 link,目的是将用户带到应用 XYZ。我们将为应用程序 XYZ 使用现有的 URL 方案,因为后端服务器现在根本不参与这项工作。
- 我们希望 Branch.io 深度 link 在点击 UIButton 时激活(因此此处不涉及 WebView。只是一个本机按钮)
- 我们想将一个 20 多岁的 ID(字母和数字)和登录信息(如果我们能够安全可靠地完成)传递给接收应用程序,也就是 XYZ 应用程序。
我们已按照 https://docs.branch.io/pages/apps/ios/ 中的步骤进行操作以确保基础工作正常。这包括“测试深度 link”部分。效果很好。
我相信我已经阅读了与 iOS 和 Branch.io 提供的仪表板相关的每一个 API 文档。
我觉得这个任务最有趣的是:
- iOS 具体
- Branch Concepts: The Branch Universal Object
- Configure your dashboard
- 也扫描了 Branch.io blog 的页面
代码在这里(内容已更改,以便无法识别我们正在谈论的现实世界中的哪些应用程序,因为这并不重要):
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(https://docs.branch.io/pages/dashboard/integrate/)设置 Branch 仪表板
- 为应用 XYZ 集成 Branch SDK (https://docs.branch.io/pages/apps/ios/)
- 为应用程序 ABC 集成 Branch SDK,但为应用程序 XYZ 使用 Branch 仪表板上提供的实时密钥
这基本上会创建特定于应用程序 XYZ 的链接,如果 URI 方案和通用链接设置正确并且与应用程序 XYZ 的分支仪表板一致,则应该打开该应用程序。 App ABC 只需要 Branch key 生成链接,app ABC 的 Entitlements 文件或Info.plist不需要修改
希望对您有所帮助!
我有 ABC 应用程序,其中配置了 abc 分支。
我有 XYZ 应用,配置了 xyz 分支
我想生成 ABC 内部 link 用于打开 XYZ。
(ABC 现在也为自己生成 links)。