2016-11-23 2 views
1

브랜치를 사용하여 초대 링크를 클릭 한 후 내 앱의 특정보기로 사용자를 리디렉션합니다. 내가 로그인 한 후에 만 ​​리디렉션 할 필요가 있다는 것을 제외하고는 작동합니다. 브랜치 링크를 클릭하면 초기 뷰 컨트롤러에 아무 메소드도 없다는 것을 알 수 있고 AppDelegate에서 모든 설정을 완료해야합니다. 여기 내 AppDelegate에에 관련 코드의 일부입니다 :사용자 로그인 후 Branch.io 리디렉션

가에 생각하지만 난 그들이 로그인 후에 만 ​​리디렉션해야하는 것처럼 DetailViewController로 리디렉션
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    Branch.getInstance().initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: { params, error in 
     guard error == nil else { return } 
     guard let userDidClick = params["+clicked_branch_link"] as? Bool else { return } 
     if userDidClick { 
      let branch = Branch.getInstance() 
      branch?.initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: { params, error in 
       if error == nil { 
        var controller = UIStoryboard.init(name: "Main", bundle: Bundle.main).instantiateViewController(withIdentifier: "DetailViewController") 

        branch?.registerDeepLinkController(controller, forKey: "valid_link") 
        branch?.initSession(launchOptions: launchOptions, automaticallyDisplayDeepLinkController: true) 

        print("prm: \(params)") 
       } 
      })  } 
    }) 
... 

. 사전에 도움을 주셔서 감사합니다.

답변

1

여기에서 분기하는 Alex : 이것은 절대 가능합니다. 현재 automatic routing implementation을 사용하고 있습니다. 이는 단순화하지만이 사용 사례를 처리 할만큼 미묘한 차이는 없습니다. 대신 로그인 프로세스가 완료 될 때까지 링크 데이터를 저장하기 위해 custom link routing method을 빌드해야합니다.

편집 : 일반적인 구현 :

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    let branch: Branch = Branch.getInstance() 
     branch.initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: {params, error in 

     // If the key 'valid_link' is present in the deep link dictionary 
     if error == nil && params["+clicked_branch_link"] != nil && params["valid_link"] != nil { 

      // assign valid_link to a variable 

     } 
    return true 
} 

// perform your login process, and pass the valid_link variable through to the post-login viewcontroller for display 
+0

당신은 어떤 샘플이나 설명과 답변을 자세히 설명해 수 있습니다. –

+0

OP의 인증 흐름에 대한 자세한 내용이 없으면 –

+0

일반적인 도움말에 대한 업데이트 된 답변보기 지금까지 도움을 주셔서 감사합니다. viewController의 코드에서 나를 도울 수 있습니까? 로그인 후, 무엇을해야할지를 의미합니다. –