[英]Firebase Dynamic Links not working when the application is not launched
当应用程序在后台运行时它工作正常。 但是当安装了应用程序但当时没有启动时,它只是打开应用程序而不是重定向到相应的屏幕。 请帮助我摆脱这种情况 iOS 部署目标是 iOS9.3。我在 iPhone7 iOS 13.4 上运行该应用程序。 这是我的代码:
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options {
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink != nil) {
[self handleIncomingDynamicLink:dynamicLink];
return YES;
}
return FALSE;
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler {
NSURL *incomingURL = userActivity.webpageURL;
if (incomingURL) {
NSLog(@"Incoming URL is %@:", incomingURL);
BOOL linkHandled = [[FIRDynamicLinks dynamicLinks]handleUniversalLink:incomingURL completion:^(FIRDynamicLink * _Nullable dynamicLink, NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Found an error: \(error?.localizedDescription ?? nil)");
return ;
}
else {
if (dynamicLink) {
[self handleIncomingDynamicLink:dynamicLink];
}
else {
}
}
}];
if (linkHandled) {
return true;
}
else {
// if handling universal link from any other resources. May be do other things from the incoming url
return false;
}
}
return false;
}
深层链接实现 - 您应该在 handleDynamicLink 方法中处理导航。
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
if let url = dynamicLink.url{
handleDynamicLink(dynamicLink)
}
return true
}
}
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
guard let incomingUrl = userActivity.webpageURL else { return false }
let links = DynamicLinks.dynamicLinks()
let handled = links.handleUniversalLink(incomingUrl) { (dynamicLink, error) in
if let url = dynamicLink?.url{
handleDynamicLink(dynamicLink)
}
}
return handled
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.