我正在尝试在使用通用链接时处理 firebase 邀请。 当用户单击电子邮件中的邀请链接时,将调用以下方法。
如何从url获取邀请?
@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 上传递捆绑的内容,但没有效果。
注意:Firebase 邀请中使用的方法 example添加 continueUserActivity 方法后就不会调用。
最佳答案
试试这个。 它在 Objective C 中,但你也可以将它协调到 Swift 中。希望这对您有帮助。
- (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;
}
关于ios - 处理来自 continueUserActivity 方法的 Firebase 邀请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491617/