PWA에서 삼성 브라우저 절대 못쓰는 이유 feat.Push
결론
일단 결론부터 말하면, 유저에게 필수 안내를 푸시로 보내기 위해서는 삼성 브라우저에서 PWA를 설치할 수 없게 해야 했다. 삼성 브라우저는 안드로이드 기본 웹 브라우저기 때문에, 당연히 지원하는 것으로 시작을 했지만 푸시를 테스트 할수록 지원 브라우저에서 멀어졌다.
단순히 푸시로 광고를 보낸다고 한다면 큰 상관은 없을 수도 있지만, 여러가지 확인해야 할 포인트가 있다.
삼성 브라우저에서 PWA를 설치하면 일어나는 일
1. 멋대로 바뀌는 브라우저 정책
브라우저 버전업 하면서 갑자기 삼성 브라우저에서 설치 버튼이 비활성화 된 것을 확인했다. 이전 버전으로 다운그레이드를 하면 설치가 잘 되었다. 문의까지 해 본 결과 삼성 브라우저가 크롬하고 다른 정책을 갖기로 한 것이었다.
문제가 있는 버전에서는 매니페스트와 서비스워커가 있어야 설치 가능하다. 크롬 브라우저에는 여전히 잘 설치가 되었기 때문에 안드로이드에서는 삼성 브라우저를 제외해야되나 고려하기 시작했다.
2. 앱이 있는데 브라우저로 오는 푸시
앱을 깔았는데 푸시가 앱이 아니라 삼성 브라우저로 온다. 아무리 웹스토리지도 공유되는 관계라고 해도 이해하기 어렵다.
이게 항상 그런 것은 아니고 서비스워커의 주도권(?)이 삼성브라우저랑 앱이 왔다 갔다 하는데 주도권을 갖고 있는 쪽으로 푸시가 오는 듯 했다. 최근에 사용한 쪽으로.
3. 앱을 삭제해도 오는 푸시
앱을 삭제한 다음, 지운 앱의 서비스워커에 푸시를 보내면 어떻게 될까?
- 사파리: 푸시 발송 성공 리턴, 폰에서 푸시를 보여주지는 않음
- 삼성: 푸시 발송 성공 리턴, 삼성 브라우저에서 푸시를 보여줌
이것이 가장 치명적인 이유였기 때문에 삼성 브라우저에서는 매니페스트와 서비스워커를 활성화 하지 않게 했다. (설치할 수 없게!)
삼성 브라우저의 캐시와 사용기록 등을 날리면 서비스워커도 날아가기 때문에 리셋이 되기는 한다. 하지만 서비스를 하는 입장에서 컴플레인이 들어올 수도 있고 컨트롤 하기 어려운 부분이 커지기 때문에 사용할 수 없었다.
사파리 브라우저는..?
그럼 iOS 에서 사용하는 사파리는 어떤가? 다른 포스팅에서 자세히 쓸 거 같지만, 어차피 iOS에서 돌아가는 브라우저는 사파리 뿐이므로 무조건 사파리에 맞춰야 한다. 쓸 지 말 지 고려대상이 되지 못 한다. 사파리가 안된다고 하면 대안을 찾아야 한다.
(아이폰에서 쓰던 크롬이 크롬의 탈을 쓴 웹킷이었다는 사실을 처음 알게 된 순간의 충격을 떠올리며…)
Leave a comment