투케이2K

100. (TWOK/LOGIC) [Mobile] 모바일 ( android , ios ) 웹뷰 실시간 URL 변경 주소 감지 및 전화 , 문자 , 링크 , 마켓 , 앱 이동 로직 본문

투케이2K 로직정리

100. (TWOK/LOGIC) [Mobile] 모바일 ( android , ios ) 웹뷰 실시간 URL 변경 주소 감지 및 전화 , 문자 , 링크 , 마켓 , 앱 이동 로직

투케이2K 2024. 10. 21. 19:45

[로직 정리]

정리 로직 : Mobile

상태 : [Mobile] 모바일 ( android , ios ) 웹뷰 실시간 URL 변경 주소 감지 및 전화 , 문자 , 링크 , 마켓 , 앱 이동 로직

 

[설 명]

 


// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------

- 준비 : 안드로이드 프로젝트 생성 및 Webview 클래스 구현 필요

- 준비 : 웹 개발자와 인터페이스 통신에 대한 사전 협의 필요

  >> tel 전화 , sms 문자 , l 하이퍼링크 ,  market 마켓 이동 , app 앱 이동

  >> 안드로이드 인 경우 : 앱 이동을 위해서는 사전 네이티브 AndroidManifest.xml 파일에 패키지 명칭 추가 적용 필요

    <queries>
        <package android:name="com.sec.android.app.myfiles" />
    </queries>

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------

1. 웹 프론트에서 특정 버튼 및 a 태그 생성 후 클릭 수행 실시

  >> 사전 모바일 네이티브에서는 해당 동작 이벤트 감지를 위해 웹뷰 클래스 생성 및 이벤트 등록 필요


2. 모바일 (Android , Ios) 에서 실시간 로드 되는 주소 확인 수행

  >> Android : shouldOverrideUrlLoading 메소드 : String url

  >> Ios : webView decidePolicyFor 메소드 : navigationAction.request.url


3. 인터페이스 규약에 맞게 데이터 형식이 내려온 경우 웹 URL 로드 요청 return 중지 설정

  >> 전화 다이얼창 호출 : tel:010-1234-5678
  >> 문자 메시지 호출 : sms:010-1234-5678
  >> 외부 링크 이동 : l:https://www.naver.com
  >> 마켓 이동 : ex - android : market:패키지 명칭 / ex - ios : market:앱 아이디
  >> 앱 실행 : ex - android : app:패키지 명칭 / ex - ios : app:스키마 명칭


4. 모바일 네이티브에서는 정의 된 동작 형식에 맞게 로직 분기 처리 수행

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[안드로이드 : 웹뷰 로드 화면 관련 클래스 정리]

https://blog.naver.com/kkh0977/222680670897


[IOS : 웹뷰 로드 화면 관련 클래스 정리]

https://blog.naver.com/kkh0977/222686770495


[안드로이드 : 웹뷰 shouldOverrideUrlLoading 실시간 주소 감지 부분 확인 및 외부 앱 실행 실시]

https://blog.naver.com/kkh0977/222609446743?trackingCode=blog_bloghome_searchlist


[IOS : 웹뷰 decidePolicyFor 실시간 주소 감지 부분 확인 및 외부 앱 실행 실시]

https://blog.naver.com/kkh0977/222609452675?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------

 

반응형
Comments