본문 바로가기

안드로이드/자바

[안드로이드/Android] 카톡으로 공유하기

반응형


 안녕하세요 오늘의 포스팅 주제는 '카톡으로 공유하기'로 가장 기본적인 sns 공유하기 입니다.




카카오톡 개발자 계정 설정하기

카카오 개발자 페이지를 통해 api 설정을 합니다.


앱 만들기

공유하기 api를 사용하기 위해서는 제일 먼저 카카오톡 개발자 페이지에서 앱을 생성해야 하는데, '앱 개발 시작하기' 를 클릭합니다. 


연이어 좌측에 '앱만들기'를 선택 해, 아이콘 및 앱의 이름을 작성합니다.

앱의 이름이나 아이콘은 상시 수정이 가능하니 실제 앱의 아이콘이나 이름이랑 일치하지 않아도 괜찮습니다.


생성된 앱의 추가 정보 입력을 위해 '일반' 으로 이동합니다. 그리고 안드로이드 플랫폼을 추가하고 패키지명을 입력합니다.



프로젝트 설정

프로젝트 설정은 개발가이드를 참고해 작성했습니다.



그래들 설정

프로젝트 레벨의 그래들에 sdk를 사용하기 위해 명시합니다. 구현할 기능의 라이브러리만 선택할 수 있어, 소스를 직접 추가하는 것보다 앱 용량을 줄일 수 있습니다.

subprojects {
repositories {
mavenCentral()
maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
}
}


카카오 링크 sdk 추가

아래 버전은 가급적 구현 당시 최신 버전을 사용해주세요.

compile group: 'com.kakao.sdk', name: 'kakaolink', version: '1.1.7'


키 파일 생성

/res/values 에 'kakao_string.xml' 파일을 생성해 아래와 같이 내용을 수정합니다.

아래 내용에서 'AA~' 부분은 카카오 개발자 페이지에서 생성한 앱의 네이티브 키를 입력합니다.

<resources>
<string name="kakao_app_key">AAAAAAAAAAAAAAAAAAAAAA</string>
<string name="kakao_scheme">kakaoAAAAAAAAAAAAAAAAAAAAAA</string>
<string name="kakaolink_host">kakaolink</string>
</resources>


권한 추가

<uses-permission android:name="android.permission.INTERNET"/>


스키마 등록

카카오톡 링크에 추가된 버튼을 통해 앱을 호출하기위한 스키마를 추가합니다.

<activity android:name=".view.main.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

<intent-filter>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />

<data
android:host="@string/kakaolink_host"
android:scheme="@string/kakao_scheme" />
</intent-filter>
</activity>
<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="@string/kakao_app_key" />


링크 공유하기

아래 코드를 특정 이벤트에서 실행시키시면 됩니다. 

아래 코드는 가장 기본적인 공유하기로, 개발자 페이지를 통해 다른 형식의 공유하기를 이용하실 수 있습니다.

try {
KakaoLink link=KakaoLink.getKakaoLink(mContext);
KakaoTalkLinkMessageBuilder builder=link.createKakaoTalkLinkMessageBuilder();

builder.addText(""+resultText);
builder.addAppButton("앱 실행하기");
link.sendMessage(builder,mContext);

} catch (KakaoParameterException e) {
e.printStackTrace();
}


카카오톡 공유하기 포스팅을 마치겠습니다.




해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다. 











반응형