next + pwa 홈화면에 추가 버튼 생성

2020. 5. 28. 17:14·Nextjs

beforinstallpropt라는 wepAPI를 사용하여 클릭시에 홈화면에 추가 할 수 있도록 했다. 다만 ios에서는 불가능하고 안드로이드만 가능하다

 

useEffect에서 이벤트를 생성한다

  let installPrompt = null;
  
  useEffect(() => {
    console.log('Listening for Install prompt');
    window.addEventListener('beforeinstallprompt', (e) => {
      // For older browsers
      e.preventDefault();
      console.log('Install Prompt fired');
      installPrompt = e;
      // See if the app is already installed, in that case, do nothing
      if (
        (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) ||
        window.navigator.standalone === true
      ) {
        return false;
      }
    });
  }, []);

 

클릭시에 실행할 함수

const installApp = async () => {
    if (!installPrompt) {
      alert('이미 다운로드 했습니다')
      return false;
    }

    installPrompt.prompt();

    let outcome = await installPrompt.userChoice;

    if (outcome.outcome == 'accepted') {
      console.log('App Installed');

    } else {
      console.log('App not installed');
    }
    // Remove the event reference
    installPrompt = null;
  };

참고 : https://blog.anam.co/progressive-web-apps-with-create-react-app/

반응형
저작자표시 비영리 변경금지 (새창열림)

'Nextjs' 카테고리의 다른 글

next js에서 pwa 다운로드 버튼 생성하기  (0) 2020.08.07
next js에 pwa 적용하기  (0) 2020.08.07
next + pwa 설정  (0) 2020.05.28
Next js 튜토리얼 8편 : 배포  (0) 2019.10.10
Next js 튜토리얼 7편 : 컴포넌트 스타일링  (0) 2019.10.05
'Nextjs' 카테고리의 다른 글
  • next js에서 pwa 다운로드 버튼 생성하기
  • next js에 pwa 적용하기
  • next + pwa 설정
  • Next js 튜토리얼 8편 : 배포
vitnal
vitnal
4년차 프론트엔드 개발자 입니다. 이 블로그는 기록하고 싶은 내용을 저장하기 위해 사용하고 있습니다. 정제되지 않은 내용이 있을 수 있는 점 양해 부탁드립니다.
  • vitnal
    vitnal 아카이브
    vitnal
  • 전체
    오늘
    어제
    • 분류 전체보기 (154)
      • What I Read (2)
      • AI (5)
      • WEB (8)
      • React (21)
      • Nextjs (17)
      • JavaScript (16)
      • React Native (5)
      • Git (15)
      • Dev Tools (23)
      • Deploy (12)
      • Tech Memo (22)
      • Retrospect (7)
  • 반응형
  • hELLO· Designed By정상우.v4.10.5
vitnal
next + pwa 홈화면에 추가 버튼 생성
상단으로

티스토리툴바