ios - 处理来自 continueUserActivity 方法的 Firebase 邀请

标签 ios swift firebase firebase-invites

我正在尝试在使用通用链接时处理 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/

相关文章:

ios - 从 NSMutableDictionary 中移除对象

ios - UINavigationBar 标题 View 对齐问题

xcode - 来自 iAd 的插页式广告无法在 swift 上运行

android - Firebase getCurrentUser 在新的 Android Activity 中返回 null

node.js - Firebase 云函数路由

ios - SceneKit 中的土星环节点

swift - 在函数中传递未知数量的参数

swift - 此 NSPersistentStoreCoordinator 没有持久性存储(设备已锁定)。它无法执行保存操作。专门的静态方法

使用 Kotlin/Firebase 的 Android Studio 代码完成 - 行为不端

iphone - IOS 5 - 从另一个 ViewController 调用一个 ViewController