728x90
반응형
2023.02.25 - [Android]Deeplink
안드로이드에서 딥링크 스킴은 인텐트(Intent)를 사용하여 특정 앱의 특정 화면으로 직접 이동할 수 있는 링크입니다. 이를 통해 사용자가 해당 앱을 설치하지 않았더라도 앱의 특정 화면으로 이동하여 더 나은 사용자 경험을 제공할 수 있습니다.
안드로이드 딥링크 스킴은 다음과 같은 형식으로 구성됩니다.
scheme://host/path
여기서 scheme은 딥링크 스킴을 사용하는 앱의 이름이며, host는 해당 앱의 도메인 이름 또는 패키지 이름입니다.
path는 앱 내에서 이동하고자 하는 특정 화면을 가리킵니다.
예를 들어, 만약 "myapp"이라는 이름을 가진 앱이 "myapp://main/home"이라는 딥링크 스킴을 가진다면, 이 링크를 클릭하면 "myapp" 앱의 "main" 화면에서 "home" 화면으로 이동합니다.
딥링크 스킴을 사용하려면 AndroidManifest.xml 파일에 인텐트 필터를 추가해야 합니다. 이를 통해 안드로이드 시스템이 앱의 딥링크 스킴을 인식하고 해당 앱을 실행할 수 있도록 합니다.
AndroidManifest.xml 파일에 스키마(schema)를 추가하는 방법
- 프로젝트의 "app" 모듈에서 AndroidManifest.xml 파일을 엽니다.
- <manifest> => <application> 요소 안에 <activity> 요소를 추가하거나 이미 있는 <activity> 요소를 사용하여
스키마를 추가할 액티비티를 선택합니다. - 선택한 <activity> 요소에 android.intent-filter 요소를 추가합니다.
이 요소는 액티비티가 특정 인텐트를 처리할 수 있음을 나타냅니다. - android.intent-filter 요소 안에 <action> 요소의 android:name 속성을 "android.intent.action.VIEW"로 설정합니다.
이는 액티비티가 VIEW 인텐트를 처리할 수 있음을 나타냅니다. - android.intent-filter 요소 안에 <category> 요소를 추가하여 인텐트 카테고리를 정의합니다.
<category> 요소의 android:name 속성을 "android.intent.category.DEFAULT"로 설정합니다. - android.intent-filter 요소 안에 <data> 요소를 추가하여 스키마를 정의합니다.
<data> 요소의 android:scheme 속성을 스키마 이름으로 설정합니다.
예를 들어, 스키마가 "myapp"인 경우 android:scheme="myapp"으로 설정합니다.
<activity android:name=".MyActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:scheme="myapp"
android:host="myapp.example.com"
android:pathPrefix="/data" />
</intent-filter>
</activity>
728x90
반응형
'Android > 도구 및 라이브러리' 카테고리의 다른 글
Android Studio Compose에서 Color 미리보기 (게터 아이콘) (0) | 2025.01.17 |
---|---|
RxJava 배압(Backpressure) 이슈와 Flowable (0) | 2025.01.13 |
[Android/Async]RxJava에서 Throttle과 Debounce (0) | 2023.05.10 |
[Android]Deeplink (0) | 2023.02.25 |
[Android/Library]Eventbus (0) | 2023.02.24 |