일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 울릉도 스쿠버
- 송도 에비동
- 트리플스트리트 중식
- 송도맛집
- 카카오링크
- 송도 가츠동 맛집
- 테크노파크 맛집
- 트리플스트리트 돈까스
- 울릉다이브리조트
- 카카오링크 api
- 보배반점
- 송도 짬뽕 맛집
- 송도 가츠동
- 카카오api
- 송도 홍대돈부리
- 백준
- 카카오톡 api
- 듀에
- 테크노파크 짬뽕
- 레지스터 제어
- 트리플스트리트 맛집
- 트리플스트리트 짬뽕
- 울릉도 다이빙
- 아두이노
- 알고리즘
- 박가네
- 카카오메시지 api
- 삼성코테
- 트리플스트리트 일식
- 트리플스트리트
- Today
- Total
라바 세마리
카카오톡 메시지 전송 api (카카오 링크) 본문
2017. 1. 8. 에 작성된 글입니다.
카카오톡 api는 어떤게 있나.... 하면서 카카오톡 개발자 홈페이지에 들어갔었다.
근데 설명이 너무 친절하게 되어있어서
그자리에서 바로 카카오톡 메시지 보내는 api 기능 테스트를 성공했다.
순서는 다음과 같다.
1. 개발자 등록
2. gradle 설정
3. kakaoLink 객체생성
1. 개발자 등록
따로 설명할 것은 딱히 없다.
https://developer.kakao.com/
카카오 개발자 홈페이지에 들어가서 본인이 가지고 있는 카카오계정으로 로그인하고 개발자 등록을 해주면 된다.
등록을 마치면 어플리케이션을 등록하라고 하는데 앱 이름을 입력하고 앱만들기 버튼을 클릭한다.
그러면 다음과 같은 화면이 나온다.
이 중에 네이티브 앱 키만 사용하게 될것이다.
2. 이제 안드로이드 스튜디오에 돌아와 gradle 설정을 해주면 된다.
카카오 개발자 페이지에서 설명이 매우 친절했지만 나는 이 부분이 약간 했갈렸다.
제일먼저 프로젝트 value 폴더에 kakao_strings.xml 파일을 생성하고 아래의 내용을 붙여넣는다.
<resources>
<string name="kakao_app_key">앱만들기 할 때 받은 네이티브 앱키</string>
<string name="kakao_scheme">kakao + 앱만들기 할 때 받은 네이티브 앱키</string>
<string name="kakaolink_host">kakaolink</string>
</resources>
gradle.builde(project)로 가서 아래의 부분을 수정해준다.
allprojects {
repositories {
jcenter()
// 추가
mavenCentral()
maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
//
}
}
이번에는 build.gradle(module) 파일로가서 아래 내용을 파일의 맨 아래에 추가한다.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile group: project.KAKAO_SDK_GROUP, name: 'kakaolink', version: project.KAKAO_SDK_VERSION
}
그리고 gradle.properties 파일의 마지막에 아래내용을 추가한다.
KAKAO_SDK_GROUP=com.kakao.sdk
KAKAO_SDK_VERSION=1.1.7
마지막으로 안드로이드 매니패스트 파일로 들어가서 다음과 같이 설정한다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.weathertest">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<data android:scheme="@string/kakao_scheme"
android:host="@string/kakaolink_host" />
</intent-filter>
</activity>
<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="@string/kakao_app_key" />
</application>
</manifest>
3. kakaoLink 객체생성
이제 카카오 링크 객체를 사용할 모든 준비가 끝났다.
MainActivity.java 에서
public KakaoLink kakaoLink;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
kakaoLink = KakaoLink.getKakaoLink(MainActivity.this);
} catch (KakaoParameterException e) {
e.printStackTrace();
}
}
다음과 같이 링크 객체를 선언 해준 다음에
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.button :
weatherData.clear();
thread = new MakeListThread();
thread.start();
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
weatherData = thread.getWeatherData();
String s = weatherData.toString();
textView.setText(s);
final KakaoTalkLinkMessageBuilder kakaoTalkLinkMessageBuilder
= kakaoLink.createKakaoTalkLinkMessageBuilder();
try {
kakaoTalkLinkMessageBuilder.addText(s);//링크 객체에 날씨정보가 담긴 문자 넣기
} catch (KakaoParameterException e) {
e.printStackTrace();
}
try {
kakaoLink.sendMessage(kakaoTalkLinkMessageBuilder, this);// 메시지 전송
} catch (KakaoParameterException e) {
e.printStackTrace();
}
break;
}
}
버튼이 클릭 되면 전송할 텍스트를 링크 객체에 집어넣고 전송하는 부분이다.
메시지를 전송하게되면 카카오톡으로 화면이 전환된다.
그리고 메시지를 보낼 사람을 선택하면 링크 객체에 넣어뒀던 메시지가 전송된다.
ㅁ느낀점
생각보다....너무 간단햇다
너무 친절하신 카카오 개발팀 덕분에 완료일정이 앞당겨질수 있을것 같다!!
'개발일기' 카테고리의 다른 글
MS오피스(파워포인트, 엑셀, 워드), pdf 다크 모드/고대비 모드 - 문서까지 어둡게 보이는 진짜 다크모드 (0) | 2021.02.28 |
---|---|
윈도우 다크모드 어두운 테마 - 시력을 보호해보자. (0) | 2021.02.28 |
[아두이노] 레지스터로 포트 직접 제어(LED예제) (0) | 2020.08.15 |