본문 바로가기
개발일기/부산버스

안드로이드 앱에 카카오 링크 사용하기

by 유주원 2015. 2. 4.

카카오톡 API가 쏵 개편되었다는 것을 최근에야 안 나....

그래서 변경된 API를 적용하기 위해 카카오 링크를 사용하기로 했다.


우선 카카오 API를 사용하기 위해서는 카카오 developer에 등록을 해야 한다.

https://developers.kakao.com/


간단한 회원 인증 절차를 마치면 아래 창과 같이 로그인이 되고.. 빨간색으로 표시한 화살표를 클릭하면

내 계정, 내 애플리케이션, 로그 아웃 메뉴를 확인할 수 있다.

내 애플리케이션을 클릭한다. (나 같은 경우에는 이미 앱만들기를 진행한 상태라 앱이 표시되어 있음)



새로 등록한 사용자라면 앱 만들기 버튼을 클릭해서 API를 사용할 앱을 등록해야 한다.

아마 앱 이름만 등록해주면 알아서 애플리케이션이 만들어 질 것이다. (내 기억상으로는...)



이렇게 생성된 앱의 정보를 보면 기본적인 앱키가 제공이 되고 아마 플랫폼에는 아무것도 없을 것이다.

플랫폼 추가 버튼을 클릭하여 지원할 플랫폼을 추가하자.

나같은 경우에는 android와 웹 두가지 플랫폼을 추가하였다.




안드로이드 플랫폼을 추가할때에는 패키지명과 마켓url, 그리고 키해시를 넣어야 한다.

앱을 출시한 사람들은 키해시가 무엇인지 알겠지만, 모르시는 분들을 위해 간략하게 설명하자면 

코드 사이닝과 같이 해당 앱을 인증하기 위한 인증서 역할을 하는 키값이라고 보면 될 것 같다.

터미널에서 키해시를 생성하는 것은 아래와 같다. IDE에서는 아마 build with signing 머 이런 메뉴를 선택하면 

될 것 같다. (IDE마다 메뉴가 다른 관계로)


$> keytool -exportcert -alias testkey -keystore test.keystore | openssl sha1 -binary | openssl base64


이제 회원 가입과 앱키 생성이 끝났으니, 카카오 sdk를 연동해 보도록 하자


gradle 사용자 위주로 설명하겠다. gradle만 사용을 해서...


우선 해당 프로젝트의 gradle 파일을 열어서 dependency에 아래와 같이 카카오 sdk를 추가한다.


dependencies{

  ....

  compile 'com.kakao.sdk:kakaolink:+@aar'

  compile 'com.kakao.sdk:util:+@aar'

}


참고로 카카오 sdk의 최소 안드로이드 sdk 버전은 10이기 때문에 minSdkVersion도 10으로 맞춰줘야 한다.


그 후 전체 프로젝트의 gradle 파일을 열어서 maven 저장소를 추가해준다.

추가해주지 않으면 gradle에서 해당 url을 찾지 못한다.


subprojects{

  repositories{

      mavenCentral()

      maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/'}

  }

}


이제 AndroidManifest.xml 파일을 열어서 카카오 develop 페이지에서 등록한 앱의 키를 값으로 입력한다.


<application
   .....
   meta-data android:name="com.kakao.sdk.AppKey" android:value="앱키" />
</application>


카카오 API를 사용하기 위한 모든 환경 설정이 끝났다.

이제부터는 코드상에서 어떻게 카카오 API를 호출해야 하는지를 살펴보도록 하자.

위의 코드를 실행하였을 때 만약 "메세지를 발송한 앱의 설정(사이트 도메인)에 오류가 있어 메세지를 전송할 수 없습니다.

해당 앱의 관리자에게 문의하세요" 라는 팝업이 뜬다면 카카오 개발자 사이트에서 설정했던 플랫폼의 웹 사이트 이름을

확인해 보자.

보내려는 웹 주소와 등록한 웹 사이트 주소가 일치해야 카카오 링크가 메시지를 전달 할 수 있다.