딥링킹을 위한 Branch
Branch는 사용자 터치포인트에 대한 전체적인 뷰를 제공하여 기기, 채널, 플랫폼 전반에서 고객 확보, 참여, 측정에 사용되는 모바일 연결 플랫폼입니다.
이 통합은 Branch에서 유지 관리합니다.
통합 소개
Braze와 Branch 통합을 사용하면 사용자 여정의 시작을 적절히 기여도 분석하고 딥링크를 통해 의도한 위치로 연결하여 고객에게 더 나은 경험을 제공할 수 있습니다.

통합
Branch의 SDK 통합 가이드를 따라 Branch 통합을 설정하세요. 추가 사용 사례는 아래를 참조하세요.
iOS 유니버설 링크 지원
Braze 내에서 iOS 유니버설 링크를 딥링크로 전송하려면 다음을 수행하세요.
1단계: Branch 유니버설 링크 설정
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 도메인을 사용하는 경우 해당 도메인도 추가하세요.
3단계: Braze에서 유니버설 링크 전달
Braze SDK 구성에서 forwardUniversalLinks를 true로 설정하여 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];
4단계: BrazeDelegate로 Branch 링크 라우팅
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를 통해 발송된 이메일에서 딥링킹을 설정하세요.
전화번호 링크(href에 tel 추가)는 사용자가 앱에 통화 권한을 부여하지 않는 한 iOS용 Gmail 앱에서 지원되지 않습니다.
이메일 서비스 공급자에 따라 클릭 추적 유니버설 링크를 지원하기 위해 추가 커스터마이징이 필요할 수 있습니다. 이 정보는 전용 문서에 설명되어 있습니다. 자세한 내용은 다음 참조 자료를 확인하세요:
문제 해결
Braze Campaign에서 Branch 링크가 예상대로 작동하지 않는 경우 다음 단계를 따르세요.
Braze 외부에서 링크 작동 확인
실제 iOS 기기의 메모 앱에서 Branch 링크를 열어보세요. 앱이 열리지 않는 경우:
- 문제는 Braze가 아닌 Branch 또는 AASA 구성에 있습니다.
https://yourapp.app.link/.well-known/apple-app-site-association에서 Branch AASA를 검증하세요.- Branch 대시보드에서 Bundle ID와 Team ID가 일치하는지 확인하세요.
이중 로깅 활성화
- Braze: 상세 로깅을 활성화하고
Opening '<URL>':항목을 확인하세요. 이를 통해 SDK가 링크를 수신했는지 확인할 수 있습니다. - Branch: Branch 테스트 모드를 활성화하고 Branch 대시보드에서 링크 클릭 이벤트를 확인하세요.
- 비교: Braze가 링크를 로깅하지만 Branch에서 클릭이 표시되지 않는 경우,
BrazeDelegate라우팅 로직이 링크를 올바르게 가로채지 못하고 있을 가능성이 높습니다.shouldOpenURL의 도메인 매칭에 Branch 도메인이 포함되어 있는지 확인하세요.
일반적인 문제
| 증상 | 가능한 원인 | 해결 방법 |
|---|---|---|
| Branch 링크가 Safari에서 열림 | Branch 도메인에서 AASA가 유효하지 않거나 누락됨 | Associated Domains 및 AASA 파일을 확인하세요 |
| Branch 링크가 열리지만 잘못된 화면으로 이동 | Branch 링크 데이터가 잘못 구성됨 | Branch 대시보드에서 라우팅 규칙을 확인하세요 |
| 푸시에서는 작동하지만 이메일에서는 작동하지 않음 | 클릭 추적 도메인에 AASA가 누락됨 | 이메일 서비스 공급자의 클릭 추적 도메인에 AASA를 호스팅하세요. 이메일 설정 참조 |
Branch 링크에 대해 shouldOpenURL이 실행되지 않음 |
forwardUniversalLinks가 활성화되지 않음 |
configuration.forwardUniversalLinks = true로 설정하세요 |
| 메모에서는 작동하지만 Braze에서는 작동하지 않음 | BrazeDelegate가 Branch URL에 대해 true를 반환함 |
shouldOpenURL의 도메인 확인이 Branch 도메인과 일치하는지 확인하세요 |
더 많은 딥링킹 문제 해결 시나리오는 딥링킹 문제 해결을 참조하세요.