2017-12-03 45 views
0

Google의 제어하에 두 가지 iOS 앱이 있습니다. 앱 ABC와 XYZ라고합시다.iOS 앱에서 Branch.io DeepLink를 사용하여 다른 iOS 앱을 여는 방법

  • 프로그래밍 (스위프트) XYZ를 앱에 사용자를 복용의 목적으로 응용 프로그램 ABC의 내부 지연된 딥 링크 만들기 : Branch.io SDK 사용하여, 우리는 방법을 알고 싶어요. 백엔드 서버가이 작업에 전혀 관여하지 않았기 때문에 우리는 XYZ 응용 프로그램에 기존 URL 스키마를 사용할 것입니다.
  • UIButton을 탭하면 Branch.io 딥 링크가 활성화되기를 원합니다 (여기에는 WebView가 포함되어 있지 않습니다. 네이티브 버튼)
  • 20,000 개의 긴 ID (문자 및 숫자) 수신 앱인 XYZ 앱에 대한 로그인 정보 (안전하고 안전하게 할 수있는 경우).

기본 작업을 보장하기 위해 https://docs.branch.io/pages/apps/ios/의 단계를 수행했습니다. 여기에는 "딥 링크 테스트"섹션이 포함됩니다. 그게 잘 됐어.

iOS 및 Branch.io에서 제공하는 대시 보드와 관련된 모든 단일 API 문서를 읽었을 것으로 믿습니다.

이 퀘스트 나에게 가장 흥미로운 것들했다 : Branch.io blog

코드는 여기 (콘텐츠를 변경하여 이후로 우리가 말하는 실제 세계의 pps는 중요하지 않습니다.) :

private class func createBranchIoLink(someIdentifier: String) { 

     // Create content reference 
     let buo = BranchUniversalObject(canonicalIdentifier: "content/\(someIdentifier)") 
     buo.canonicalUrl = "xyz://content/\(someIdentifier)" // example is https://example.com/content/123 
     buo.title = "Some Title" 
     buo.contentDescription = "Add it to the other app" 

     // Create link reference 
     let lp: BranchLinkProperties = BranchLinkProperties() 
     lp.channel = "ios" 
     lp.feature = "some-feature" 

     buo.getShortUrl(with: lp) { (url, error) in 
      print(url ?? "") 
      print(error ?? "") 
      print("ok done") 
      // when I take the url given to us here, the URL takes me back to THIS app instead of the app I want! 
     } 
    } 

제공되는 도움을 주시면 감사하겠습니다. 감사!

+1

사용 사례에 대한 빠른 제안 : 앱 ABC가 이미 기기에 설치되어있는 경우 identifierForVendor + "데이터베이스"를 사용하여 관계 링크 -> identifierForVendor를 추적하면보다 일관된 결과를 얻을 수 있습니다. 또 다른 옵션은 공유 키 체인을 사용하여 동일한 기기의 한 앱에서 다른 앱으로 데이터를 전파하는 것입니다. 지점 iO (또는 다른 지연된 딥 링크 공급자)는 쿠키 또는 지문 (IP 주소)을 사용하여 설치된 응용 프로그램의 탭된 링크와 일치시킬 수 있습니다. 이 두 가지 방법 모두 덜 강력합니다. –

+0

좋은 지적과 조언, @OleksiyIvanov 고마워! – finneycanhelp

답변

1

여기에서 브라이언 브랜!

앱 ABC에서 앱 XYZ를 열려면 링크를 생성 할 수 있지만 이는 앱 ABC를 여는 링크를 생성 할 수 없음을 의미합니다. 이 흐름을 얻으려면 Branch SDK를 iOS 앱에 통합해야하지만 Branch 대시 보드에 XYZ 용 앱 하나를 만들어야합니다. 여기

염두에 두어야 할 몇 가지 사항은 다음과 같습니다에 대한

기본적으로 앱 XYZ 및 URI 스키마와 유니버설 링크가 올바르게 설정되고 XYZ 앱의 분기 대시 보드와 일관성이있는 경우 해당 앱을 열어야합니다. App ABC는 링크를 생성하기 위해 Branch 키 만 있으면되며 Entitlement 파일이나 Info.plist는 앱 ABC에 대해 수정할 필요가 없습니다.

도움이 되었기를 바랍니다.