본문으로 건너뛰기

브라우저 (browser)

🚀 추가된 버전 : SDKSDKv1.0.3 AndroidAndroidv1.1.0 iOSiOSv1.1.0
🔔 최신화 일자: 2025-07-30

개요

browser 네임스페이스는 앱 내에서 링크를 열기 위한 브라우저 기능을 제공합니다.

URL을 열 때 외부 브라우저(Chrome, Safari 등) 또는 앱 내부 브라우저를 선택하여 사용할 수 있습니다.

내부 브라우저 유의사항
  • SDK를 통해 연 내부 브라우저에서는 웹뷰의 부모-자식 관계가 없는 대신 내부 브라우저에서 SDK 기능이 사용 가능하도록 구현하였습니다.
  • anchor 혹은 window.open을 통해 열린 내부 브라우저의 경우 웹뷰의 부모-자식 관계가 성립되지만 내부 브라우저에서 SDK 사용이 불가하도록 처리하였습니다.
  • 참고 : ➡️ iOS App Source Release v.1.6.5

타입 정의

OpenURLOption

링크를 여는 브라우저 옵션을 나타내는 타입입니다.

export declare type OpenURLOption =
| 'external'
| 'internal'
| 'internal_default';
옵션설명추가된 버전
'external'앱 외부 기본 브라우저SDKSDKv1.0.3
AndroidAndroidv1.1.0
iOSiOSv1.1.0
'internal'인앱 브라우저 (WebView)SDKSDKv1.0.3
AndroidAndroidv1.1.0
iOSiOSv1.1.0
'internal_default'앱 내부 기본 브라우저SDKSDKv1.6.3
AndroidAndroidv1.6.9
iOSiOSv1.6.10
  • 'external'

    • 링크를 사용자 설정에 따른 앱 외부의 기본 브라우저(Chrome, Safari 등)에서 여는 방식입니다.
    • 타 앱을 열거나, 앱과 다른 도메인의 페이지를 보여주어야 할 때 유용
    • 앱과의 세션이 분리되어 쿠키 등이 공유되지 않음
  • 'internal'

    • 링크를 앱 내 WebView에서 인앱 브라우저로 여는 방식입니다.
    • 메인 WebView와의 세션이 유지됨
    • 메인 WebView와 쿠키 공유 가능
  • 'internal_default'

    • 링크를 앱 내부에서 기본 브라우저 엔진(SafariViewController, Chrome Custom Tabs 등)으로 여는 방식입니다.
    • 모든 동작이 외부 브라우저와 동일하게 동작
    • 메인 WebView와의 세션이 분리되어 쿠키 등이 공유되지 않음
    • Native SDK 기능 이용 불가

메서드 목록

메서드설명추가된 버전업데이트된 버전
openLink(url, option?)지정한 URL을 내부 또는 외부 브라우저에서 엽니다.SDKSDKv1.0.3SDKSDKv1.6.3

메서드 상세

주어진 URL을 외부 브라우저 또는 내부 브라우저에서 엽니다.
기본적으로 external 모드(외부 브라우저)가 사용됩니다.

브라우저 열기 기능은 SDK ver.1.6.3부터 웹, Android, iOS 플랫폼 모두에서 사용 가능합니다.

openLink 메서드는 App과 Web 모든 환경을 지원합니다.

플랫폼지원 여부비고
Android내부 혹은 외부 브라우저 오픈
iOS내부 혹은 외부 브라우저 오픈
Web팝업 혹은 새 창 오픈
이름타입필수 여부설명
urlstring열고자 하는 웹 페이지 URL
optionOpenURLOption (optional)'external', 'internal', 'internal_default' 중 선택 가능

해당 메서드는 반환 값을 가지지 않습니다.

  • ✅ 앱 외부의 Safari, Chrome 등 유저가 선택한 기본 브라우저를 활용
  • ✅ 타 앱을 열거나, 앱과 다른 도메인의 페이지를 보여주어야 할 때 유용
  • ❌ 앱과의 세션이 분리되어 쿠키 등이 공유되지 않음
// 외부 브라우저에서 URL 열기 (기본 동작)
Nachocode.browser.openLink('https://nachocode.io');
// 명시적으로 외부 브라우저에서 URL 열기 (Chrome, Safari 등)
Nachocode.browser.openLink('https://nachocode.io', 'external');
  • ✅ 메인 WebView와의 세션이 유지됨
  • ✅ 메인 WebView와 쿠키 공유 가능
  • ❌ 모바일 브라우저에서 동작하던 일부 기능이 동작하지 않을 수 있음
// 앱 내부 브라우저에서 URL 열기
Nachocode.browser.openLink('https://nachocode.io', 'internal');
  • ✅ Safari, Chrome 등 유저가 선택한 기본 브라우저를 활용
  • ✅ 모든 동작이 외부 브라우저와 동일하게 동작
  • ❌ 메인 WebView와의 세션이 분리되어 쿠키 등이 공유되지 않음
  • ❌ Native SDK 기능 이용 불가
// 앱 내부에서 기본 브라우저 엔진으로 URL 열기
Nachocode.browser.openLink('https://nachocode.io', 'internal_default');