Android 맞춤 탭 개요
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
맞춤 탭은 Android 브라우저의 기능으로, 앱 개발자가 앱 내에서 직접 맞춤설정된 브라우저 환경을 추가할 수 있는 방법을 제공합니다.
웹 콘텐츠 로드는 스마트폰 초기부터 모바일 앱의 일부였지만 이전 옵션은 개발자에게 어려움을 줄 수 있습니다. 실제 브라우저를 실행하는 것은 맞춤설정이 불가능한 사용자에게는 부담이 되는 컨텍스트 전환이지만 WebView는 웹 플랫폼의 모든 기능을 지원하지 않으며 브라우저와 상태를 공유하지 않고 유지보수 오버헤드를 추가합니다.
맞춤 탭을 사용하면 사용자가 탐색하는 동안 앱 내에서 계속 머물 수 있으므로 참여도가 높아지고 사용자가 앱을 중단할 위험이 줄어듭니다. 맞춤 탭은 사용자가 선호하는 브라우저에서 직접 제공되며 브라우저에서 제공하는 상태와 기능을 자동으로 공유합니다. 요청, 권한 부여 또는 쿠키 저장소를 관리하기 위해 맞춤 코드를 작성할 필요가 없습니다.
맞춤 탭은 무엇을 할 수 있나요?
맞춤 탭을 사용하면 사용자의 선호 브라우저를 지원하는 모든 렌더링 엔진에 웹 콘텐츠가 로드됩니다. 모든 API 또는 웹 플랫폼 기능은 여기에서 사용할 수 있으며 맞춤 탭에서도 사용할 수 있습니다. 익숙한 대로 인터넷 사용 기록, 저장된 비밀번호, 결제 수단, 주소가 모두 표시됩니다.
맞춤 탭에서 무엇을 맞춤설정할 수 있나요?
상당히 많습니다. 맞춤 탭을 사용하면 많은 브라우저 크롬과 사용자 환경을 세부적으로 제어할 수 있습니다. 앱 내에서 인텐트를 사용하여 맞춤 탭을 실행합니다. 이 인텐트가 호출되면 CustomTabIntent에 여러 속성을 추가하여 원하는 환경을 정확하게 얻을 수 있습니다. 추가할 수 있는 맞춤설정은 다음과 같습니다.
- 앱의 나머지 부분과 일치하는 맞춤 들어가기 및 나가기 애니메이션
- 앱의 브랜딩에 맞게 툴바 색상 수정
- 밝은 테마와 어두운 테마 간에 전환해도 앱에 유지되는 색상 일관성
- 브라우저 툴바 및 메뉴의 맞춤 작업 및 항목
- 맞춤 탭의 실행 높이를 제어하여 웹 스토어와 상호작용하는 동안 동영상을 스트리밍하는 등의 작업을 할 수 있습니다.
또한 사용자는 맞춤 탭을 최소화하여 기본 앱과 상호작용할 수 있으며, 진행 상황을 잃지 않고 언제든지 맞춤 탭을 복원하여 여정을 재개할 수 있습니다. 이렇게 하면 사용자가 맞춤 탭을 닫지 않고도 웹과 네이티브 앱 간에 원활하게 멀티태스킹할 수 있습니다. 이 기능은 맞춤 탭에 기본적으로 사용 설정되어 있습니다.
그건 전부가 아닙니다. 맞춤 탭은 매우 강력하며 현재 활발히 개발 중입니다. 각 브라우저는 이러한 기능이 제공될 때마다 지원을 추가해야 합니다. 거의 모든 브라우저에서 어느 정도 지원되지만 사용자의 브라우저에서 사용할 수 있는 기능과 사용할 수 없는 기능을 파악하는 것이 중요합니다. 기능 비교 표를 참고하여 인기 Android 브라우저에서 다양한 기능을 사용할 수 있는지 빠르게 확인하세요.
지금 GitHub의 샘플을 사용하여 테스트해 보세요.
맞춤 탭은 언제 사용해야 하나요?
웹 콘텐츠를 로드하는 '올바른' 방법은 하나가 아닙니다. 특정 상황에서는 WebView가 적합한 기술이 될 수 있습니다. 예를 들어 앱 내에서 자체 콘텐츠를 독점적으로 호스팅하거나 앱에서 직접 JavaScript를 삽입해야 하는 경우입니다. 앱에서 사용자를 도메인 외부의 URL로 안내하는 경우 맞춤 탭의 내장 공유 상태가 더 나은 선택일 수 있습니다. 맞춤 탭의 다른 장점은 다음과 같습니다.
- 보안: 맞춤 탭은 Google의 세이프 브라우징을 사용하여 사용자와 기기를 위험한 사이트로부터 보호합니다.
- 성능 최적화:
- 애플리케이션에서 리소스를 훔치는 것을 방지하면서 백그라운드에서 브라우저를 미리 예열합니다.
- URL을 미리 추측 로드하여 페이지 로드 속도를 높입니다.
- 수명 주기 관리: 맞춤 탭을 실행하는 앱은 탭이 사용되는 동안 시스템에서 제거되지 않습니다. 맞춤 탭의 중요도가 포그라운드 수준으로 올라갑니다.
- 공유 쿠키 저장소 및 권한 모델을 통해 사용자가 이미 연결된 사이트에 로그인하거나 이미 부여한 권한을 다시 부여하지 않아도 됩니다.
- 양식 작성 개선을 위한 자동 완성과 같은 브라우저 기능을 즉시 사용할 수 있습니다.
- 사용자는 통합된 뒤로 버튼을 사용하여 앱으로 돌아갈 수 있습니다.
맞춤 탭과 신뢰할 수 있는 웹 활동 비교
신뢰할 수 있는 웹 활동은 맞춤 탭 프로토콜을 확장하고 그 대부분의 이점을 공유합니다. 하지만 맞춤설정된 UI를 제공하는 대신 개발자가 UI 없이 브라우저 탭을 열 수 있습니다. 자체 Android 앱 내에서 자체 프로그레시브 웹 앱을 전체 화면으로 열려는 개발자에게 권장됩니다.
맞춤 탭은 어디에서 사용할 수 있나요?
맞춤 탭은 Android 플랫폼의 브라우저에서 지원하는 기능입니다. 이 기능은 Chrome 버전 45에서 처음 도입되었습니다. 이 프로토콜은 대부분의 Android 브라우저에서 지원됩니다.
이 프로젝트에 관한 의견, 질문, 제안을 기다리고 있으니 crbug.com에서 문제를 신고하고 트위터 @ChromiumDev에서 질문해 주세요.
자세히 알아보기
질문이 있는 경우 StackOverflow에서 chrome-custom-tabs 태그를 확인하세요.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Overview of Android Custom Tabs\n\nCustom Tabs are a feature in Android browsers that gives app developers\na way to add a customized browser experience directly within their app.\n\nLoading web content has been a part of mobile apps since the early days of\nsmartphones, but older options can present challenges for developers. Launching\nthe actual browser is a heavy context switch for users that isn't customizable,\nwhile WebViews [don't support](https://research.google/pubs/pub46739/) all features of the web platform, don't share\nstate with the browser and add maintenance overhead.\n\nCustom Tabs lets users remain within the app while browsing, increasing\nengagement and reducing the risk of users abandoning the app. Custom Tabs are\npowered directly by the user's preferred browser and automatically share the\nstate and features offered by it. You don't need to write custom code to manage\nrequests, permission grants, or cookie stores.\n\nWhat can Custom Tabs do?\n------------------------\n\nBy using a Custom Tab, your web content loads in whatever rendering engine\npowers your user's preferred browser. Any API or web platform feature is\navailable there, and is available in your Custom Tab. Their browsing session,\nsaved passwords, payment methods, and addresses all show up just like they\nare accustomed to already.\n\nWhat can I customize in a Custom Tab?\n-------------------------------------\n\nQuite a bit! Custom Tabs give you fine grained control over a lot of the browser\nchrome and user experience. Within your app, you launch a Custom Tab using an\n[Intent](https://developer.android.com/guide/components/intents-filters). When this Intent is called, you can add a number of attributes to\nthe [CustomTabIntent](https://developer.android.com/reference/androidx/browser/customtabs/CustomTabsIntent) to get the exact experience you want. Some\ncustomizations that you can add are listed here:\n\n- Custom entrance and exit animations to match the rest of your app\n- Modifing the toolbar color to match your app's branding\n- Color consistency that can stay with your app, even if they switch between light and dark themes\n- Custom actions and entries to the browser's toolbar, and menus\n- Control the launch height of the Custom Tab, enabling things like streaming your videos while interacting with your web store\n\nIn addition, users can minimize a Custom Tab to interact with the underlying\napp, and restore it at any time without losing any progress to resume their\njourney. This gives users an alternative to closing the Custom Tab so they can\nseamlessly multitask between the web and the native app. The feature is\nenabled by default for Custom Tabs.\n\nThat is far from everything. Custom Tabs are very powerful, and under active\ndevelopment. Each browser needs to add support for these features as they become\navailable. While nearly all have some level of support, it is important to know\nwhat may or may not be available in your user's browsers. Refer to the\n[feature comparison table](/docs/android/custom-tabs/browser-support) to quickly\ncheck the availability of the different features across popular Android\nbrowsers.\n\nYou can test this now with our [sample](https://github.com/GoogleChrome/android-browser-helper/tree/master/demos/custom-tabs-example-app) on GitHub.\n\nWhen should I use Custom Tabs?\n------------------------------\n\nThere is no single \"correct\" way to load web content. In certain situations,\nWebView is going to be the right technology to use. For example, if you are\nexclusively hosting your own content inside your app, or if you need to inject\njavascript directly from your app. If your app directs people to URLs outside\ndomains, the built-in shared state in Custom Tabs means they are likely a\nbetter choice. Other strengths of Custom Tabs include:\n\n1. Security: Custom Tabs use Google's Safe Browsing to protect the user and the device from dangerous sites.\n2. Performance optimization:\n 1. Pre-warming of the Browser in the background, while avoiding stealing resources from the application.\n 2. Speed up the page load time by speculatively loading URLs in advance.\n3. Lifecycle management: Apps launching a Custom Tab won't be evicted by the system during the Tab's use. The importance of the Custom Tab is raised to the *foreground* level.\n4. Shared cookie jar and permissions model so users don't have to sign in to sites they are already connected to, or re-grant permissions they have already granted.\n5. Browser features like autofill for better form completion are available out-of-the-box.\n6. Users can return to app with an integrated back button.\n\nCustom Tabs versus Trusted Web Activity\n---------------------------------------\n\n[Trusted Web Activities](/develop/ui/views/layout/webapps/trusted-web-activities) extend the Custom Tabs protocol and shares most of\nits benefits. But, instead of providing a customized UI, it allows developers to\nopen a browser tab without any UI at all. It is recommended for developers who\nwant to open their own [Progressive Web App](https://web.dev/progressive-web-apps/), in full screen, inside their\nown Android app.\n\nWhere are Custom Tabs available?\n--------------------------------\n\nCustom Tabs is a feature supported by browsers on the Android platform. It was\noriginally introduced by [Chrome](https://play.google.com/store/apps/details?id=com.android.chrome), on version 45. The protocol is supported\nby most Android browsers.\n\nWe're looking for feedback, questions and suggestions on this project, so we\nencourage you to file issues on [crbug.com](https://crbug.com) and ask questions on Twitter\n[@ChromiumDev](https://twitter.com/ChromiumDev).\n\nLearn more\n----------\n\nFor questions, check the [chrome-custom-tabs](https://stackoverflow.com/questions/tagged/chrome-custom-tabs) tag on StackOverflow."]]