리액트로 공유 기능을 구현하는게 이렇게나 어렵다니.
바이럴을 통해 수익을 내는 웹 앱을 React 기반으로 만들고 있다.
정확히는 Next.js 13.4 프레임워크를 활용하지만, 결국 내부는 리액트와 JSX다.
애를 먹고 있는게 있는데 바로 안드로이드 웹뷰.
안드로이드 웹뷰(WebView) 객체는 Navigator.share()를 지원하지 않는다.
그래서 iOS에서는 정상적으로 공유를 잘 불러내지만 안드로이드는 그냥 먹통이다.
무슨 일인지 모르겠으나 alert()도 먹히지 않는다.
그래서 여러 글을 찾아보니 아래와 같이 ClipBoard에 주소를 복사하게끔 처리하고 있다.
세상에 쉬운 일이 하나 없다.
참고 할만한 글
1. 순수하게 공유하기에 대해서 공부하기
https://velog.io/@otterji/navigation.share-copyClipboard
[React] 공유하기 기능 완벽하게 구현하기 (Web Share API)
iOS, Android, Web 각 상황에서 공유하기 기능을 구현하는 그 길고도 험난한 과정
velog.io
2. 안드로이드 앱 <-> 웹 페이지 간 통신에 대해서 공부하고 싶을 때
https://sesang06.tistory.com/170
iOS, Android WebView 와 네이티브간의 유용한 통신 방법 - Javascript Interface, Webkit Messaging
개발하고 있는 프로젝트에서 웹뷰는 상당한 레거시로 내려들어왔습니다. 하이브리드로 앱이 개발되었을 시절에 생긴 클라이언트와 백엔드, 웹프론트의 레거시란 레거시가 모두 집약되어 나타
sesang06.tistory.com
3. 카카오톡 공유하기까지 있는 아티클
[React] 우리서비스를 더 널리, SNS 공유하기 (Navigator.share)
들어가며 이번에 갑자기 서비스를 운영 중에 팬덤을 타고 SNS에 서비스가 공유되는 일이 발생했었습니다. 그래서 이번 기회에 유저의 편의성을 위해 링크를 만들어 제공하거나 SNS로 바로 공유가
all-dev-kang.tistory.com