App Shortcuts
구글은 안드로이드 앱에서 특정 작업을 수행할 수 있는 바로가기(shortcut)을 정의할 수 있도록 하고 있다. 안드로이드 앱을 꾹 눌러 보면 위의 화면처럼 앱 내의 특정 작업을 할 수 있는 화면으로 바로 이동시켜주는 리스트를 볼 수 있다. 이를 Shortcut(바로가기)라는 이름으로 부른다. 이번 시리즈에서는 이러한 바로가기를 어떻게 만들고 관리할 수 있는지에 대해 정리해보려 한다. 원래 하나의 포스팅으로 쓰려 했는데 글이 길어져서 먼저 이번 포스팅에서는 shortcut의 종류와 개념에 대해서 간단히 정리하고 만들고 관리하는 방법에 대해서는 추가로 포스팅하기로 했다.
Shortcut types (바로가기 타입)
- Static Shortcuts
- Dynamic Shortcuts
- Pinned Shortcuts
Shortcut (바로가기) 타입은 위와 같이 총 세 가지가 있다. Shortcut 한 개는 하나 이상의 intent를 참조하며, 각 인텐트는 사용자가 Shortcut을 선택했을 때 앱에서 특정 작업을 시작한다. 어떤 Shortcut 유형을 만들지는 앱의 주요 사용 케이스에 따라서 결정하면 된다. 바로가기를 사용해볼 수 있는 예시는 다음과 같은 경우들이 있다.
- 이메일 앱에서 새 이메일 작성하기
- 카카오톡과 같은 메신저 앱에서 친구에게 메시지 보내기
- 넷플릭스 같은 미디어 앱에서 프로그램의 다음 에피소드 재생하기
- 게임 앱에서 마지막 저장 지점 불러오기
참고 : Shortcut을 만들 수 있는 곳
"Intent.ACTION_MAIN"나 "Intent.CATEGORY_LAUNCHER"인 main activity에 대해서만 바로가기를 만들 수 있다. 앱에 하나가 아닌 여러 main activity가 있다면 각 activity에 대해서 shortcuts를 각각 정의해줘야 한다. manifest 쪽에 shortcuts를 추가하게 되는데, 뒤 쪽의 설명을 보면 이 문단에서 말한 것을 어디에 정의해줘야 하는 지를 알 수 있다. 조금 더 덧붙이자면, 다른 앱은 Shortcut의 메타 데이터에 접근할 수 없지만 런처는 접근할 수 있으므로 민감한 사용자 정보는 노출되지 않도록 해야 한다.
Shortcut 개수 제한
Static Shortcut과 dynamaic Shortcut을 합쳐서 한번에 최대 5개 까지만 제공할 수 있다. 하지만 대부분의 런처는 4개까지만 표시해주니 4개라고 생각하는 게 낫다. Pinned Shortcut의 경우는 당연히 제한이 없다. Pinned Shortcut은 앱에서 제거할 수 없지만 비활성화 시킬 수는 있다.
Static Shortcuts
이름에서 알 수 있듯이 정적인 shortcut들이다. 이 shortcut은 APK나 App Bundle로 패키징된 리소스 파일에 정의되어 있다. 앱 실행 중에 변경하거나 할 수 없다.
Dynamic Shortcuts
이것도 이름에서 알 수 있듯이 다이나믹한 shortcut들이다. 런타임에 앱에서 만들거나 업데이트하고 삭제할 수 있다.
Pinned Shortcuts
얘는 앱을 꾹 눌러서 선택하는 shortcut이 아닌, 런처에 바로가기 아이콘을 꺼내 놓은 shortcut이다. 사용자가 권한을 허용하면 런타임에 추가할 수 있다. 참고로, 꾹 눌러서 볼 수 있는 shortcut 목록에서 사용자가 원하는 shortcut을 런처에 복사해서 바로가기를 생성하여 pinned shortcut을 직접 만들 수도 있다.
Shortcut 시리즈
2020/08/30 - [Android/Android Development] - Android App Shortcuts (안드로이드 앱 숏컷) - 1. 기본 개념
2020/08/30 - [Android/Android Development] - Android App Shortcuts (안드로이드 앱 숏컷) - 2. 만들기
2020/08/31 - [Android/Android Development] - Android Shortcuts (안드로이드 앱 숏컷) - 3. 관리하기
'Android > Android Development' 카테고리의 다른 글
Android Shortcuts (안드로이드 앱 숏컷) - 3. 관리하기 (2) | 2020.08.31 |
---|---|
Android App Shortcuts (안드로이드 앱 숏컷) - 2. 만들기 (4) | 2020.08.31 |
Android Room - RxKotlin과 함께 쓰는 방법 (6) | 2020.06.10 |
Android Room - Coroutines(코루틴)과 같이 쓰는 법 (6) | 2020.06.06 |
Android Room - Entity Annotations (271) | 2020.06.04 |
댓글