Presentations
Templates
Features
Teams
Pricing
Log in
Sign up
Log in
Sign up
Menu
Mobile Web
BrowSer
파편화
개요
Mobile Web Browser에서 Kakaotalk 아이콘 터치 시,
Kakaotalk을 실행하는 기능에 대한 구현
iOS, Android에서 실행하는 방법에 미묘한 차이가
있어서 생기는 문제 공유
App 호출 방법
kakaolink://sendurl?파라메터 형식으로
location.href를 변경
APP이 설치되어있다면, 해당 요청에 의해서
화면 전환이 일어남
setTimeout으로 특정 시간 내에 화면 전환이
일어나지 않은 경우, 미설치로 간주
문제점
safari인 경우 url이 올바르지 않으면 alert을 띄우며
이동을 하지 않지만, safari가 아닌 경우는 404 not found
출력
위의 문제를 해결하기 위해 android에서는 iframe 삽입을
이용
iframe이기 때문에, 보안이슈가 발생함.
특정 brower에서는 iframe을 삽입하여
화면전환 시도 시 brower 차원에서 차단
android chrome brower에서 해당 현상 확인
해결방법
android에서는 kakaolink://가 아니라
intent: 로 호출 시 APP 호출 가능함
android chrome에서 정상작동 확인
그러나...
intent로 호출되는 경우 APP이 설치되어 있지
않으면 강제로 마켓으로 이동함
as-is 요구사항은 APP이 설치되어 있지 않다면
마켓으로 이동하는 게 아니라 미설치 알림을
나타내는 것
해당 기능 chrome에서는 구현 불가
설상가상으로..
android 특정 버전(jelly bean)부터는 내장 브라우저가
chrome(이전 버전은 webkit + v8 구현체)
같은 android기기여도 내장 browser가 다르게 되버리는
문제 발생
safari(iOS)에서는 APP이 설치되어 있지 않은 경우,
"올바르지 않은 url입니다" 라는 alert이 자동으로 뜨는데
이 부분도 제어 불가
현재 m.gsshop.com에서는 위의 문제들을 해결하지 않아서
chrome brower or jelly bean 이후 버전의 내장 browser로는
kakaotalk app 실행이 안 되는 문제 있음
결론
현재 iOS와 Android만 해도 이정도의 문제가 있는데,
추후 Taizen, Window Mobile, Firefox OS 등을
지원해야 한다면.......
mobilewebbrowserbroken
By TaeHee Kim
mobilewebbrowserbroken
1,301
TaeHee Kim
Software Engineer / Bassist
github.com/rotoshine
winterwolf0412
More from
TaeHee Kim