adjust-icon

링크 해석(resolution)

이메일, SMS, QR 코드 또는 링크 단축 플랫폼을 통한 딥링킹의 경우, 링크 해석(link resolution)을 설정해야 합니다. 링크 해석이 없다면, 유니버설 링크에 의한 리다이렉트가 모든 사용자(앱 설치 사용자 포함)를 앱 스토어로 이동시키게 됩니다. 링크 해석이 설정되면 유니버설 링크로의 리다이렉트가 앱 내에서 작동하여, 기존 사용자는 앱 스토어로 이동되지 않습니다.

작동 방식

앱을 설치한 사용자가 리다이렉트 URL을 클릭하는 경우에만 링크 해석이 필요하며, 리다이렉트 URL의 도메인을 앱에서의 유니버설 링크 도메인으로써 구성해야 합니다.

링크 해석은 다음과 같이 작동합니다.

  1. 기존 사용자가 리다이렉트 링크를 클릭하면, iOS가 앱을 실행합니다.

  2. 앱은 리다이렉트 URL을 Adjust SDK의 resolveLinkWithUrl 링크 해석 메서드에 전달합니다.

  3. Adjust SDK의 링크 해석 메서드는 리다이렉트 URL의 도메인을 개발자가 Adjust SDK에서 설정한 링크 해석 도메인과 비교하고, 다음 중 하나의 결과가 발생합니다.

    • 도메인이 일치하지 않음 - 메서드가 딥링크 URL을 그대로 전달합니다.
    • 도메인이 일치함 - 메서드가 링크를 해석하고, 결과 딥링크를 반환합니다.

    Adjust SDK는 URL을 해석하려고 시도할 때 최대 10개의 리다이렉트를 따릅니다. 10개 이상의 리다이렉트가 있는 경우 SDK는 10번째 리다이렉트 URL을 반환합니다.

  4. 앱은 반환된 URL을 수신하고, 딥링크 내용을 실행하여 사용자에게 표시합니다. 앱은 또한 Adjust SDK에서 appWillOpenUrl 메서드를 반환된 URL과 함께 호출합니다. 이는 해석된 URL을 기록을 위해 Adjust 서버로 전송합니다.

사용 사례

링크 해석은 다음에 적용될 수 있습니다.

이메일 마케팅

이메일 마케터가 캠페인을 진행할 때, 이메일 마케팅 플랫폼은 일반적으로 자체 클릭 측정 리다이렉트 URL을 사용하여 이메일의 모든 링크를 래핑합니다. 이를 통해 이메일 마케터는 이메일 마케팅 플랫폼에서 클릭률 통계를 볼 수 있습니다. 하지만 이메일에 Adjust 유니버셜 링크가 포함된 경우, 리다이렉트 URL은 iOS가 Adjust 유니버셜 링크를 해석하는 것을 방해합니다.

  • 이메일 마케팅 플랫폼: 이메일 마케터가 캠페인 구축을 위해 사용하는 소프트웨어. 일반적으로 이메일 템플릿이나 오디언스 타겟팅과 같은 기능을 포함합니다. 예: Braze, Iterable, SendGrid
  • ESP(이메일 서비스 제공자): 이메일을 전송하고 ISP(인터넷 서비스 제공자) 이메일 서버로의 전달률을 관리하는 기저 인프라. 예: SendGrid, SparkPost
  • 이메일 파트너: 이메일 마케팅 플랫폼 또는 ESP(이메일 서비스 제공자)를 지칭하는 일반적인 용어. 이메일 파트너는 이메일 마케팅 플랫폼이나 ESP 또는 둘 다가 될 수 있습니다. 예: SendGrid는 이메일 마케팅 플랫폼이자 ESP입니다. 이메일 마케팅에서 ESP를 또다른 파트너로 이용할 수 있습니다. 예: Braze와 Iterable은 둘 다 SendGrid, SparkPost를 ESP로 이용합니다.

설정

  1. 도메인을 생성하거나, 이메일 측정에 사용될 도메인에 하위 도메인을 생성합니다. 이메일 측정에 사용할 도메인/하위 도메인이 이미 있는 경우, 기존의 캠페인에 대한 영향 없이 이 구현을 완료할 수 있도록 새로운 도메인/하위 도메인을 생성해야 합니다. 구현 과정이 완료되고 테스트 된 이후, 다시 이 구현을 기존 이메일 리다이렉트 도메인으로 전환할 수 있습니다.

    예시: email.example.com

  2. Xcode의 Associated Domains 구성에 이메일 리다이렉트 도메인을 추가합니다.

    예시: applinks:email.example.com

  3. 유니버설 링크를 설정합니다.

  4. 이메일 리다이렉트 도메인을 resolveLinkWithUrl 링크 해석 메서드의 resolveUrlSuffixArray에 추가했는지 확인합니다.

  5. 이메일 리다이렉트 도메인을 이메일 마케팅 플랫폼/ESP와의 맞춤 측정 도메인으로 구성합니다.

  6. Amazon CloudFront, CloudFlare, Fastly와 같은 콘텐츠 전송 네트워크(CDN)를 설정하여, 이메일 리다이렉트 도메인으로 수신되는 요청을 처리하도록 합니다. CDN에서는 다음을 설정해야 합니다.

    1. SSL 인증서 : iOS에서는 유니버설 링크가 HTTPS만 사용할 수 있습니다. 따라서 이메일 리다이렉트 도메인에 SSL 인증서가 필요합니다.
    2. AASA(Apple-App-Site-Association) 파일 : 이메일 파트너에 따라 AASA 파일을 직접 호스트하거나, AASA 파일을 이메일 파트너 시스템에 업로드해야 합니다. AASA 파일 호스트에 관한 정보는, 이메일 파트너의 관련 문서를 참조하시기 바랍니다.

    다음 Path에서 호스팅되는 유니버설 링크 AASA 파일을 다운로드할 수 있습니다. https://example.go.link/.well-known/apple-app-site-association 도메인을 유니버설 링크 도메인으로 바꾸시기 바랍니다. Adjust 유니버설 링크 AASA 파일을 복사하고, 이메일 리다이렉트 도메인 AASA 파일에 사용할 수 있습니다. 이메일 파트너가 자신의 AASA 파일을 호스팅하도록 요청하는 경우 CDN은 이메일 리다이렉트 도메인의 상응하는 Path에서 해당 파일을 제공해야 합니다. https://email.example.com/.well-known/apple-app-site-association 3. 이메일 리다이렉트 도메인(해당되는 경우 AASA 파일 제외)으로의 모든 요청을 이메일 파트너의 리다이렉트 서버로 전달합니다.

    예시: redirect.example.net

  7. 이메일 리다이렉트 도메인에 대해 DNS를 구성하여 CDN으로 전달되도록 합니다.

이메일 파트너 지원

링크 해석을 사용하려면 리다이렉트 도메인(또는 하위 도메인)을 유니버설 링크 도메인으로 설정할 수 있도록 이메일 파트너의 허용이 필요합니다. 이 경우, 이메일 파트너의 리다이렉션 서비스를 자체 맞춤 도메인으로 전달할 수 있습니다.

예시:

  • Braze: Braze가 할당된 ESP에 따라, SendGrid 또는 SparkPost에서 리다이렉트 도메인을 설정하고 커스텀 도메인을 지정합니다. 이후 커스텀 도메인을 유니버설 링크 도메인으로 설정할 수 있습니다.
  • Iterable: Iterable은 커스텀 도메인을 지원하는 URL 리다이렉트 서비스를 제공합니다.
  • Mailchimp: Mailchimp은 리다이렉트 도메인을 유니버설 링크로 구성하도록 허용하지 않기 때문에 링크 해석을 이용할 수 없습니다.

예시

  1. 이메일 마케터는 템플릿을 사용해 이메일을 빌드합니다. 템플릿은 링크 또는 유니버설 링크가 있는 이미지를 포함합니다.

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

  2. 이메일 마케터가 수신인에게 이메일을 발송합니다. 이메일이 발송되기 전, 이메일 마케팅 플랫폼은 유니버설 링크를 자체 리다이렉트 URL로 래핑합니다.

    예시: https://email.example.com/2wuTnQvU

  3. 앱을 설치한 사용자가 이메일의 리다이렉트 URL을 클릭합니다.

  4. iOS가 앱을 실행하고, 리다이렉트 URL을 앱에 전달합니다.

  5. 앱은 리다이렉트 URL을 Adjust SDK의 링크 해석 메서드에 전달합니다.

  6. Adjust SDK는 앱 내에서 리다이렉트 URL을 해석합니다.

    따라서 https://email.example.com/2wuTnQvU 은/는 https://example.go.link/summer-clothes?promo=beach&adj_t=abc123 으로 리다이렉트됩니다.

  7. 링크 해석 메서드는 해석된 URL을 반환합니다.

  8. 앱이 반환된 URL을 처리합니다. 이 경우 앱은 사용자에게 summer-clothes 페이지를 beach promo 모달과 함께 표시합니다.

  9. 앱은 Adjust SDK에서 appWillOpenUrl 메서드를 반환된 URL과 함께 호출합니다.

URL 단축하기

특정 유형의 캠페인의 경우, URL을 단축해야 할 때가 있습니다. 예를 들어, SMS에는 160자의 글자 수 제한이 있으며, 소비자들이 단축 링크를 Slack과 같은 협업툴에 공유하길 원할 수 있습니다. 하지만 단축 URL이 유니버셜 링크로 리다이렉트 될 경우, iOS는 Adjust 유니버셜 링크를 해석하지 못합니다.

설정

  1. 도메인을 생성하거나, URL 단축에 사용될 도메인에 하위 도메인을 생성합니다. 이미 URL 단축에 사용할 도메인/하위 도메인이 있는 경우, 기존의 캠페인에 대한 영향 없이 이 구현을 완료할 수 있도록 새로운 도메인/하위 도메인을 생성해야 합니다. 이 구현 과정이 완료되고 테스트되면, 이 구현을 기존 URL 단축 도메인으로 전환할 수 있습니다.

  2. Xcode의 Associated Domains 구성에 URL 단축 도메인을 추가합니다.

    예시: applinks:short.example.com

  3. 유니버설 링크를 설정합니다.

  4. 이메일 리다이렉트 도메인을 resolveLinkWithUrl 링크 해석 메서드의 resolveUrlSuffixArray에 추가했는지 확인합니다.

  5. 유니버설 링크를 지원하는 URL 단축 서비스를 설정합니다. Adjust는 URL 단축 서비스를 제공하지 않습니다.

    예: short.io

  6. URL 단축 도메인을 URL 단축 서비스의 맞춤 도메인으로 구성합니다. URL 단축 도메인에 대해 DNS를 구성하여 URL 단축 서비스의 서버로 전달되도록 해야 합니다. (short.io에 커스텀 도메인을 추가하기 위한 참고 문서).

  7. URL 단축 서비스에서 유니버설 링크를 구성합니다. (short.io에 유니버설 링크를 구성하기 위한 참고 문서).

예시

  1. 마케터가 유니버설 링크를 생성합니다.

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

  2. 마케터가 URL 단축 서비스를 사용하여 단축 링크를 생성합니다.

    예시: https://short.example.com/2wuTnQvU

  3. 마케터가 단축 링크를 캠페인(예: SMS)에 사용합니다.

  4. 앱을 설치한 사용자가 SMS 메시지에서 단축 링크를 클릭합니다.

  5. iOS가 앱을 실행하고, 단축 URL을 앱에 전달합니다.

  6. 앱은 단축 URL을 Adjust SDK의 링크 해석 메서드에 전달합니다.

  7. Adjust SDK는 앱 내에서 단축 URL을 해석합니다.

    따라서 https://short.example.com/2wuTnQvU 은/는 https://example.go.link/summer-clothes?promo=beach&adj_t=abc123 으로 리다이렉트됩니다.

  8. 링크 해석 메서드는 해석된 URL을 반환합니다.

  9. 앱이 반환된 URL을 처리합니다. 이 경우 앱은 사용자에게 summer-clothes 페이지를 beach promo 모달과 함께 표시합니다.

  10. 앱은 Adjust SDK에서 appWillOpenUrl 메서드를 반환된 URL과 함께 호출합니다.