Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 프론트개발공부
- leetcode
- 자바스크립트 split()
- 날씨 웹 만들기
- [파이썬 실습] 심화 문제
- [AI 5기] 연습 문제집
- 프로그래머스
- 엘리스 AI 트랙 5기
- 자바스크립트
- 리트코드
- reactnativecli
- 자바스크립트 날씨 웹 만들기
- 코딩부트캠프
- RN 프로젝트
- 자바스크립트 날씨
- 엘리스
- [파이썬 실습] 중급 문제
- 간단한 날씨 웹 만들기
- [파이썬 실습] 기초 문제
- 엘리스 ai 트랙
- 프론트개발
- 삼항연산자
- 개발공부
- 자바스크립트 reduce()
- HTML
- 개발일기
- JavaScript
- 자바스크립트 sort()
- 코드스테이츠
- 부트캠프
Archives
- Today
- Total
개발조각
[react-device-detect] 각 디바이스마다 맞는 스토어 이동기능 구현하기 본문
728x90
반응형
회사에서 랜딩페이지를 작업하면서 react-device-detect를 사용한 경험에 대해서 정리해보려 한다.
만들어야 되는 기능
웹에서는 안드로이드 다운로드, ios 다운로드 버튼이 각각 있다.
모바일에서는 다운로드 하나만 있는데,
안드로이드에서 클릭하면 구글플레이스토어로 들어가고
ios에서 클릭하면 앱스토어로 들어가야 된다.
웹에서는 둘 다 만들면 되니까 별상관이 없는데 모바일에서는 디바이스가 무엇인가에 따라 처리해야 하니 난감하다는 생각이 들었다.
그래도 구원해 줄 라이브러리는 언제나 존재한다.
바로 react-device-detect이다.
https://www.npmjs.com/package/react-device-detect
react-device-detect
Detect device type and render your component according to it. Latest version: 2.2.3, last published: 7 months ago. Start using react-device-detect in your project by running `npm i react-device-detect`. There are 1009 other projects in the npm registry usi
www.npmjs.com
이 라이브러리에는 모바일인지 아닌지 판단부터, 안드로이드인지, ios인지 판단해 주는 아주 좋은 라이브러리이다.
해결방안
import { isAndroid, isIOS, isMobile } from "react-device-detect";
const downloadMobile = () => {
if (isAndroid) {
location.href = "구글플레이스토어 해당 앱 링크";
} else if (isIOS) {
location.href = "앱스토어 해당 앱 링크";
} else {
// android
location.href = "구글플레이스토어 해당 앱 링크";
}
};
return(
{/* 앱 다운로드 링크 */}
<div className="download-link">
<div className="download-link-wrap">
<div className="pc">
<a href="구글플레이스토어 해당 앱 링크">
<span>Google Play</span>
</a>
<a href="앱스토어 해당 앱 링크">
<span>App Store</span>
</a>
</div>
</div>
{/* 모바일 다운로드 링크 */}
<a className="mobile" onClick={downloadMobile}>
<span>다운로드</span>
</a>
</div>
);
728x90
반응형
'라이브러리' 카테고리의 다른 글
[recoil, recoil-persist] 로그인 구현시 recoil-persist로 storage에 토큰 넣기 (0) | 2023.12.19 |
---|---|
[react-device-detect & video-react] 비디오 배경만들때 pc일때는 pc비디오, mobile일때는 mobile비디오 나오게 하기 (0) | 2023.09.21 |
[Swiper & React] Swiper로 두개의 슬라이드 동시에 제어하기 (0) | 2023.09.10 |
[Swiper & React] Swiper로 화면 밖에 navigation 만드는 방법 (0) | 2023.09.10 |
[Swiper & React] Swiper로 화면 밖에 pagination 만드는 방법 (0) | 2023.09.10 |
Comments