Q16) Deep Link
딥 링크는 어떻게 처리하나요?
딥 링크를 통해 사용자는 URL 또는 알림과 같은 외부 소스에서 앱 내의 특정 화면이나 기능으로 직접 이동할 수 있습니다. 딥 링크를 처리하려면 AndroidManifest.xml에 딥 링크를 정의하고 해당 activities 또는 fragments에서 수신되는 intents를 처리해야 합니다.
1단계: Manifest에 딥 링크 정의
딥 링킹을 활성화하려면 딥 링크를 처리할 activity에 대해 AndroidManifest.xml에서 intent filter를 선언합니다. intent filter는 앱이 응답하는 URL 구조 또는 scheme을 지정합니다.
android:scheme
: URL scheme을 지정합니다 (예:https
).android:host
: 도메인을 지정합니다 (예:example.com
).android:pathPrefix
: URL의 경로를 정의합니다 (예:/deepLink
).
이 구성은 https://example.com/deepLink
와 같은 URL이 MyDeepLinkActivity
를 열도록 허용합니다.
2단계: Activity에서 딥 링크 처리
activity 내부에서 수신되는 intent 데이터를 검색하고 처리하여 적절한 화면으로 이동하거나 작업을 수행합니다.
3단계: 딥 링크 테스트
딥 링크를 테스트하려면 아래 adb 명령을 사용할 수 있습니다.
이 명령은 딥 링크를 시뮬레이션하고 앱을 열어 처리합니다.
추가 고려 사항
Custom Schemes: 내부 링크에는 custom schemes (예:
myapp://
)를 사용할 수 있지만, 더 넓은 호환성을 위해 HTTP(S) URL을 선호합니다.Navigation: 딥 링크 데이터에 따라 앱 내의 다른 activities 또는 fragments로 이동하려면 intent를 사용합니다.
Fallback Handling: 딥 링크 데이터가 유효하지 않거나 불완전한 경우 앱이 해당 케이스를 처리하는지 확인합니다.
App Links: 브라우저 대신 앱에서 HTTP(S) 딥 링크가 직접 열리도록 하려면 App Links를 구성합니다.
요약
딥 링크 처리는 AndroidManifest.xml에 URL 패턴을 정의하고 대상 activity에서 데이터를 처리하는 것을 포함합니다.
딥 링크 데이터를 추출하고 해석함으로써 사용자를 앱의 특정 기능이나 콘텐츠로 안내하여 사용자 경험과 참여도를 향상시킬 수 있습니다.