Skip to content

딥링킹을 위한 Branch

Branch는 사용자 터치포인트에 대한 전체적인 뷰를 제공하여 기기, 채널, 플랫폼 전반에서 고객 확보, 참여, 측정에 사용되는 모바일 연결 플랫폼입니다.

이 통합은 Branch에서 유지 관리합니다.

통합 소개

Braze와 Branch 통합을 사용하면 사용자 여정의 시작을 적절히 기여도 분석하고 딥링크를 통해 의도한 위치로 연결하여 고객에게 더 나은 경험을 제공할 수 있습니다.

통합

Branch의 SDK 통합 가이드를 따라 Branch 통합을 설정하세요. 추가 사용 사례는 아래를 참조하세요.

Braze 내에서 iOS 유니버설 링크를 딥링크로 전송하려면 다음을 수행하세요.

Branch 설명서를 따라 유니버설 링크를 설정하세요. 이 설정의 일부로 Branch는 Branch 링크 도메인(예: yourapp.app.link)에 AASA 파일을 자동으로 호스팅합니다.

2단계: Associated Domains 구성

Xcode에서 앱 타겟 > Signing & Capabilities로 이동하여 Associated Domains 아래에 Branch 링크 도메인을 추가하세요:

1
2
applinks:yourapp.app.link
applinks:yourapp-alternate.app.link

커스텀 Branch 도메인을 사용하는 경우 해당 도메인도 추가하세요.

Braze SDK 구성에서 forwardUniversalLinkstrue로 설정하여 SDK가 유니버설 링크를 앱의 AppDelegate로 전달하도록 하세요:

1
2
3
let configuration = Braze.Configuration(apiKey: "<BRAZE_API_KEY>", endpoint: "<BRAZE_ENDPOINT>")
configuration.forwardUniversalLinks = true
let braze = Braze(configuration: configuration)
1
2
3
4
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
                                                                  endpoint:@"<BRAZE_ENDPOINT>"];
configuration.forwardUniversalLinks = YES;
Braze *braze = [[Braze alloc] initWithConfiguration:configuration];

BrazeDelegate를 구현하여 Braze가 처리하기 전에 Branch 링크를 가로채세요. 이렇게 하면 Branch가 링크를 처리하고 자체 라우팅을 수행할 수 있습니다:

1
2
3
4
5
6
7
8
9
10
func braze(_ braze: Braze, shouldOpenURL context: Braze.URLContext) -> Bool {
  if let host = context.url.host,
     host.contains("app.link") || host.contains("yourdomain.com") {
    // Let Branch handle this link
    Branch.getInstance.handleDeepLink(context.url)
    return false
  }
  // Let Braze handle all other links
  return true
}
1
2
3
4
5
6
7
8
- (BOOL)braze:(Braze *)braze shouldOpenURL:(BRZURLContext *)context {
  NSString *host = context.url.host;
  if (host && ([host containsString:@"app.link"] || [host containsString:@"yourdomain.com"])) {
    [[Branch getInstance] handleDeepLink:context.url];
    return NO;
  }
  return YES;
}

해당하는 경우 yourdomain.com을 커스텀 Branch 도메인으로 교체하세요.

이메일에서의 딥링킹

유니버설 링크 및 앱 링크 설명서를 참조하거나 Branch 설명서를 확인하여 Braze를 통해 발송된 이메일에서 딥링킹을 설정하세요.

전화번호 링크(hreftel 추가)는 사용자가 앱에 통화 권한을 부여하지 않는 한 iOS용 Gmail 앱에서 지원되지 않습니다.

이메일 서비스 공급자에 따라 클릭 추적 유니버설 링크를 지원하기 위해 추가 커스터마이징이 필요할 수 있습니다. 이 정보는 전용 문서에 설명되어 있습니다. 자세한 내용은 다음 참조 자료를 확인하세요:

문제 해결

Braze Campaign에서 Branch 링크가 예상대로 작동하지 않는 경우 다음 단계를 따르세요.

실제 iOS 기기의 메모 앱에서 Branch 링크를 열어보세요. 앱이 열리지 않는 경우:

  • 문제는 Braze가 아닌 Branch 또는 AASA 구성에 있습니다.
  • https://yourapp.app.link/.well-known/apple-app-site-association에서 Branch AASA를 검증하세요.
  • Branch 대시보드에서 Bundle ID와 Team ID가 일치하는지 확인하세요.

이중 로깅 활성화

  1. Braze: 상세 로깅을 활성화하고 Opening '<URL>': 항목을 확인하세요. 이를 통해 SDK가 링크를 수신했는지 확인할 수 있습니다.
  2. Branch: Branch 테스트 모드를 활성화하고 Branch 대시보드에서 링크 클릭 이벤트를 확인하세요.
  3. 비교: Braze가 링크를 로깅하지만 Branch에서 클릭이 표시되지 않는 경우, BrazeDelegate 라우팅 로직이 링크를 올바르게 가로채지 못하고 있을 가능성이 높습니다. shouldOpenURL의 도메인 매칭에 Branch 도메인이 포함되어 있는지 확인하세요.

일반적인 문제

더 많은 딥링킹 문제 해결 시나리오는 딥링킹 문제 해결을 참조하세요.

New Stuff!