我正在尝试使用通用链接时处理firebase邀请。 当用户点击邀请链接时,例如,从电子邮件中调用以下方法。
如何从网址获取邀请?
@available(iOS 8.0, *)
func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
let handled = FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
// ...
}
return handled!
}
要获得邀请,我需要致电
FIRInvites.handleURL(url, sourceApplication:sourceApplication, annotation:annotation)
我认为问题在于传递给应用程序和注释参数的内容。我已经尝试在sourceApplication上传递捆绑但没有效果。
注意:一旦添加了continueUserActivity方法,就不会调用firebase邀请example中使用的方法。
答案 0 :(得分:0)
试试这个。 它在目标c中,但你也可以迅速将其演唱。希望这能帮助你。
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler
{
NSURL *url = userActivity.webpageURL;
FIRDynamicLinks *links = [FIRDynamicLinks dynamicLinks];
if([links matchesShortLinkFormat:url])
{
[links resolveShortLink:url completion:^(NSURL * _Nullable url, NSError * _Nullable error)
{
NSString *message =
[NSString stringWithFormat:@"Deep link \n:%@",
url];
[[[UIAlertView alloc] initWithTitle:@"Deep-link Data"
message:message
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}];
return YES;
}
return false;
}