본문 바로가기
웹앱(하이브리드앱)

웹앱? 웹뷰? 하이브리앱? 모바일웹을 앱으로 감싸보자

by xavi2019 2020. 3. 4.

웹앱/하이브리드앱의 경우

모바일웹 사이트를 만들어 놓고, iOS나 Android로 껍데기(웹뷰)만 만들면 될 줄 알았는데

잘 안되는 경우가 많아서...

 

정리해보고 다시 만들어 볼까한다..

 

아래 내용은, 내가 만들어본 앱이 가지고 있는 기능들이다.

 

모바일웹을 앱으로 패키징소스(Java, Swift) 판매합니다.
h e l p @tera.co.kr 로 문의주세요.

 

  1. 앱 이용 선택/필수 권한 동의 팝업
    1. 정통망법에 따라 반드시 노출해야 하는 화면.
    2. 모바일웹에서 웹개발자가 직접 구현해도 됨.
    3. 네이티브에서 구현할 경우, 내용이 바뀌면 앱 업데이트를 해야 하는 단점
  2. Firebase 사용
    • Analytics / Crashlytics
      • 이용통계 및 비정상 종료 감지
    • Cloud Messaging
      • 클라우드 메시징, FCM, Push, 푸시 노티피케이션
      • Device Token은 웹 Request 헤더에 보낼 예정
      • 웹개발자가 Device Token과 웹인증정보를 적절히 처리하여 DB에 저장해야함
      • 푸시의 경우 2가지 종류가 있으며 웹개발자가 발송 기능을 구현해야함
        1. 전체 푸시
          • 단순 알림창
          • 알리고 특정페이지로 이동하는 기능
        2. 특정인에게 푸시
          • 단순 알림창
          • 알리고 특정페이지로 이동하는 기능
      • 앱에서는 푸시 수신만 함. 반드시 발송기능은 별도로 구현하셔야 함.
    • Remote Config(또는 Firestore<--DB)
      • 앱 강제/선택 업데이트 관리.
      • 특정 URL은 외부브라우저로 보기
      • 특정페이지 백버튼 컨트롤
      • 앱 업데이트 없이 서비스 초기 페이지 변경
    • Dynamic Link(시간나면)
      • 원래 다이나믹링크는 PC/iOS/Android 를 1개의 URL로 디바이스 타입에 따라 이동하는 거
      • 다이나믹링크중 Deep Link 기능이 있는데, App의 특정 페이지로 이동 시킬 수 있으며
      • App이 설치되어 있지 않을 경우, 스토어로 이동하거나, 모바일웹 페이지로 이동하게 설정이 가능하다.
    • Functions(시간나면)
      • AWS의 람다와 비슷한 기능.
      • 특정 이벤트(주로 FireStore 감시랑 사용)가 발생할 경우 메일이나 노티를 보낼 수 있음
      • Crontab처럼 스케줄링도 가능함
    • App Distribution(시간나면)
      • App을 테스트로 배포하는 기능
  3. 스플래시 화면 
    • 배경화면은 포인트 컬러, 회사 로고를 보여주고 자동으로 Main으로 이동하는 기능
  4. 새창 띄울 수 있게
    • 카카오로 가입, PASS(본인확인) 등 새창으로 띄우는 기능이 의외로 잘 안먹히는 경우가 많음. 이 부분을 해결해 봄
  5. 초기 페이지에 App임을 알리는 파라미터 or 헤더 추가
    1. 웹뷰 앱의 경우, 웹개발자가 앱에서 호출한 것인지, 모바일웹에서 호출한 것인지 구분하기 힘들 경우가 많음.
    2. 따라서 초기페이지에 MODE=APP&DEVICE=IOS 등으로 파라미터를 넘겨주거나
    3. 헤더에 위 값을 추가 할 예정
  6. 모바일웹에 구현된 파일 업로드 기능에 대한 처리 필요
    • 기본 웹앱으로는 기능이 처리가 안됨.
    • 이미 웹사이트에 구현된 <input type=file>에 대한 처리 필요
    • 이미지를 편집하는 기능이 아님.
  7. 시스템폰트 크기를 키운 사람들 방지
    • 노안(?)으로 의외로 폰트를 키운 사람 많음.
    • 이 경우, 레이아웃이 깨지는 경우가 많음. 
    • 이 기능 방지하기
  8. 안드로이드의 경우 SSL 오류를 받은 부분 처리
    • 이 부분 처리가 안되면 플레이스토어에 등록이 안되었던 기억이 있음.
    • 정확하지 않지만, 처리할 예정
  9. 일부 결제사(PG)의 경우 삼성카드 등록이 안되는 부분에 대한 예외 처리
  10. 네이버 로그인의 경우, 네이버앱으로 보내는 기능 구현필요
  11. (안드로이드) '뒤로' 버튼을 한번 더 누르면 앱이 종료됩니다. 기능 구현
  12. 모바일웹의 js를 호출하거나, 반대로 모바일웹에서 앱 함수를 호출하는 브릿지(콜백) 기능 구현
    • 이 기능을 이용하여, 카카오톡 / 문자 / 클립보드 등으로 공유하는 기능 구현
  13. 위치정보(위도/경도) 구해서 모바일웹으로 toss

 

댓글