마케팅팀이 캠페인에서 딥링크를 라이브로 사용하기 전에, 우선 딥링크를 테스트해야 합니다. 테스트를 통해 다음을 확인할 수 있습니다.
- 딥링크가 올바르게 설정되었습니다.
- 딥링크가 의도된 콘텐츠로 사용자를 보내는지 확인
- Adjust가 딥링크를 기록하고 있습니다.
시작에 앞서
시작에 앞서 다음을 수행하시기 바랍니다.
-
앱 환경을
ADJEnvironmentSandbox로 설정하고 로그 레벨을ADJLogLevelVerbose로 설정합니다. -
Xcode에서 앱을 빌드하고 실행합니다.
-
마케팅팀에서 예시 딥링크를 받습니다.
예시:
https://example.go.link/summer-clothes?promo=beach
테스트 링크 생성
딥링크 구현을 테스트하려면 테스트 링크를 생성해야 합니다. 이를 위해 다음을 수행하시기 바랍니다.
-
Adjust Suite에 로그인합니다.
-
Campaign Lab 에서 커스텀 링크 를 선택합니다.
-
새 링크 를 선택합니다.
-
앱 선택 화면에서 링크를 생성하고자 하는 앱을 선택합니다.
-
링크 구조 화면에서 최상위 채널 링크의 이름을 추가합니다. 원하는 경우, 캠페인, 광고그룹, 크리에이티브 하위 레벨을 추가하여 링크 구조를 설정할 수 있습니다.
-
사용자 이동 위치 화면에서 링크에 추가할 딥링크에 대한 다음 정보를 입력합니다.
- iOS 앱 스킴
- iOS 앱 화면
-
어트리뷰션 설정 화면의 신규 사용자:어트리뷰션 —> 클릭 에서 확률론적 어트리뷰션 을 ON 으로 설정하시기 바랍니다.
-
링크 검토 화면에서 선택한 내용을 재확인하고, 필요한 경우 추가 변경을 수행합니다.
-
링크 생성 을 선택하여 클릭 URL, QR 코드 및 링크 토큰을 생성합니다.
예시: https://example.go.link/summer-clothes?promo=beach&adj_t=abc123
다이렉트 딥링크 테스트
다음의 유니버설 링크 구성을 테스트할 수 있습니다.
- Adjust 유니버설 링크
- 이메일 리다이렉트 및 URL 단축 유니버설 링크
유니버설 링크 도메인 구성 확인
유니버설 링크 도메인 구성을 확인하려면 다음의 단계를 수행하시기 바랍니다.
- iOS 테스트 기기의 Apple Notes에 유니버설 링크를 붙여넣기 합니다.
- Apple Notes에서 유니버설 링크를 길게 눌러 iOS 메뉴를 실행합니다. 앱에서 열기 옵션이 표시되는 경우, iOS가 앱과 도메인을 연결할 수 있다는 것을 의미합니다.
해당 옵션이 표시되지 않는 경우 다음의 문제가 있는지 확인하시기 바랍니다.
Adjust 유니버설 링크
-
마케팅팀이 Adjust 대시보드에서 Adjust 유니버설 링크를 활성화했는지 확인합니다.
-
Xcode의 Associated Domains 구성을 확인합니다.
applinks: prefix가 표시되어야 합니다.- Xcode의 도메인이 Adjust 유니버셜 링크 도메인 또는 Adjust 대시보드의 브랜드 링크 와 일치해야 합니다. 다른 빌드를 테스트하는 경우(예: 디버그와 릴리스 비교), 모든 빌드에 Adjust 유니버셜 링크 도메인 또는 브랜드 링크를 추가할 수 있습니다.
-
앱에서 다음의 값이 Adjust 대시보드에서의 값과 일치하는지 확인합니다.
- 앱 ID 접두사
- 번들 ID : 사용 중인 번들 ID가 디버그 빌드인지 릴리즈 빌드인지 확인합니다.
이메일 리다이렉트 및 URL 단축 유니버설 링크
-
Xcode의 Associated Domains 구성을 확인합니다.
applinks: prefix가 표시되어야 합니다.- Xcode의 도메인은 파트너 시스템에서 구성된 이메일 리다이렉트 도메인 또는 URl 단축 도메인과 일치해야 합니다.
-
앱에서 다음의 값이 파트너 시스템의 이메일 리다이렉트 도메인 또는 URL 단축 도메인에 대한 AASA(Apple-App-Site-Association) 파일에서의 값과 일치하는지 확인합니다.
- 앱 ID 접두사
- 번들 ID : 사용 중인 번들 ID가 디버그 빌드인지 릴리즈 빌드인지 확인합니다.
- 이메일 리다이렉트 도메인 / URL 단축(shortener) 도메인 - 이메일 파트너의 시스템에서 도메인을 커스텀 도메인으로 구성했는지 확인합니다.
앱에서 다이렉트 딥링크 테스트
앱이 종료되었을 때와 테스트 기기의 백그라운드에서 실행될 때 모두 다이렉트 딥링크를 테스트해야 합니다.
앱이 종료된 경우
- 유니버설 링크를 Apple Notes에 복사 및 붙여넣기 합니다.
- 홈 버튼을 두 번 탭 합니다. 앱이 실행되면 위로 스와이프하여 앱을 종료합니다.
- Apple Notes 실행
- 유니버설 링크를 클릭합니다.
이 경우, 앱이 실행되고 딥링크 내용이 표시되어야 합니다. 앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.
-
딥링크의 경로 또는 파라미터가 올바른지 확인합니다.
&심볼 대신?심볼을 두 번 사용했는지 확인합니다. -
다음의 메서드를 통해 앱이 딥링크를 처리하는지 확인합니다.
- 앱이 scenes를 사용하지 않는 경우 :
application(_:continue:restorationHandler:)메서드 - 앱이 scenes를 사용하는 경우 :
scene(_:continue:)메서드
- 앱이 scenes를 사용하지 않는 경우 :
-
코드의 다른 내용이 딥링크의 작동을 방해하는지 확인합니다.
-
유니버설 링크에 리다이렉트를 설정한 경우, 리다이렉트를 올바르게 구성했는지 확인합니다.
-
링크 해석(Link Resolution) 메서드를 올바르게 구성했는지 확인합니다. 이메일 리다이렉트 도메인 및 URL 단축 도메인을
resolveUrlSuffixArray에 추가했는지 확인합니다.
딥링크가 선택되면 앱은 Adjust SDK에서 appWillOpen 메서드를 호출하며, Xcode 로그에서 다음과 같은 입력 내용을 확인할 수 있어야 합니다.
2022-09-28 09:19:30.873598+0900 example[1619:241845] [Adjust]d: Added sdk_click 12022-09-28 09:19:30.873782+0900 example[1619:241845] [Adjust]v: Path: /sdk_click2022-09-28 09:19:30.873806+0900 example[1619:241845] [Adjust]v: ClientSdk: ios4.38.42022-09-28 09:19:30.873824+0900 example[1619:241845] [Adjust]v: Parameters:[...]2022-03-15 09:19:30.873956+0900 example[1619:241845] [Adjust]v: source deeplinkXcode 로그에 이러한 입력 내용이 없는 경우, 다음을 확인하시기 바랍니다.
-
Adjust SDK에서 환경을
sandbox, 로깅을verbose로 설정했는지 확인합니다.- Verbose 로깅은 Xcode 로그에서
[Adjust]v로 표시됩니다.
- Verbose 로깅은 Xcode 로그에서
-
앱이 딥링크를 수신한 메서드에서
appWillOpenUrl메서드를 호출하는지 확인합니다.
백그라운드에서 실행 중인 앱
- 유니버설 링크를 Apple Notes에 복사 및 붙여넣기 합니다.
- 홈 버튼을 탭 합니다.
- 앱 아이콘을 통해 앱을 실행합니다.
- 홈 버튼을 두 번 탭하고 Apple Notes를 실행합니다.
- 유니버설 링크를 클릭합니다.
이 경우 앱이 딥링크 내용을 표시해야 합니다. 앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.
- 다음의 메서드를 통해 앱이 딥링크를 처리하는지 확인합니다.
- 앱이 scenes를 사용하지 않는 경우 :
application(_:continue:restorationHandler:)메서드 - 앱이 scenes를 사용하는 경우 :
scene(_:continue:)메서드
- 앱이 scenes를 사용하지 않는 경우 :
딥링크가 선택되면 앱은 Adjust SDK에서 appWillOpenUrl 메서드를 호출하며, Xcode 로그에서 다음과 같은 입력 내용을 확인할 수 있어야 합니다.
2022-09-28 09:19:30.873598+0900 example[1619:241845] [Adjust]d: Added sdk_click 12022-09-28 09:19:30.873782+0900 example[1619:241845] [Adjust]v: Path: /sdk_click2022-09-28 09:19:30.873806+0900 example[1619:241845] [Adjust]v: ClientSdk: ios4.38.42022-09-28 09:19:30.873824+0900 example[1619:241845] [Adjust]v: Parameters:[...]2022-03-15 09:19:30.873956+0900 example[1619:241845] [Adjust]v: source deeplinkXcode 로그에 이러한 입력 내용이 없는 경우, 다음을 확인하시기 바랍니다.
-
Adjust SDK에서 환경을
ADJEnvironmentSandbox, 로깅을ADJLogLevelVerbose로 설정했는지 확인합니다.- Verbose 로깅은 Xcode 로그에서
[Adjust]v로 표시됩니다.
- Verbose 로깅은 Xcode 로그에서
-
앱이 딥링크를 수신한 메서드에서
appWillOpenUrl메서드를 호출하는지 확인합니다.
커스텀 URL 스킴을 가진 다이렉트 딥링크 테스트
테스트 기기에서 앱이 종료되었을 때와 백그라운드에서 실행 중인 경우 모두에 대해 커스텀 URL 스킴 다이렉트 딥링크를 테스트할 수 있습니다.
Apple Notes에서 유니버설 링크를 선택할 때, 앱이 실행되고 딥링크 내용이 표시되어야 합니다.
앱이 실행되지 않는다면, 다음을 확인하시기 바랍니다.
- Xcode에서 URL 스킴이 올바르게 구성되었는지 확인합니다.
- 앱의 디버그 빌드를 테스트하는 경우, 디버그 또는 릴리즈 커스텀 URL 스킴을 사용하는지 여부를 확인합니다.
앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.
-
딥링크의 경로 또는 파라미터가 올바른지 확인합니다.
&심볼 대신?심볼을 두 번 사용했는지 확인합니다. -
다음의 메서드를 통해 앱이 딥링크를 처리하는지 확인합니다.
- 앱이 scenes를 사용하지 않는 경우 :
application(_:continue:restorationHandler:)메서드 - 앱이 scenes를 사용하는 경우 :
scene(_:continue:)메서드
- 앱이 scenes를 사용하지 않는 경우 :
-
코드의 다른 내용이 딥링크의 작동을 방해하는지 확인합니다.
딥링크가 선택되면 앱은 Adjust SDK에서 appWillOpenUrl 메서드를 호출하며, Xcode 로그에서 다음과 같은 입력 내용을 확인할 수 있어야 합니다.
2022-09-28 09:19:30.873598+0900 example[1619:241845] [Adjust]d: Added sdk_click 12022-09-28 09:19:30.873782+0900 example[1619:241845] [Adjust]v: Path: /sdk_click2022-09-28 09:19:30.873806+0900 example[1619:241845] [Adjust]v: ClientSdk: ios4.38.42022-09-28 09:19:30.873824+0900 example[1619:241845] [Adjust]v: Parameters:[...]2022-03-15 09:19:30.873956+0900 example[1619:241845] [Adjust]v: source deeplinkXcode 로그에 이러한 입력 내용이 없는 경우, 다음을 확인하시기 바랍니다.
-
Adjust SDK에서 환경을
ADJEnvironmentSandbox, 로깅을ADJLogLevelVerbose로 설정했는지 확인합니다.- Verbose 로깅은 Xcode 로그에서
[Adjust]v로 표시됩니다.
- Verbose 로깅은 Xcode 로그에서
-
앱이 딥링크를 수신한 메서드에서
appWillOpenUrl메서드를 호출하는지 확인합니다.
디퍼드 딥링크 테스트
테스트 기기에서 디퍼드 딥링크를 테스트하려면 다음의 단계를 수행하시기 바랍니다.
-
앱을 설치합니다.
-
Xcode 로그에서 ADID(Adjust device identifier)를 조회합니다. 예시: 예시:
2022-09-28 09:19:35.609913+0900 example[1619:241847] [Adjust]v: Response: {"app_token":"2eb2na2w54c3","adid":"4446ab34861b99b78ee374c3bd38a350","timestamp":"2022-09-28T00:19:35.841Z+0000","message":"Attribution found","attribution":{"tracker_token":"abc123","tracker_name":"Organic","network":"Organic"}} -
앱을 삭제합니다.
-
테스트용 콘솔을 열고, Adjust ADID를 입력한 뒤 기기 데이터 보기 를 선택합니다.
TrackerName이Organic으로 표시되어야 합니다. -
테스팅 콘솔에서 기기를 삭제합니다.
-
Apple Notes에 유니버설 링크 또는 커스텀 URL 스킴 딥링크를 붙여넣기 합니다.
-
딥링크를 선택합니다. App Store로 리다이렉트가 작동해야 합니다.
-
로컬 빌드로부터 앱을 설치합니다. (스토어를 통해 앱을 설치하지 마세요.)
-
앱을 실행합니다. 이때, 앱이 실행되고 딥링크 내용이 표시되어야 합니다.
앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.
- 코드의 다른 내용이 딥링크의 작동을 방해하는지 확인합니다. 예: 앱에 온보딩 화면이 있고 사용자 로그인이 필요하지만, 앱이 딥링크를 실행하기 전에 이를 처리하지 않는 경우,
adjustDeeplinkResponse메서드를 구현하여 딥링크 처리 전 온보딩 화면이나 사용자 로그인을 처리하도록 해야 할 수 있습니다. - 앱 코드가
adjustDeeplinkResponse메서드에서 수신되는 딥링크를 처리하지 않습니다. - Adjust는 설치를 클릭에 어트리뷰션하지 않습니다. 테스팅 콘솔에서 기기 데이터 보기 를 선택합니다.
TrackerName필드에 테스트 링크가 표시되어야 합니다. 테스트를 시작하기 전에 다음을 확인하시기 바랍니다.- 확률론적 매칭이 테스트 링크에서 활성화되어 있는지 확인합니다.
- 테스트용 콘솔에서
TrackerName이Organic으로 설정되어 있는지 확인합니다.