Apple Universal Links

Overview

Branch는 전체 어트리뷰션을 제공하고 유니버셜 링크(Universal Links)가 실패하는 엣지 케이스를 서포트하며 유저가 앱을 설치하지 않은 경우 딥링크 (Deep Link)를 허용함으로써 유니버셜 링크(Universal Links) 사용을 간단하게 만들면서도 많은 개선을 이룹니다.

12641264

유니버셜 링크(Universal Links) 설정

  1. To get started, you’ll need to enable Universal Links on the Branch dashboard. To do this:
    a. Navigate to Configuration page in the Branch Dashboard.
    b. Check the box to Enable Universal Links from iOS redirects.
    c. Type in your App’s Bundle Identifier. (Learn more on this page )
    d. Type in your Apple App Prefix (found by clicking your app on this page in Apple's Developer Portal).
    e. Scroll down and click on the Save button.

  2. 이때 다음 방법으로 Xcode에서 Associated Domains를 활성화합니다.
    가. 프로젝트 파일의 Capabilities 탭으로 이동하십시오.
    나. 아래로 스크롤하여 Associated Domains를 활성화합니다.
    다. 해당 단계 후에 오류가 표시되면 다음을 확인하십시오.

    1. Xcode 프로젝트에 적합한 팀이 선택됩니다.
    2. Xcode 프로젝트의 Bundle Identifier는 Apple에 앱 식별자를 등록하는 데 사용된 식별자와 일치합니다.
  3. 다음을 수행하여 Branch 링크 도메인을 추가합니다.
    가. Configuration 페이지에서 Link Domain 섹션을 찾습니다.
    나. 도메인 이름을 복사합니다.
    다. Domains 섹션에서 + 아이콘을 클릭하고 다음 엔트리를 추가합니다. (xxxx가 직접 할당 또는 선택한 서브도메인 접두부와 일치하는지 확인)

    • applinks:xxxx.app.link
    • applinks:xxxx-alternate.app.link
    • applinks:xxxx.test-app.link
    • applinks:xxxx-alternate.test-app.link

🚧

레거시 링크 서포트

기본 도메인 이름 상자에 레거시 bnc.lt 도메인이 표시되면 대신 다음 항목을 사용해야 합니다: applinks:bnc.lt

📘

커스텀 도메인 또는 서브도메인을 사용하십니까?

If you use a custom domain or subdomain for your Branch links, you should instead add entries for applinks:[mycustomdomainorsubdomain], XXXX.app.link and XXXX-alternate.app.link. If you're unsure of your Branch-assigned app.link subdomain, contact our support team, and we can provide it.

유니버셜 링크(Universal Links)를 서포트하는 앱/브라우저

불행히도 유니버셜 링크(Universal Links)는 모든 곳에서 작동하지는 않습니다. 여기에서는 일부 인기 앱의 유니버셜 링크(Universal Links) 서포트 상태를 정리했습니다.

항상 작동하는 앱

다음 앱 중 하나에서 유니버셜 링크(Universal Links)를 열면 항상 올바르게 작동합니다.

  • Messages
  • Mail
  • WhatsApp
  • Gmail
  • Inbox

Apple에서 제한하는 앱

Apple은 특정 상황에서 유니버셜 링크(Universal Links)를 제한했습니다.

  • 링크를 브라우저 URL 필드에 붙여 넣으면 유니버셜 링크(Universal Links)가 작동하지 않습니다.
  • 유니버셜 링크(Universal Links)는 동일한 도메인에 대한 유저 중심의 <a href="..."> 요소 클릭에서는 작동하지 않습니다. 예를 들어 google.com의 다른 유니버셜 링크를 가리키는 google.com의 유니버셜 링크가 있는 경우 앱을 열지 않습니다.
  • 유니버셜 링크(Universal Links)는 유저 액션의 일부가 아닌 경우 자바스크립트 (window.onload에서 또는 .click()를 통해 <a> 요소 호출)를 통해 트리거될 수 없습니다.

Apps/Browsers that work conditionally:

  • Safari
  • Chrome

가끔 작동하는 앱

웹뷰가 내장된 앱(Google, Twitter, Facebook, Facebook Messenger, WeChat 등)은 웹뷰가 이미 열려있는 경우에만 유니버셜 링크(Universal Links)와 함께 작동합니다. 즉, 유니버셜 링크(Universal Links)는 피드 또는 기본 앱 보기에서 인앱으로 작동하지 않습니다.
해당 제한 사항을 피하려면 배후에 유니버셜 링크(Universal Link)가 있는 클릭 유도 문안 링크나 버튼이 포함된 Deepviews 또는 그와 유사한 기능이 링크에 활성화되어야 합니다. 그러면 앱 피드에서 링크 클릭 시 Deepview 페이지가 포함된 웹뷰가 열리고 유저는 링크/버튼을 클릭하여 앱을 실행할 수 있습니다. Apple의 모든 제한(위 섹션 참조)은 Deepview 페이지에 계속 적용됩니다.

Apps/Browsers that work conditionally:

  • Google
  • Facebook
  • Facebook Messenger
  • WeChat
  • Twitter
  • LinkedIn
  • Instagram을 사용하는 SFSafariViewController

특수 사례가 있는 앱

Slack은 Safari에서 링크를 열도록 설정된 경우 작동합니다. 그렇지 않으면 위 섹션에서와 같이 조건부로 작동합니다.

작동하지 않는 앱

  • 모든 앱
  • Pinterest
  • Telegram

유니버셜 링크(Universal Links) 실패를 유발하는 일반적인 문제

Safari에 수동으로 들어가서 테스트하고 있습니까? Safari에 들어가면 유니버설 링크(Universal Links)가 제대로 작동하지 않습니다. 테스트를 위해 Notes 또는 iMessage를 사용하세요.
Branch 링크를 다른 링크로 래핑하고 리디렉션하고 있습니까? 대부분의 경우 유니버설 링크(Universal Links)는 클릭 트래킹 링크로 "래핑"된 경우 앱을 오픈하지 않습니다. Branch 링크를 포함하는 유니버설 링크(Universal Links)는 독립형이어야 합니다. 모든 상황에서 유니버설 링크(Universal Links)가 작동하도록 하려면 Branch 링크로 경로를 리디렉션하는 다른 링크를 사용하지 마십시오.
팀 ID 및 번들 ID가 대시보드에 있는 것과 일치합니까? 해당 사항은 [Configuration](dashboard.branch.io/configuration/general) 페이지 대시보드의 "Enable Universal Links" 옆 iOS 섹션에서 찾을 수 있습니다. 팀 ID 및 번들 ID와 일치해야 합니다. 팀 ID는 https://developer.apple.com/membercenter/index.action#accountSummary에서 확인하십시오. 번들 ID는 Xcode의 올바른 빌드 타켓에 대한 **General** 탭에서 찾을 수 있습니다. Apple App Prefix가 Team ID와 다른 경우 App Prefix를 사용해야 합니다. 앱 접두부는 Apple Developer Portal의 App IDs에서 찾을 수 있습니다.
앱을 삭제하고 다시 설치했습니까? iOS는 앱을 삭제하고 다시 설치하지 않는 한 Apple-app-site-association 파일을 다시 스크랩하지 않습니다. (이에 대한 유일한 예외는 App Store 업데이트입니다. iOS는 업데이트 때마다 다시 스크랩합니다. 즉, 사용자가 Applinks 권한이 있는 앱 버전으로 업데이트하면 유니버셜 링크(Universal Links)가 작동하기 시작합니다.)
유니버셜 링크(Universal Links)를 비활성화할 수 있습니다. 유니버셜 링크(Universal Links)를 통해 성공적으로 앱으로 이동한 경우 상태 표시줄의 오른쪽 상단에 "app.link" (또는 도메인)와 포워드 버튼이 표시됩니다. 이 버튼을 클릭하면 Apple은 앞으로 더 이상 유니버셜 링크(Universal Links)를 활성화하지 않습니다. 유니버셜 링크(Universal Links)를 다시 활성화하려면 메시지 (iOS 10의 Message 개정으로 인해 iOS 9에만 해당) 또는 Notes (iOS 10/9)의 링크를 길게 누르고 'Open in APP'를 선택합니다.
커스텀 도메인을 사용하십니까? Make sure it's configured correctly. The following error message will appear in your OS-level logs if your domain doesn't have SSL set up properly:
Sep 21 14:27:01 Derricks-iPhone swcd[2044] : 2015-09-21 02:27:01.878907 PM [SWC] ### Rejecting URL 'https://examplecustomdomain.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErr

이러한 로그는 Window > Devices > 디바이스 선택으로 이동한 다음 기본 보기의 왼쪽 하단에 있는 "위쪽" 화살표를 클릭하여 Xcode에 연결된 물리적 디바이스에 대해 발견될 수 있습니다.

If you're using a custom subdomain, your CNAME should point to custom.bnc.lt under Configuration in the Branch dashboard.


이 페이지가 도움이 되었습니까?