앱이 설치된 사용자가 Adjust 링크를 클릭하면 다이렉트 딥링킹을 통해 앱 내의 특정 콘텐츠로 바로 이동할 수 있습니다.
설정
iOS는 앱 구현에 따라 다이렉트 딥링크를 수신하는 몇 가지 메서드를 제공합니다. 이러한 메서드에 따라 다음 메서드 중 하나를 사용하여 Adjust SDK에 딥링크를 전달할 수 있습니다.
딥링크 처리 및 확인(권장)
processAndResolve(_:withCompletionHandler:)
메서드를 사용하여 다음 작업을 수행합니다.
- 딥링크 클릭에서 어트리뷰션 기록
- 짧은 브랜드 링크를 해당 긴 브랜드 링크로 변환
- 다른 모든 링크를 그대로 전달
앱은 해결된 링크를 분석하여 적절한 화면으로 이동함으로써 처리할 수 있습니다. Adjust의 긴 브랜드 링크, 기타 유니버설 링크, 앱 스킴 딥링크를 포함한 모든 딥링크에 이 메서드를 사용할 수 있습니다.
+ (void)processAndResolveDeeplink:(nonnull ADJDeeplink *)deeplink withCompletionHandler:(nonnull ADJResolvedDeeplinkBlock)completion;
딥링크 처리(레거시)
Adjust SDK에는 짧은 브랜드 링크를 사용하지 않는 경우 딥링크 클릭에서 어트리뷰션을 기록할 수 있는 processDeeplink(_:)
메서드가 있습니다.
+ (void)processDeeplink:(ADJDeeplink *)deeplink;
그러나 processAndResolve(_:withCompletionHandler:)
메서드는 이 레거시 메서드의 기능을 대체하므로, 이 새로운 메서드를 사용하는 것이 권장됩니다.
중요 구현 참고 사항
다음 딥링크 처리 모범 사례를 따르세요.
-
링크 처리 요구사항
-
귀하의 앱은 Adjust 브랜드 링크(
brandname.go.link
)와 유니버설 링크(example.com
)를 동일하게 처리해야 합니다. 앱에서 도메인 허용 리스트를 사용하는 경우 Adjust 브랜드 도메인이 포함되어 있는지 확인하세요. 예를 들어, 다음 두 링크는 모두 동일한 화면으로 이동해야 합니다.- Adjust 브랜드 링크:
https://brandname.go.link/summer-clothes?promo=beach
- 유니버설 링크:
https://example.com/summer-clothes?promo=beach
- Adjust 브랜드 링크:
-
귀하의 앱은 Adjust 브랜드 링크와 앱 스킴 딥링크를 동일하게 처리해야 합니다. iOS가 유니버설 링크를 지원하지 않는 경우, Adjust는 이를 해당 앱 스킴 형식으로 변환합니다. 예를 들어, 다음 두 링크는 모두 동일한 화면으로 이동해야 합니다.
- Adjust 브랜드 링크:
https://brandname.go.link/summer-clothes?promo=beach
- 앱 스킴 딥링크:
example://summer-clothes?promo=beach
- Adjust 브랜드 링크:
-
-
앱 상태 고려사항
- 앱이 어떤 상태에서든(‘실행 중이 아님’, 백그라운드, 또는 해당되는 경우 포그라운드) 링크를 올바르게 처리하는지 확인하세요.
- 사용자가 아직 인증되지 않은 경우와 같이 즉시 처리할 수 없는 경우 딥링크를 저장했다가 앱이 탐색할 준비가 되면 처리하는 것을 고려하세요.
-
인앱 탐색
- 앱이
UIApplication.open(_:options:completionHandler:)
또는 SwiftUI의openURL
을 호출하여 자체 유니버설 링크를 열려고 할 때, iOS는 이를 앱이 아닌 Safari에서 엽니다. 이러한 메서드를 내부 탐색을 위해 사용하려면 앱 스킴 딥링크만 전달할 수 있습니다. 또는 앱 내에 유니버설 링크를 배치하고 딥링크 처리 로직을 사용하여 이를 파싱하고 적절한 화면으로 이동할 수 있습니다.
- 앱이
구현
앱의 구조에 맞는 구현을 사용하세요.
- AppDelegate 라이프사이클을 사용하는 UIKit 앱
- SceneDelegate 라이프사이클을 사용하는 UIKit 앱
- AppDelegate 라이프사이클을 사용하는 SwiftUI 앱
- SceneDelegate 라이프사이클을 사용하는 SwiftUI 앱
AppDelegate 라이프사이클을 사용하는 UIKit 앱
iOS 다이렉트 딥링킹 메서드를 구현하려면 AppDelegate를 업데이트하세요.
SceneDelegate 라이프사이클을 사용하는 UIKit 앱
iOS 다이렉트 딥링킹 메서드를 구현하려면 SceneDelegate를 업데이트하세요.
AppDelegate 라이프사이클을 사용하는 SwiftUI 앱
아직 만들지 않았다면 아래 App.swift
파일 예시와 같이 프로젝트의 기본 디렉터리에 AppDelegate.swift
파일을 만들고 기본 애플리케이션 파일에서 이 파일을 참조하세요. 이는 앱 라이프사이클 이벤트 및 Adjust SDK 연동을 처리하는 데 필요합니다. 또한 앱이 설치되면 유니버설 링크와 앱 스킴 딥링크를 수신하는 onOpenURL
SwiftUI 수정자를 구현하세요.
SceneDelegate 라이프사이클을 사용하는 SwiftUI 앱
AppDelegate 라이프사이클을 사용하는 SwiftUI 앱 섹션의 지침을 따르세요. onOpenURL
SwiftUI 수정자는 앱이 설치된 상태에서 링크가 백그라운드 또는 포그라운드 상태에서 앱을 열 때 유니버설 링크와 앱 스킴 딥링크를 수신합니다.
또한 SceneDelegate 라이프사이클을 사용하는 UIKit 앱 섹션에서 scene(_:willConnectTo:options:)
메서드를 구현합니다. 이 메서드는 앱이 설치되어 있고 링크가 ‘실행되지 않는’ 상태에서 앱을 열 때 유니버설 링크 및 앱 스킴 딥링크를 수신합니다.