deepLinkHandler 与 continueUserActivity
deepLinkHandler vs continueUserActivity
出于架构原因,我不希望在 appdelegate 中使用深层链接处理程序在进入时重定向应用程序。
假设我现在不关心初始安装深层链接,我可以这样做吗?
- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray *))restorationHandler {
BOOL handledByBranch = [[Branch getInstance] continueUserActivity:userActivity];
if (handledByBranch) {
// REDIRECT APP TO WHERE I NEED
}
return handledByBranch;
}
来自 Branch 的 Alex:这在理论上可能可行,但它可能不是最好的方法,并且会遗漏一些边缘情况。尽管 Branch 尽可能使用通用链接(continueUserActivity
方法),但在某些情况下,您的应用程序仍会通过 URI 方案(openURL
方法)启动。您将需要分别处理这两者,并且可能 运行 进入某些具有不良副作用的情况。
您可能会发现我们关于 how to build a custom deep link router 的说明很有用。
出于架构原因,我不希望在 appdelegate 中使用深层链接处理程序在进入时重定向应用程序。
假设我现在不关心初始安装深层链接,我可以这样做吗?
- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray *))restorationHandler {
BOOL handledByBranch = [[Branch getInstance] continueUserActivity:userActivity];
if (handledByBranch) {
// REDIRECT APP TO WHERE I NEED
}
return handledByBranch;
}
来自 Branch 的 Alex:这在理论上可能可行,但它可能不是最好的方法,并且会遗漏一些边缘情况。尽管 Branch 尽可能使用通用链接(continueUserActivity
方法),但在某些情况下,您的应用程序仍会通过 URI 方案(openURL
方法)启动。您将需要分别处理这两者,并且可能 运行 进入某些具有不良副作用的情况。
您可能会发现我们关于 how to build a custom deep link router 的说明很有用。