티스토리 뷰
Deep Linking
Deep linking은 Web에서 하이퍼링크를 이용해서 특정 웹사이트의 웹 컨텐츠를 사용할 수 있도록 해줍니다.
하지만 Mobile deep linking은 웹가 차이가 있습니다.
모바일에서 Deep linking은 URI를 사용해서 앱의 특정 컨텐츠가 있는 곳으로 바로 연결해주는 것입니다.
Deferred deep linking은 유저가 앱을 설치하지 않았어도 컨텐츠에 접근할 수 있도록 해줍니다.
( 1. 앱스토어에서 유저가 앱을 설치할 수 있도록 열어주기
2.앱이 인스톨되면, 링크가 원래 URL과 파라미터로 호출되어 새로 설치된 앱이 이 호출을 처리할 수 있음 )
Deep linking 형태
- twitter:// is the iOS URI to launch Twitter’s mobile app
- YouTube:// is the iOS URI to launch YouTube’s mobile app
URL Scheme
커스텀 URL scheme는 앱 내부의 리소스를 참조를 제공합니다.
예를들어 유저가 메일에서 커스텀 URL을 선택해서 특정한 컨텍스트의 앱을 실행합니다.
다른 앱 역시 당신의 앱을 특정 컨텍스트에서 실행할 수 있는데, 예를 들어 포토라이브러리 앱이 특정 이미지를 표시할 수 있습니다.
URL scheme은 deep linking의 형태를 따르지만 universal link를 사용하는 것이 좋습니다.
*주의
URL scheme은 앱에 잠재적 공격 벡터를 제공합니다.
그래서 사용자의 데이터가 위험하지 않은 작업으로 제한해야합니다.
장점
구현이 쉽고 백앤드가 필요 없습니다.
단점
항상 허가를 묻습니다.
유저가 익숙하지 않은 URL타입입니다.
다른 플랫폼에서 사용할 수 없습니다.
앱이 설치되어 있지 않으면 사용할 수 없습니다.
Universal Link
Universal Link를 통해 앱이 기기에 설치되지 않은 경우에도 사용자에게 언제나 통합된 모바일 환경을 제공할 수 있습니다.
Universal Link를 이용해서 앱 내부의 콘텐츠에 연결할 수 있습니다.
유저가 Universal Link를 누르면 시스템이 웹으로 라우팅하지 않고 앱으로 직접 리디렉션합니다.
Universal Link는 표준 HTTP or HTTPS이므로 웹과 앱 모두에 대해 하나의 URL로 작동합니다.
유저가 앱을 설치하지 않은 경우 시스템이 Safari에서 URL을 열어 웹 사이트에서 처리할 수 있도록 합니다.
유저가 앱을 설치하면 시스템은 웹 사이트가 앱이 URL을 열도록 허용하는지 웹 서버에 저장된 파일을 확인합니다.
오직 당신만이 이 파일을 당신의 서버에 저장할수 있어 웹과 앱에 대한 연결을 보호할 수 있습니다.
장점
허가를 묻지 않습니다.
브라우저를 열지 않습니다.
다른 플랫폼과 호환이 됩니다.
앱이 설치되어 있지 않으면 url대체가 됩니다.
단점
구현이 어렵고 ssl 백엔드가 필요합니다.
참고https://en.wikipedia.org/wiki/Mobile_deep_linking
https://developer.apple.com/ios/universal-links/
https://developer.apple.com/documentation/xcode/defining-a-custom-url-scheme-for-your-app
https://medium.com/wolox/ios-deep-linking-url-scheme-vs-universal-links-50abd3802f97
'iOS' 카테고리의 다른 글
[iOS] WWDC2017 Engineering for Testability / Testable App Code - 번역 (0) | 2021.08.25 |
---|---|
[iOS] Enums as configuration: the anti-pattern - 번역 / Enum을 이용한 설정 (0) | 2021.08.24 |
[iOS] API Design Guidelines - Naming 애플식 네이밍 (0) | 2021.08.23 |
[iOS] NavigationBar 숨기기, Custom 네비게이션바 (0) | 2021.07.21 |
[Swift] NSCache란? (image cache하기) (0) | 2021.07.21 |