λ”₯링크, 앱링크, μœ λ‹ˆλ²„μ…œλ§ν¬? :: 무쑰건 μ•±μœΌλ‘œ μ—°λ™λ˜λŠ” 상황 ν•΄κ²°
문제 : 도메인(B)이 λ³Έ μ„œλΉ„μŠ€ 도메인(A)μ—μ„œ λΆ„λ¦¬λ˜μ–΄ λ‚˜μ˜¨ μƒν™©μ—μ„œ μœ λ‹ˆλ²„μ…œ 링크가 μ˜€λ™μž‘. μ›λž˜ μ‚¬μš©μžμ˜ μ„ ν˜Έμ— 따라 λͺ¨λ°”일 λΈŒλΌμš°μ € μƒμ—μ„œ μ΄λ™λ˜κ±°λ‚˜ 앱을 λ„μ›Œμ•Ό ν•˜λŠ”λ°, 무쑰건 μ•±μœΌλ‘œ μ—°λ™λ˜λŠ” ν˜„μƒ λ°œμƒ.

원인 : μœ λ‹ˆλ²„μ…œ λ§ν¬λŠ” λ‹€λ₯Έ 도메인에 λŒ€ν•΄ 무쑰건 μ•±μœΌλ‘œ μ—°λ™λ˜κ²Œ μ²˜λ¦¬ν•œλ‹€.

ν•΄κ²° : μœ λ‹ˆλ²„μ…œ 링크λ₯Ό λ‹€λ₯Έ 도메인에 λŒ€ν•΄ μ²˜λ¦¬ν•  수 μžˆλ‹€λ©΄ κ·Έλ ‡κ²Œ 처리. μ•„λ‹ˆλΌλ©΄ URI scheme을 μ΄μš©ν•˜μ—¬ μ—λŸ¬ μ‹œ λ™μž‘μ„ κ΅¬ν˜„ν•˜λŠ” μ‹μœΌλ‘œ μˆ˜μ •. 

 

λ”₯링크

λ”₯λ§ν¬λŠ” νŠΉμ • μ£Όμ†Œ or 값에 μ˜ν•΄ μ‚¬μš©μžκ°€ μ•± λ‚΄μ˜ νŠΉμ • ν™”λ©΄μœΌλ‘œ μ΄λ™ν•˜λŠ” κΈ°λŠ₯을 λ§ν•œλ‹€.

 

λ”₯λ§ν¬λŠ” 3가지 λ°©μ‹μœΌλ‘œ κ΅¬λΆ„λœλ‹€.

  • URI scheme : 앱에 URI scheme 값을 λ“±λ‘ν•˜λŠ” λ”₯링크
    • νŠΉμ • scheme 값을 μž…λ ₯ν•˜λ©΄ (ex_ ohouse://sign_in) ν•΄λ‹Ή νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•œλ‹€. μƒμ΄ν•œ μ•±λ“€μ˜ μŠ€ν‚΄κ°’μ΄ μΆ©λŒν•˜λ©΄μ„œ κ³ μœ κ°’μ„ 확인할 수 μžˆλŠ” 방법이 μ—†μ–΄μ„œ λ™μΌν•œ μŠ€ν‚΄κ°’μ„ 가진 앱듀이 λ‚˜μ˜€κ²Œ λœλ‹€. λ™μΌν•œ μŠ€ν‚΄κ°’μ„ 가진 앱듀은 각 μ‹œμŠ€ν…œμ—μ„œ ν•΄λ‹Ή μŠ€ν‚΄κ°’μœΌλ‘œ 앱을 μ—΄λ €κ³  ν•  λ•Œ 'μ—°κ²° ν”„λ‘œκ·Έλž¨'μ΄λΌλŠ” ν•˜μœ„ λ©”λ‰΄λ‘œ μ—΄κ³  싢은 μ–΄ν”Œμ„ 선택할 수 있게 ν•œλ‹€. μ΄λŸ¬ν•œ 해결책을 막기 μœ„ν•΄ μœ λ‹ˆλ²„μ…œ 링크와 앱링크가 λ‚˜νƒ€λ‚¬λ‹€.
  • μ•± 링크 : AOS에 μ œκ³΅ν•˜λŠ” 도메인 μ£Όμ†Œλ₯Ό μ΄μš©ν•œ λ”₯링크
  • μœ λ‹ˆλ²„μ…œ 링크 : iOS에 μ œκ³΅ν•˜λŠ” 도메인 μ£Όμ†Œλ₯Ό μ΄μš©ν•œ λ”₯링크

μ•„μ§κΉŒμ§€ μ•± 링크와 μœ λ‹ˆλ²„μ…œ 링크의 λ™μž‘μ΄ μ™„μ „ν•˜μ§€ μ•Šμ•„μ„œ λͺ¨λ“  ν™˜κ²½μ— μ™„λ²½νžˆ λŒ€μ‘ν•˜μ§€ λͺ»ν•œλ‹€. 예λ₯Ό λ“€μ–΄ ios 폰을 μ‚¬μš©ν•  λ•Œμ—λ„ 'μ‚¬νŒŒλ¦¬ λΈŒλΌμš°μ €μ—μ„œ 링크λ₯Ό 톡해 앱을 μ‹€ν–‰'ν•  λ•Œμ—λŠ” URIμŠ€ν‚΄ 방식 μž‘λ™, '아이폰 μ•±μœΌλ‘œ QA μ½”λ“œ μ΄¬μ˜ν•˜μ—¬ μ•± μ‹€ν–‰'ν•  λ•Œμ—λŠ” μœ λ‹ˆλ²„μ…œ 링크 μž‘λ™ λ“±μ˜ μƒμ΄ν•œ 흐름을 보여쀀닀.

 

λ”₯링크λ₯Ό 크게 두가지 νƒ€μž…μœΌλ‘œ λ‚˜λˆŒ μˆ˜λ„ μžˆλŠ”λ°, default deeplink와 deferred deeplink이닀.

  • default deeplink : μœ μ €κ°€ 앱을 κΉ”μ•˜μ„ λ•Œμ—λ§Œ μ›ν•˜λŠ” ν™”λ©΄μœΌλ‘œ κ°€κ³ , 앱이 μ—†λŠ” 경우 μ—λŸ¬λ₯Ό λ„μš΄λ‹€. (μ—λŸ¬ μ‹œ λ™μž‘μ€ κ°œλ°œμžκ°€ κ΅¬ν˜„ν•œλ‹€.)
  • deferred deep link : 앱이 κΉ”λ €μžˆμ§€ μ•Šμ€ μœ μ €λŠ” μŠ€ν† μ–΄λ‘œ μœ λ„ν•˜κ³ , 앱이 μ„€μΉ˜λ˜λ©΄ μ›λž˜ μ΄λ™ν•˜κ³ μžν–ˆλ˜ νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•œλ‹€.

 

μœ λ‹ˆλ²„μ…œ 링크

  • ios 9버전 μ΄μƒμ—μ„œλ§Œ λ™μž‘ν•œλ‹€.
  • μ‚¬νŒŒλ¦¬μ™€ ν¬λ‘¬μ—μ„œλ§Œ λ™μž‘ν•œλ‹€.
  • https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html
    • When a user is browsing your website in Safari and they tap a universal link to a URL in the same domain as the current webpage, iOS respects the user’s most likely intent and opens the link in Safari. If the user taps a universal link to a URL in a different domain, iOS opens the link in your app.
    • anchor둜 μ΄λ™ν•˜λŠ” 도메인이 λ‹€λ₯Έ 도메인이면 무쑰건 μ•±μœΌλ‘œ 링크λ₯Ό λ„μš΄λ‹€.
    • 같은 도메인이면 μ‚¬μš©μžμ˜ μ„ ν˜Έμ— 따라 λΈŒλΌμš°μ € λ˜λŠ” μ•±μœΌλ‘œ μ—°λ™λœλ‹€.
  • λ°”λ‘œ 링크λ₯Ό μ£Όμ†Œμ°½μ— λ„£μœΌλ©΄, μœ λ‹ˆλ²„μ…œλ§ν¬λŠ” λ™μž‘ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • anchor κΈ°λŠ₯이 μ•„λ‹Œ redirect μ‹œ μœ λ‹ˆλ²„μ…œλ§ν¬λŠ” λ™μž‘ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

μ°Έκ³ 

https://help.dfinery.io/hc/ko/articles/360039757433-λ”₯링크-Deeplink-URIμŠ€ν‚΄-μœ λ‹ˆλ²„μ…œ-링크-앱링크-ꡬ뢄과-이해

https://juneyr.dev/universal-link

 

 

 λΆ€μ •ν™•ν•œ 정보가 λ‹΄κ²¨μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€! 

 λŒ“κΈ€λ‘œ μ•Œλ €μ£Όμ„Έμš” :) 

 

λ°˜μ‘ν˜•