isIosWebView & isAndWebView

export const isIOSWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
  getUA,
);
export const isAndWebView = !!window.binder;

 

bridgeOpenBrowser - 외부화면 이동

export const bridgeOpenBrowser = (url: string): void => {
  try {
    if (isIOSWebView) {
      webkit.messageHandlers.openBrowser.postMessage({
        url: url, // 이동할 경로
      });
    } else if (isAndWebView) {
      window.binder?.openBrowser(url);
    } else {
      window.open(url);
    }
  } catch (e) {
    console.log('error bridge openBrowser');
  }
};

 

 

bridgeOpenAppSchemeStore - 앱스키마로 스토어로 이동

export const bridgeOpenAppSchemeStore = () => {
  try {
    if (isIOSWebView) {
      //iOS는 스키마가 없어서 브라우저로 열기
      const update_url = 'https://itunes.apple.com/app/어쩌고';
      bridgeOpenBrowser(update_url);
    } else if (isAndWebView) {
      //스키마, 패키지명
      window.binder?.openAppScheme(
        'market://details?id=com.어쩌고.lmscp',
        'com.어쩌고.lmscp',
      );
    }
  } catch (e) {
    console.log('error bridge restart');
  }
};

'WEB&APP' 카테고리의 다른 글

Intent 스킴  (0) 2024.11.14
[iOS] 앱 간 이동, 외부 앱 실행 방법  (0) 2024.11.13
[javaScript] 화면 밝기 조절  (0) 2024.11.11

+ Recent posts