adjust-icon

다이렉트 딥링크 설정

Adjust 대시보드에서 딥링크가 설정되면 앱에서 딥링크를 구성할 수 있습니다. 다이렉트 딥링크 는 사용자가 이미 기기에 앱을 설치한 경우에 작동하며, 사용자를 앱 내 특정 페이지로 이동시킵니다.

딥링크를 활성화하려면 다음을 수행해야 합니다.

  • 앱의 Associated Domains 활성화
  • Xcode에서 딥링크 구성

Enable Associated Domains

Apple 개발자 계정에서 Associated Domains를 활성화해야, 앱에서 유니버설 링크 도메인을 설정할 수 있습니다. 이를 위해 다음의 단계를 수행하시기 바랍니다.

  1. Apple 개발자 계정에 로그인합니다.
  2. 왼쪽 메뉴에서 Certificates, IDs & Profiles 를 선택합니다.
  3. 왼쪽 메뉴에서 Identifiers 를 선택합니다.
  4. 앱을 찾은 뒤 선택하여 편집 페이지를 실행합니다.
  5. Associated DomainsCapabilities 아래에 체크 표시되어있는지 확인합니다.
  6. Save 를 선택하여 변경 내용을 저장합니다.

다음의 단계를 수행하여 Xcode 프로젝트에 딥링크 구성을 추가하시기 바랍니다.

  1. Xcode에서 앱 프로젝트를 실행합니다.
  2. 왼쪽 메뉴에서 프로젝트를 선택합니다.
  3. Targets 에서 앱을 선택합니다.
  4. 상단 메뉴에서 Signing & Capabilities 를 선택합니다.
  5. 아래 하위 메뉴에 All 이 선택되어 있는지 확인합니다.
  6. Add 옵션( + )을 선택하여 기능을 추가합니다.
  7. Associated Domains 를 선택합니다.
  8. 접두어와 함께 Adjust 유니버설 링크 도메인을 입력합니다. applinks:
    • 다음은 example.adj.st 도메인을 사용한 예시입니다. applinks:example.adj.st

Custom URL scheme

  1. Xcode에서 앱 프로젝트를 실행합니다.
  2. 왼쪽 메뉴에서 프로젝트를 선택합니다.
  3. Targets 에서 앱을 선택합니다.
  4. 상단 메뉴에서 Info 를 선택합니다.
  5. URL Types 섹션을 펼쳐보기 합니다.
  6. Add 옵션( + )을 선택하여 URL 유형을 추가합니다.
  7. 다음의 정보를 입력하여 URL 스킴을 생성합니다.
    • 식별자 : $(PRODUCT_BUNDLE_IDENTIFIER)
    • URL 스킴 : 맞춤 URL 스킴. 반드시 고유해야 합니다. 다음과 같은 보안 스킴을 사용하지 마시기 바랍니다. http, https 또는 mailto
    • 역할 : 편집자

이 스킴은 프로덕션과 디버그 빌드 모두 에 작동합니다.

Modify your iOS app

다양한 딥링크 시나리오를 설정하려면 iOS 앱을 업데이트해야 합니다. 앱을 업데이트 하는 방식은 앱이 scene을 사용하는지 여부에 따라 달라집니다.

App doesn’t use scenes

앱이 scene을 사용하지 않는 경우, 앱 델리게이트에서 메서드를 업데이트해야 합니다.

Adjust SDK에서 다음의 메서드를 호출하기 위해 앱 델리게이트에서 application(_:continue:restorationHandler:) 메서드를 업데이트합니다.

  • ADJLinkResolution.resolveLink: Call this method only if your marketing team requires the use of Adjust’s Link Resolution solution. If the deep link uses a domain that matches an element in the resolveUrlSuffixArray, then the method attempts to resolve the deep link, and returns the resolved link. If the deep link doesn’t match an element in this array, then the method passes through the original deep link, so you can pass all deep links to this method.
  • Adjust.appWillOpen - 이 메서드를 호출하여 정보 기록을 위해 딥링크를 Adjust 서버로 전송합니다. Adjust 딥링크와 비 Adjust 딥링크 모두 이 메서드를 통해 전달할 수 있습니다. Adjust 서버는 Adjust 파라미터가 없는 딥링크를 모두 무시합니다.

사용자가 유니버설 링크를 클릭하면 iOS가 앱을 실행하고 딥링크를 application(_:continue:restorationHandler:)으로 전달합니다. 이는 사용자가 앱을 종료한 상태거나 앱이 백그라운드에서 실행 중인지와 관계없이 작동합니다.

Custom URL scheme

마케팅팀이 맞춤 URL 스킴 딥링크 설정을 원하는 경우, 앱 델리게이트에서 application(_:open:options:) 메서드를 업데이트하고 Adjust SDK에서 Adjust.appWillOpen 메서드를 호출합니다. 이 메서드는 딥링크를 Adjust 서버로 전송하여 이를 기록합니다. Adjust 딥링크와 비 Adjust 딥링크 모두 이 메서드를 통해 전달할 수 있습니다. Adjust 서버는 Adjust 파라미터가 없는 딥링크를 모두 무시합니다.

사용자가 맞춤 URL 스킴 딥링크를 클릭하면 iOS가 앱을 실행하고 딥링크를 application(_:open:options:)으로 전달합니다. 이는 사용자가 앱을 종료한 상태거나 앱이 백그라운드에서 실행 중인지와 관계없이 작동합니다.

App uses scenes

앱이 scene을 사용하는 경우, scene 델리게이트에서 메서드를 업데이트해야 합니다.

  1. scene 델리게이트에서 scene(_:willConnectTo:options:) 메서드를 업데이트합니다. 사용자가 유니버설 링크를 클릭하고 앱은 종료된 상태인 경우, iOS는 앱을 실행하고 딥링크를 이 메서드에 전달합니다.
  2. scene 델리게이트에서 scene(_:continue:) 메서드를 업데이트합니다. 사용자가 유니버설 링크를 클릭하고 앱이 백그라운드에서 실행 중인 경우, iOS는 앱을 실행하고 딥링크를 이 메서드에 전달합니다.

위 메서드는 Adjust SDK에서 다음의 메서드를 호출합니다.

  • ADJLinkResolution.resolveLink: Call this method only if your marketing team requires the use of Adjust’s Link Resolution solution. If the deep link uses a domain that matches an element in the resolveUrlSuffixArray, then the method attempts to resolve the deep link, and returns the resolved link. If the deep link doesn’t match an element in this array, then the method passes through the original deep link, so you can pass all deep links to this method.
  • Adjust.appWillOpen - 이 메서드를 호출하여 기록을 위해 딥링크를 Adjust 서버로 전송합니다. Adjust 딥링크와 비 Adjust 딥링크 모두 이 메서드를 통해 전달할 수 있습니다. Adjust 서버는 Adjust 파라미터가 없는 딥링크를 모두 무시합니다.

Custom URL scheme

  1. scene 델리게이트에서 scene(_:willConnectTo:options:) 메서드를 업데이트합니다. 사용자가 맞춤 URL 스킴 딥링크를 클릭하고 앱은 종료된 상태인 경우, iOS는 앱을 실행하고 딥링크를 이 메서드에 전달합니다.
  2. scene 델리게이트에서 scene(_:openURLContexts:) 메서드를 업데이트합니다. 사용자가 맞춤 URL 스킴 딥링크를 클릭하고 앱이 백그라운드에서 실행 중인 경우, iOS는 앱을 실행하고 딥링크를 이 메서드에 전달합니다.

위 메서드는 Adjust SDK에서 Adjust.appWillOpen 메서드를 호출합니다. 이 메서드는 딥링크를 Adjust 서버로 전송하여 이를 기록합니다. Adjust 딥링크와 비 Adjust 딥링크 모두 이 메서드를 통해 전달할 수 있습니다. Adjust 서버는 Adjust 파라미터가 없는 딥링크를 모두 무시합니다.