app-launcher
v1.7.3
Published
IOS, Android, Naver Store 지원 앱 런처
Downloads
113
Maintainers
Readme
[M] AppLauncher
Description
- 안드로이드/iOS/네이버 앱 스토어 각각에 대한 앱 실행 제어를 하는 공통 모듈
- iOS 9 유니버셜 링크 대응 완료(앱, 서버 작업이 별도로 필요합니다.)
Usage
Download
- AU Guide 참조
AU Guide
- http://viewoss.navercorp.com/sau/_AppLauncher/master/__index.html#open=0
Web2App 연동 가이드
네이버 앱 연동 가이드
웹에서 네이버앱의 기능을 호출하기 위한 url scheme 가이드 문서임(외부 배포시에는 pdf로 전달) 외부로 open되는 scheme만 포함하며, 네이버앱 내에서만 사용되는 scheme은 web2AppForInAppOnly를 참조.
- 바로가기 - http://wiki.navercorp.com/pages/viewpage.action?pageId=233459191
Check List
네이버 인앱 여부 판단 로직
네이버 인 앱일 경우 window._g_inapp or Agent 정보에 NAVER 포함 여부로 체크 중
iOS 앱 런처 플로우 차트
Android 앱 런처 플로우 차트
Browser Support
| Android | iOS Safari | | ------- | ---------- | | 2.3.6+ | 7.0+ |
About Issue
- 버그, 사용법, 스펙 관련 문의 등은 이슈에 글을 남겨 주세요.
v1.7.3 - 2016.08.16.
- iOS 10 대응 로직 추가
v1.7.2 - 2016.01.27.
- naverapp 스킴의 경우 Intent 방식 호출이 불가능하다고 하여 분기문 추가
v1.7.1 - 2016.01.27.
아래 이슈 대응을 위한 인앱 & 안드로이드 4.4 이상 iframe 실행되도록 수정
- 버그1. JavaScript Interface를 add할 수 없음
- 환경 : child window & 안드로이드 버전 4.4.x (아래 메일에 4.2~4.4로 적은 것은 잘못되었습니다. 무시해주세요 ^^;)
- 번역 기능을 사용하기 위해서는 JavaScript Interface를 통해 웹페이지/앱 사이의 상호작용이 반드시 필요한데,
- 안드로이드 버전 4.4.x 대의 child window에서는 add가 되지 않는 버그가 있어 기능 사용이 불가능.
- 버그2. child window에서 url이 로딩될 때 앱의 shouldOverrideUrlLoading() 콜백 함수가 호출되지 않음.
- 환경 : child window & 안드로이드 버전 4.4 이상. child window에서 url이 로딩될 때 앱의 shouldOverrideUrlLoading() 콜백함수가 호출되어야 앱 상에서 해당 url의 로딩을 막는 등의 처리가 가능한데, 안드로이드 버전 4.4 이상의 child window에서는 이 콜백함수가 호출되지 않는 버그가 있어서 앱 상에서 url의 로딩을 막을 수 있는 방법이 없기 때문에 스킴 등이 호출될 경우 스킴 url 자체가 로딩되면서 찾을 수 없는 페이지 화면이 노출됨 => 이에 대한 대응책으로 iframe으로 wrapping하는 아래의 가이드를 제공하고 있음.
- [가이드] 6. 안드로이드 네이버앱에서 URL Scheme 호출 시 이슈 처리 방법 - http://developer.naver.com/wiki/pages/UrlScheme
v1.7.0 - 2016.01.13.
- 유니버셜 full-url 대응을 위한 속성 추가
- data-universal-fullurl 이 정의되어 있을 경우 최우선 작동
v1.6.2 - 2015.10.12.
- iOS 8 패드류에서 음성 인식 실행시 일정시간 후 앱스토어로 이동되는 현상 수정
- 앱 설치 타이머 시작 후 앱 실행하도록 순서 변경
v1.6.1 - 2015.09.17.
- iOS 8 에서 인스톨 시간체크를 너무 늦게 해서 취소시 경고창 뜨는 현상 제거
- 기존 1500, 2000 -> 1000, 1500으로 수정
- iOS 8 에서도 fallback url 정상 작동 안하는 현상이 발견되어 기능 제거 (네이버 뮤직 원본 코드에서도 재현되는 현상)
v1.6.0 - 2015.09.09.
- iOS 9 & 네이버 인앱이 아닐 경우 2초뒤 자동 설치 기능 제거(2015.09.14 운영 결정 사항)
- 앱 실행 or 자동 설치 기능은 유니버셜 링크 기능으로 대응
- 앱 미설치시 이동할 URL 을 지정할 수 있는 fallback 기능 추가 only iOS 8 (네이버 뮤직 요청)
- data-ios-fallback
- iOS 9 일경우 유니버셜 링크로 활용
- 안드로이드는 환경 이슈로 intent 앱 실행 방식으로 통일(네이버 뮤직 히스토리)
v1.5.1 - 2015.09.05.
- nhn.mobile.oAppLauncher 인스턴스 복구(검색에서 이미 사용중이므로 원상복구)
v1.5.0 - 2015.09.02.
- iOS9 일때 유니버셜 링크가 있을 경우 유니버셜 링크를 활용해서 앱 실행되도록 기능 추가
- unsupported message 옵션 추가 - 지원하지 않는 디바이스일 경우 경고창 뜨는 기능
- 안드로이드 action, category 등 스킴 사용 가능하도록 기능 추가
- 설정 정보에 추가해 주면 자동으로 Intent 스킴에 추가되는 구조
- 인앱 판단 로직에 NAVER 체크 하도록 수정
- 앱 런처 구조 리팩토링
- nhn.mobile.oAppLauncher 인스턴스 제거
v1.4.0 - 2015.08.06.
- 네이버 앱 스토어 정보가 있을 경우에 대한 로직 변경
v1.3.0 - 2015.08.05.
- Feat: 사용자 컨펌 옵션 추가
- Feat: 무조건 마켓으로 이동 할 수 있는 옵션 추가
- Feat: 앱이 없을 경우 특정 URL 로 이동 시킬 수 있는 기능 추가
- Fix: 네이버 앱 설치 여부 확인 콜백 이름 수정
v1.2.0 - 2015.07. 03.
- 네이티브 버전으로 전환
v1.1.3 - 2015.06.15.
- img 태그로 정상 작동 하는 것이 아닌 것이라서 다시 기존 iframe 으로 롤백 처리(앱 스토어로 이동하여 작동하는 것처럼 보였던 것...)
- IOS 7 일 경우 iframe으로 실행해도 경고 메시지 노출되는 이슈 있음.
v1.1.2 - 2015.06.12.
- 아이폰 하위 버전에서 경고창 뜨는 증상이 발생하여 iframe -> img 태그로 앱 실행되도록 기능 수정
v1.1.1 - 2015.06.09.
- nhn.mobile.launchApp 메소드 추가
- nhn.mobile.oAppLauncher 인스턴스 자동 생성되도록 수정
v1.0.4 - 2015.06.04.
- 아이폰에서 앱 설치되지 않았을 경우 오류같이 경고창 뜨는 현상 수정(iframe 사용)
v1.0.3 - 2015.05.19.
- 프로젝트/네임스페이스/파일명 카멜 표기법으로 수정
2015.04.22.
- 네이버 앱 런처 모듈 적용
- 샘플페이지 부트스트랩으로 디자인 적용
2015.04.17.
- Git project로 전환
- 기존 코드 테스트 코드 작성