Skip to content

iOS 딥링킹 가이드

이 가이드는 사용 중인 메시징 채널과 Branch 같은 타사 링크 제공업체 사용 여부에 따라 iOS 앱에 적합한 딥링킹 전략을 선택하는 데 도움을 줍니다.

구현 세부 사항은 딥링킹을 참조하세요. 문제 해결은 딥링킹 문제 해결을 참조하세요.

iOS 앱에서 Braze 메시지의 링크를 처리하는 방법은 세 가지입니다. 각각의 방식은 서로 다르게 작동하며, 서로 다른 채널과 사용 사례에 적합합니다.

커스텀 스킴 딥링크(예: myapp://products/123)는 앱을 특정 화면으로 직접 엽니다. 타사에 의해 링크가 수정되지 않는 채널에서 가장 간단한 옵션입니다.

다음과 같은 경우 커스텀 스킴 딥링크를 사용하세요:

  • 푸시 알림, 인앱 메시지 또는 Content Cards 발송
  • 앱이 설치되어 있지 않을 때 링크가 작동할 필요가 없는 경우
  • 클릭 추적(이메일 서비스 공급자 링크 래핑)이 필요하지 않은 경우

다음과 같은 경우에는 커스텀 스킴 딥링크를 사용하지 마세요:

  • 이메일 발송 — 이메일 서비스 공급자는 클릭 추적을 위해 링크를 래핑하므로 커스텀 스킴이 깨집니다
  • 앱이 설치되지 않은 경우 웹 페이지로 대체되는 링크가 필요한 경우

유니버설 링크(예: https://myapp.com/products/123)는 iOS가 브라우저에서 열지 않고 앱으로 라우팅할 수 있는 표준 HTTPS URL입니다. 서버 측 구성(AASA 파일)과 앱 측 설정(Associated Domains 권한)이 필요합니다.

다음과 같은 경우에 유니버설 링크를 사용하세요:

  • 이메일 발송 시. 이메일 서비스 공급자가 클릭 추적을 위해 링크를 래핑하므로 링크는 반드시 HTTPS여야 합니다.
  • 링크가 래핑되거나 단축되는 SMS 또는 기타 채널을 통해 발송하는 경우.
  • 앱이 설치되지 않았을 때 웹 페이지로 대체되는 링크가 필요한 경우.
  • Branch 또는 AppsFlyer 같은 타사 링크 제공업체를 사용하는 경우.

다음과 같은 경우에는 유니버설 링크를 사용하지 마세요:

  • 푸시 알림, 인앱 메시지 또는 Content Cards에서만 딥링크가 필요한 경우. 커스텀 스킴이 더 간단합니다.

“앱 내에서 웹 URL 열기”

이 옵션은 앱 내의 모달 WebView에서 웹 페이지를 엽니다. Braze.WebViewController를 사용하여 Braze SDK가 전적으로 처리하므로 URL 처리 코드를 직접 작성할 필요가 없습니다.

다음과 같은 경우에 “앱 내에서 웹 URL 열기”를 사용하세요:

  • 앱을 벗어나지 않고 웹 페이지(예: 프로모션이나 문서)를 표시하고 싶은 경우.
  • URL이 특정 앱 화면으로의 딥링크가 아닌 표준 HTTPS 웹 페이지인 경우.

다음과 같은 경우에는 “앱 내에서 웹 URL 열기”를 사용하지 마세요:

  • 앱에서 특정 뷰로 이동해야 하는 경우. 대신 커스텀 스킴이나 유니버설 링크를 사용하세요.
  • 웹 페이지에 인증이 필요하거나 임베딩을 차단하는 콘텐츠 보안 정책 헤더가 있는 경우.

“앱 내에서 웹 URL 열기”

AASA 파일이 필요한 경우

Apple App Site Association(AASA) 파일은 유니버설 링크를 사용할 때만 필요합니다. 앱이 처리할 수 있는 URL을 iOS에 알려줍니다.

다음과 같은 경우 AASA 파일이 필요합니다:

  • 이메일 Campaign에서 딥링크를 발송하는 경우(이메일 서비스 공급자가 링크를 HTTPS 클릭 추적 URL로 래핑하기 때문입니다).
  • SMS Campaign에서 딥링크를 발송하는 경우(링크가 HTTPS URL로 단축될 수 있기 때문입니다).
  • Branch, AppsFlyer 또는 다른 링크 제공업체를 사용하는 경우(해당 업체들이 자체 HTTPS 도메인을 사용하기 때문입니다).
  • 푸시 알림, 인앱 메시지 또는 Content Cards에서 유니버설 링크를 사용하는 경우(덜 일반적이지만 forwardUniversalLinks = true로 가능합니다).

다음과 같은 경우에는 AASA 파일이 필요하지 않습니다:

  • 푸시 알림, 인앱 메시지 또는 Content Cards에서 커스텀 스킴 딥링크(예: myapp://)만 사용하는 경우.
  • 앱 내에서 웹 URL 열기 옵션을 사용하는 경우.

AASA 설정 방법은 유니버설 링크 및 앱 링크를 참조하세요.

앱 코드에서 링크를 처리해야 하는 경우

구현할 델리게이트 메서드는 사용하는 링크 유형에 따라 달라집니다:

Braze에서 Branch 사용하기

Branch를 링크 제공업체로 사용하는 경우, 표준 유니버설 링크 구성 외에 몇 가지 추가 단계가 필요합니다:

  1. Branch SDK: Branch 설명서에 따라 Branch SDK를 통합하세요.
  2. Associated Domains: Xcode의 Signing & Capabilities 아래에 Branch 도메인(예: applinks:yourapp.app.link)을 추가하세요.
  3. BrazeDelegate: Branch 링크를 Braze가 직접 처리하지 않고 Branch SDK로 라우팅하도록 braze(_:shouldOpenURL:)를 구현하세요.
  4. 유니버설 링크 전달: Braze SDK 구성에서 configuration.forwardUniversalLinks = true를 설정하세요.

구현 세부 사항 및 디버깅 안내는 딥링킹용 Branch를 참조하세요.

New Stuff!