본문 바로가기

IT&Programming

네이버 Android Map API Key 변경

기존의 네이버 안드로이드 지도 Open API를 잘 사용하고 있었는데 갑자기 문자 한 통이 왔다.

개발자 센터에서 지도 Open API 지원이 종료되고 네이버 클라우드 플랫폼이라는 새로운 사이트에서 Maps API를 이용 신청해서 Client ID를 새로 받아서 변경해줘야 이용 가능하다고 한다. 

 

Naver Open API 서비스 변경

귀찮아서 그냥 무시하고 쓰다가 4월 16일이 되자마자 앱에서 네이버 지도가 적용되지 않고 하얀색 빈 화면이 떴다.

역시 발에 불이 떨어져야 시작한다고 부랴부랴 네이버 클라우드 플랫폼에 접속하니 계정을 만들고 결제수단까지 등록하고 나니 Open API 사용이 가능하게 바뀌었다.

https://www.ncloud.com/

 

기존 네이버 개발자 센터에 비해서 한눈에 들어오지 않고 난잡해 보이긴 했지만 차츰 적응해 가겠지...

 

나는 Android용 Map API가 필요했기에 Mobile Dynamic Map 서비스를 신청했다.

Mobile Dynamic Map(v2)Mobile Dynamic Map(v3) 사용 가이드가 있는데 v2는 올해 까지만 지원하고 v3로 마이그레이션 해서 사용하길 추천하고 있다.

 

하지만 당장 앱에 지도 API가 적용이 안돼서 인증 키만 변경해서 동작시키는 게 우선이라서 일단 v2로 Android Maps를 사용하기로 했다.

 

기존 코드에서 Client ID만 변경해서 빌드하고 실행하니 지도가 나오지 않는다. ㅡㅡ

가이드를 보며 하나씩 수정해보자

1. build.gradle 수정

build.gradle에서 사용하던 implementation 'com.naver.maps.open:naver-map-api:2.1.2@aar'에서

implementation 'com.naver.maps.open:naver-map-ncp-api:2.1.7'로 변경해주고 gradle을 빌드했다.

버전업과 함께 naver-map-api에서 naver-map-ncp-api로 변경되었다.

 

build.gradle에서 dependencies 수정

2. 인증 정보 받기와 코드 수정(약간)

네이버 클라우드 플랫폼 사이트에서 Maps Open API 이용 신청을 하고 Application을 등록하면 인증 키를 받을 수 있다.

 

Naver API Application 등록
새로운 Application 인증키 

새로 받은 인증 정보에서 Client ID를 복사해서 기존 코드의 CLIENT_ID에 넣어 준다.

여기에선 Client Secret은 사용하지 않는다.

 

받은 인증정보에서 Client ID를 넣어주자
setClientID -> setNcpClientID로 변경

그리고 CLIENT_ID 받는 부분의 코드도 살짝 수정해주자

mMapView.setClientid(CLIENT_ID)에서  mMapView.setNcpClientid(CLIENT_ID)로 변경해준다.

 

이제 빌드해서 앱을 동작하니 네이버 지도가 나온다!!!

v2는 올해까지만 지원한다고 하니 결국 v3로 마이그레이션 해야 한다.

 

v3는 좀더 수정할  부분이 많은데 일단 소기의 목적은 달성했으니 다음번에 진행해야겠다.