0

我正在尝试在使用通用链接时处理 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 上传递捆绑但没有效果。

注意:一旦添加 continueUserActivity 方法,就不会调用firebase 邀请示例中使用的方法。

4

1 回答 1

0

试试这个。它在目标 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;
}
于 2016-09-26T07:18:24.840 回答