2016-07-20 3 views
0

유니버설 링크를 사용할 때 firebase 초대를 처리하려고합니다. 예를 들어 사용자가 전자 메일에서 초대 링크를 클릭하면 아래 메서드가 호출됩니다.continueUserActivity 메소드에서 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 메서드가 추가되면 호출되지 않습니다.

답변

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; 
} 
관련 문제