딥링크 테스트

마케팅팀이 캠페인에서 딥링크를 라이브로 사용하기 전에, 우선 딥링크를 테스트해야 합니다. 테스트를 통해 다음을 확인할 수 있습니다.

  • 딥링크가 올바르게 설정되었는지 확인
  • 딥링크가 의도된 콘텐츠로 사용자를 보내는지 확인
  • Adjust가 딥링크 캠페인을 측정 중인지 확인

시작에 앞서

시작에 앞서 다음을 수행하시기 바랍니다.

  • Adjust SDK 환경sandbox 로 설정하고, 로그 레벨을 verbose 로 설정합니다.
  • Xcode에서 앱을 빌드하고 실행합니다.
  • 마케팅팀에서 예시 딥링크를 받습니다.
    • 예: https://example.com/summer-clothes?promo=beach

테스트 링크 생성

딥링크 구현을 테스트하려면 테스트 링크를 생성해야 합니다. 다음을 수행하시기 바랍니다.

  1. Adjust suite 에 로그인합니다.

  2. Campaign Lab 에서 커스텀 링크 를 선택합니다.

  3. 새 링크 를 선택합니다.

  4. 앱 선택 화면에서 링크를 생성하고자 하는 앱을 선택합니다.

  5. 링크 구조 화면에서 최상위 채널 링크의 이름을 추가합니다. 원하는 경우, 캠페인, 광고그룹, 크리에이티브 하위 레벨을 추가하여 링크 구조를 설정할 수 있습니다.

  6. 사용자 이동 위치 화면에서 링크에 추가할 딥링크에 대한 다음 정보를 입력합니다.

    • iOS 앱 스킴
    • iOS 앱 화면
  7. 어트리뷰션 설정 화면의 신규 사용자:어트리뷰션 > 클릭 에서 g확률론적 모델링ON 으로 설정합니다.

  8. 링크 검토 화면에서 선택 사항을 검토하고, 필요한 경우 변경합니다.

  9. 링크 생성 을 선택하여 클릭 URL, QR 코드 및 링크 토큰을 생성합니다.

예: https://example.go.link/summer-clothes?promo=beach&adj_t=abc123

다이렉트 딥링크 테스트

다음의 유니버설 링크 구성을 테스트할 수 있습니다.

  • Adjust 유니버설 링크
  • 이메일 리다이렉트 및 URL 단축 유니버설 링크

유니버설 링크 도메인 구성 확인

중요:
유니버설 링크를 브라우저에 직접 입력한 경우, iOS는 유니버설 링크를 딥링크로 실행하지 않습니다. 유니버설 링크는 하이퍼링크로써 클릭해야 합니다.

유니버설 링크 도메인 구성을 확인하려면 다음의 단계를 수행하시기 바랍니다.

  1. iOS 테스트 기기의 Apple Notes에 유니버설 링크를 붙여넣기 합니다.
  2. Apple Notes에서 유니버설 링크를 길게 눌러 iOS 메뉴를 실행합니다. 앱에서 열기 옵션 이 표시되는 경우, iOS가 앱과 도메인을 성공적으로 연결할 수 있다는 것을 의미합니다.

해당 옵션이 표시되지 않는 경우 다음의 문제가 있는지 확인하시기 바랍니다.

Adjust 유니버설 링크

이메일 리다이렉트 및 URL 단축 유니버설 링크

앱에서 다이렉트 딥링크 테스트

앱이 종료되었을 때와 테스트 기기의 백그라운드에서 실행될 때 모두 다이렉트 딥링크를 테스트해야 합니다.

앱이 종료된 경우

  1. 유니버설 링크를 Apple Notes에 복사 및 붙여넣기 합니다.
  2. 홈 버튼을 두 번 탭 합니다. 앱이 실행되면 위로 스와이프하여 앱을 종료합니다.
  3. Apple Notes 를 실행합니다.
  4. 유니버설 링크를 클릭합니다.

이 경우, 앱이 실행되고 딥링크 내용이 표시되어야 합니다. 앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.

  • 딥링크의 경로 또는 파라미터가 올바른지 확인합니다. & 심볼 대신 ? 심볼을 두 번 사용했는지 확인합니다.

  • 다음의 메서드를 통해 앱이 딥링크를 적절하게 처리하는지 확인합니다.

    • 앱이 scene을 사용하지 않음 - application(_:continue:restorationHandler:) 메서드
    • 앱이 scene을 사용함 - scene(_:continue:) 메서드
  • 코드의 다른 내용이 딥링크의 작동을 방해하는지 확인합니다.

  • 유니버설 링크에 리다이렉트를 설정한 경우, 리다이렉트를 올바르게 구성했는지 확인합니다.

  • 링크 해석 메서드가 올바르게 구성되었는지 확인합니다. 이메일 리다이렉트 도메인 또는 URL 단축 도메인을 resolveUrlSuffixArray 에 추가했는지 확인합니다.

딥링크를 선택한 후 앱은 Adjust SDK에서 appWillOpen 메서드를 호출하고, Xcode 로그에 다음과 유사한 항목이 표시되어야 합니다.

2022-09-28 09:19:30.873598+0900 example[1619:241845]  [Adjust]d: Added sdk_click 1
2022-09-28 09:19:30.873782+0900 example[1619:241845]  [Adjust]v: Path:      /sdk_click
2022-09-28 09:19:30.873806+0900 example[1619:241845]  [Adjust]v: ClientSdk: ios4.32.1
2022-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   deeplink

Xcode 로그에 이러한 입력 내용이 없는 경우, 다음을 확인하시기 바랍니다.

  • Adjust SDK에서 환경을 sandbox 로, 로깅을 verbose 로 설정했습니다.

    • Verbose 로깅은 Xcode 로그에서 [Adjust]v 로 표시됩니다.
  • 앱은 딥링크를 수신한 메서드에서 appWillOpen 메서드를 호출합니다.

앱이 백그라운드에서 실행 중인 경우

  1. 유니버설 링크를 Apple Notes에 복사 및 붙여넣기 합니다.
  2. 홈 버튼을 탭 합니다.
  3. 앱 아이콘을 통해 앱을 실행합니다.
  4. 홈 버튼을 두 번 탭하고 Apple Notes 를 실행합니다.
  5. 유니버설 링크를 클릭합니다.

이 경우 앱이 딥링크 내용을 표시해야 합니다. 앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.

  • 다음의 메서드를 통해 앱이 딥링크를 적절하게 처리하는지 확인합니다.
    • 앱이 scene을 사용하지 않음 - application(_:continue:restorationHandler:) 메서드
    • 앱이 scene을 사용함 - scene(_:continue:) 메서드

딥링크를 선택한 후 앱은 Adjust SDK에서 appWillOpen 메서드를 호출하고, Xcode 로그에 다음과 유사한 항목이 표시되어야 합니다.

2022-09-28 09:19:30.873598+0900 example[1619:241845]  [Adjust]d: Added sdk_click 1
2022-09-28 09:19:30.873782+0900 example[1619:241845]  [Adjust]v: Path:      /sdk_click
2022-09-28 09:19:30.873806+0900 example[1619:241845]  [Adjust]v: ClientSdk: ios4.32.1
2022-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   deeplink

Xcode 로그에 이러한 입력 내용이 없는 경우, 다음을 확인하시기 바랍니다.

  • Adjust SDK에서 환경을 sandbox 로, 로깅을 verbose 로 설정했습니다.

    • Verbose 로깅은 Xcode 로그에서 [Adjust]v 로 표시됩니다.
  • 앱은 딥링크를 수신한 메서드에서 appWillOpen 메서드를 호출합니다.

커스텀 URL 스킴을 가진 다이렉트 딥링크 테스트

테스트 기기에서 앱이 종료되었을 때와 백그라운드에서 실행 중인 경우 모두에 대해 커스텀 URL 스킴 다이렉트 딥링크를 테스트할 수 있습니다.

Apple Notes에서 유니버설 링크를 선택할 때, 앱이 실행되고 딥링크 내용이 표시되어야 합니다.

앱이 실행되지 않는 경우, 다음을 확인하시기 바랍니다.

  • Xcode에서 URL 스킴이 올바르게 구성되었는지 확인합니다.
  • 앱의 디버그 빌드를 테스트하는 경우, 디버그 또는 릴리즈 커스텀 URL 스킴을 사용하는지 확인합니다.

앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.

  • 딥링크의 경로 또는 파라미터가 올바른지 확인합니다. & 심볼 대신 ? 심볼을 두 번 사용했는지 확인합니다.

  • 다음의 메서드를 통해 앱이 딥링크를 적절하게 처리하는지 확인합니다.

    • 앱이 scene을 사용하지 않음 - application(_:continue:restorationHandler:) 메서드
    • 앱이 scene을 사용함 - scene(_:continue:) 메서드
  • 코드의 다른 내용이 딥링크의 작동을 방해하는지 확인합니다.

딥링크를 선택한 후 앱은 Adjust SDK에서 appWillOpen 메서드를 호출하고, Xcode 로그에 다음과 유사한 항목이 표시되어야 합니다.

2022-09-28 09:19:30.873598+0900 example[1619:241845]  [Adjust]d: Added sdk_click 1
2022-09-28 09:19:30.873782+0900 example[1619:241845]  [Adjust]v: Path:      /sdk_click
2022-09-28 09:19:30.873806+0900 example[1619:241845]  [Adjust]v: ClientSdk: ios4.32.1
2022-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   deeplink

Xcode 로그에 이러한 입력 내용이 없는 경우, 다음을 확인하시기 바랍니다.

  • Adjust SDK에서 환경을 sandbox 로, 로깅을 verbose 로 설정했습니다.

    • Verbose 로깅은 Xcode 로그에서 [Adjust]v 로 표시됩니다.
  • 앱은 딥링크를 수신한 메서드에서 appWillOpen 메서드를 호출합니다.

디퍼드 딥링크 테스트

테스트 기기에서 디퍼드 딥링크를 테스트하려면 다음의 단계를 수행하시기 바랍니다.

  1. 앱을 설치합니다.
  2. Xcode 로그에서 Adjust device identifier (ADID)를 조회합니다. 예시:
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"}}
  1. 테스팅 콘솔 을 열고, Adjust ADID 를 입력한 뒤, 디바이스 데이터 보기 를 선택합니다. TrackerNameOrganic 로 나타나야 합니다.

    • Organic으로 표시되지 않는 경우, 다음의 단계를 반복하시기 바랍니다.
    1. 앱을 삭제합니다.
    2. 테스트용 콘솔에서 '기기 삭제'를 선택합니다.
    3. 앱을 설치합니다.
  2. 앱을 삭제합니다.

  3. 테스트용 콘솔에서 기기를 삭제합니다.

  4. Apple Notes에 유니버설 링크 또는 커스텀 URL 스킴 딥링크를 붙여넣기 합니다.

  5. 딥링크를 클릭합니다. App Store로 리다이렉트가 작동해야 합니다.

  6. 로컬 빌드로부터 앱을 설치합니다. (스토어를 통한 설치 X)

  7. 앱을 실행합니다. 이때, 앱이 실행되고 딥링크 내용이 표시되어야 합니다.

앱에서 올바른 페이지가 표시되지 않는다면 다음을 확인하시기 바랍니다.

  • 코드의 다른 내용이 딥링크를 방해하는지 확인합니다. 예: 앱에 온보딩 화면이 있거나 사용자 로그인이 필요하지만, 앱이 딥링크를 열기 전에 이를 처리하지 않는 경우입니다. 딥링크를 처리하기 전에 온보딩 화면이나 사용자 로그인을 처리하기 위해 adjustDeeplinkResponse 메서드를 구현해야 할 수 있습니다.

  • 앱 코드가 adjustDeeplinkResponse 메서드에서 수신되는 딥링크를 올바르게 처리하지 않습니다.

  • Adjust는 설치를 클릭에 어트리뷰션하지 않습니다. 테스팅 콘솔에서 기기 데이터 보기 를 선택합니다. TrackerName 필드에 테스트 링크가 표시되어야 합니다. 테스트를 시작하기 전에 다음을 확인하시기 바랍니다.

    • 테스트 링크에서 확률론적 모델링이 활성화되었습니다.
    • 테스팅 콘솔에서 TrackerNameOrganic 로 설정되었습니다.
  • 링크 형식을 확인하시기 바랍니다. 유니버설 링크의 경우 다음과 같은 링크를 사용할 수 있습니다: https://example.go.link/summer-clothes?promo=beach&adj_t=abc123

    • 커스텀 URL 스킴 딥링크의 경우 Adjust 링크 URL 을 생성해야 합니다. 딥링크 설정 방법을 참조하시기 바랍니다.