안드로이드 버전 카카오 T SDK 개발기

 

 

이번 주제는 카카오T에 주차서비스를 탑재하는 프로젝트를 다룰 것이다.

카카오 모빌리티에서 카카오T안드로이드 앱을 개발하고 있는 윌슨님의 프로젝트 진행과정에서

기술적인 문제와 문제 해결 방법을 설명하겠다.

카카오 내비에 카카오 모빌리티를 접목시키는 이유?

카카오 모빌리티는 "우리의 기술로 생활을 움직입니다"라는 비젼을 바탕으로 다양한 모빌리티 서비스를 제공한다.

카카오 내비가 제공하는 서비스를 생각해보자.

운전자는 목적지까지 원하는 경로로 이동한다. 하지만 주차 공간은 내비가 제공하지 못한다!

따라서 카카오 모빌리티의 또다른 서비스(주차)를 접목시킨다면 운행을 잘 마무리 할 수 있다.

 

 

 

카카오T주차는 사전예약과 자동정산의 서비스를 제공한다.

 

따라서 카카오 내비에 카카오T주차에 자동정산 서비스를 연동하는 프로젝트를 시행하였다.

이 프로젝트는 카카오T주차 서비스를 SDK로 만들어서 내비 앱에 탑재한다.

이를 통해 지속적으로 업데이트를 하여 배포할 수 있다.

 

 

SDK설계 과정

주차,대리,택시 모듈 : 개별 서비스 제공

플러그인 모듈 : 플랫폼성 기능에 인터페이스 선언

앱 모듈 : 인터페이스의 구현체를 제공

Base 모듈 : 각종 유틸리티 코드 

 

 

 

만약 주차 모듈이 동작하려면 주차 모듈이 의존하는 모듈( 플러그인,Base모듈)이 필요하다. 하지만 플러그인의 인터페이스를 실질적으로 구현하는 앱 모듈이 필요하다.

따라서 새로운 모듈인 코어 SDK 모듈이 필요하다.

1번은 빠르긴 하나 2번이 모듈로 재사용이 가능하기 때문에 유지보수하기에 적합하다.

 

 

 

주차 모듈 이외에 다른 모듈 또한 코어SDK 모듈을 사용할 가능성이 있기 때문에 직접 접근하는 방식이 아니라

주차SDK 모듈을 만든 후 연결시켜 주었다.

 

구현단계 문제

인증 문제 : 사용자 인증이 필요(로그인) 앱로그인과 별개로 SDK에서 또한 로그인이 필요하다. 따라서 앱에서 로그인한 정보를 이용해 SDK에서 사용자 인증을 연동시키게 한다. 카카오 계정을 기반으로 관리하기 때문에 두개의 매핑이 가능하다.

푸쉬 문제 : 자동정산 서비스는 주차장 입차/출차 문제를 푸쉬로 발송한다. 앱은 푸쉬를 하지만 sdk에서 푸쉬를 한다? 말이 안된다. 결국 내비 앱과 내비 서버를 의존한다. 주차서버가 내비 서버에 푸쉬발송요청 API를 호출한다.  그 이후 아래와 같은 절차를 밟는다.

 

 

이후 2019년 7월 말부터 앱을 배포하고 서비스를 시행했다.

 

서비스 시작 후 작업을 할 때마다 카카오T와 카카오T SDK를 이중으로 코드를 수정해야 함. 따라서 이와 같은 모듈을 분리하여 코드를 쉽게 유지보수할 수 있다.

 

 


 

포스팅한 내용은 아래의 동영상을 참고하여 만들었습니다.

 

 

출처 : if.kakao.com/session/58

 

if(kakao)2020

오늘도 카카오는 일상을 바꾸는 중

if.kakao.com

 

 

+ Recent posts