[M] AppLauncher
Description
- 안드로이드/iOS/네이버 앱 스토어 각각에 대한 앱 실행 제어를 하는 공통 모듈
- iOS 9 유니버셜 링크 대응 완료(앱, 서버 작업이 별도로 필요합니다.)
Usage
Download
- AU Guide 참조
AU Guide
Web2App 연동 가이드
네이버 앱 연동 가이드
웹에서 네이버앱의 기능을 호출하기 위한 url scheme 가이드 문서임(외부 배포시에는 pdf로 전달) 외부로 open되는 scheme만 포함하며, 네이버앱 내에서만 사용되는 scheme은 web2AppForInAppOnly를 참조.
Check List
네이버 인앱 여부 판단 로직
네이버 인 앱일 경우 window._g_inapp or Agent 정보에 NAVER 포함 여부로 체크 중
iOS 앱 런처 플로우 차트
Android 앱 런처 플로우 차트
Browser Support
Android | iOS Safari |
---|---|
2.3.6+ | 7.0+ |
About Issue
- 버그, 사용법, 스펙 관련 문의 등은 이슈에 글을 남겨 주세요.
## Contact * 공통 모듈 관리: AU개발랩 천석환, AU개발랩 김지태 * 네이버앱 바로가기 절차 기획: 검색운영실 박유은
## Changelog
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로 전환
- 기존 코드 테스트 코드 작성