2017-11-30 22 views
0

iOS 앱이 있고 Branch SDK를 사용하여 초대를 구현합니다. 모든 필수 데이터는 범용 링크 내에서 매개 변수로 전송됩니다. 우리의 문제는 앱이 이미 기기에 설치되었을 때 사용자가 링크를 탭해도 완벽하게 작동하지만 사용자가 Testflight 또는 앱 스토어에서 앱을 설치해야하는 경우 무작위로 데이터를 전달하지 못한다는 것입니다. 때로는 효과가 있고 가끔은 그렇지 않습니다. 하나의 동일한 링크가 작동하지만 몇 분 안에 실패 할 수 있습니다. "실패"에서 매개 변수가 앱으로 전달되지 않는다는 의미입니다. 모두가 살기에Branch.io를 사용하여 하위 도메인에서 앱으로 데이터를 전달할 때의 문제

  • 이 branch_key이 사전을 포함하고 시험 :이 문서에 설명 된 바와 같이 우리는 우리의 준비 및 생산 환경의 Info.plist 파일을 설정

    : 여기

    는 우리의 구성입니다 열쇠.
  • branch_app_domain에는 특정 환경 (예 : 준비가 test.domain.com이고 프로덕션의 경우 domain.com)에 대한 맞춤 도메인이 포함되어 있습니다.
  • branch_universal_link_domains은 문자열 배열입니다. 두 앱 도메인을 모두 포함합니다. test.domain.com 및 domain.com.

이러한 필드는 두 환경 모두에서 .plist 파일에 있습니다.

또한 관련 도메인을 배치 한 .entitlements 파일을 설정합니다.

  • applinks : domain.com
  • applinks : test.domain.com
  • applinks :
  • applinks을 XXXX-alternate.test-app.link : XXXX.test - 응용 프로그램은 6 개 값을 포함
  • applinks .link :
  • applinks XXXX-alternate.app.link : XXXX.app.link

을이 파일 모두에 추가 준비 및 생산 목표. 내 AppDelegate에에서

는이 같은 지점을 설정 :

Configuration.branchTestKeyEnabled 

이 준비에 대한 true 및 생산을위한 거짓

Branch.setUseTestBranchKey(Configuration.branchTestKeyEnabled) 
    let branch: Branch = Branch.getInstance() 

    branch.initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: {params, error in 
     if error == nil { 
      print("params: %@", params as? [String: AnyObject] ?? {}) 
     } else { 
      print(error) 
     } 
    }) 

. 내 구성에 문제가있을 수 있다고 가정 Report

: 여기

let branch = Branch.getInstance() 
let params = branch?.getLatestReferringParamsSynchronous() as? [String : Any] 
// Do something with parameters 

이 유효성 검사 스크립트의 보고서입니다 :

나중에 출시 후,이 같은 매개 변수를 참조 얻으려고 , 그러나 나는 왜 그렇게 모순되게 행동하는지 이해하지 못합니다.

답변

0

여기에서 브라이언 브라이언.

데이터가 일관성이 없기 때문에 경쟁 조건이있을 수 있습니다. 이것이 가능하지 않다면

branch.initSession(launchOptions: launchOptions, andRegisterDeepLinkHandler: {params, error in 
    if error == nil { 
     print("params: %@", params as? [String: AnyObject] ?? {}) 
    } else { 
     print(error) 
    } 
}) 

, 우리는 또한 오히려 getLatestReferringParamsSynchronous()보다 getLatestReferringParams()를 호출하는 것이 좋습니다 : 우리는 당신이 여기에 리스너 방법에서 딥 링크 매개 변수를 읽어 보시기 바랍니다.

자세한 내용은 다음 번호를 방문하십시오. https://docs.branch.io/pages/apps/ios/#read-deep-link