https://developers.kakao.com/docs/android/kakaotalk-link#카카오톡링크
자세한 사용법은 링크를 통해 확인이 가능하다.
링크를 통하면 커스텀, 피드, 소셜 등등 많은 것들을 사용가능하다...
귀찮은 사람들을 위해 내가 사용한 방법만을 간단하게 설명하겠다.
- 첫번째로 카카오SDK를 사용하기 위한 dependency를 추가해야한다.
// 카카오링크 sdk를 사용하기 위해 필요.
implementation group: 'com.kakao.sdk', name: 'kakaolink', version: '1.27.0'
- 두번째로 App Key를 받아와야하는데..
- 간단하게 설명하자면 Kakao Developer 사이트에 들어가 App을 등록하고 등록 후 제공되는 App키를 받아서
- Manifest 파일에 넣는 것이다.
<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="@string/kakao_app_key" />
- 내가 사용하는 Text 위주의 Link를 보내고 그 Link에 Button을 달아 App을 설치/실행 시키는 코드이다.\
- 3줄에 보이는 TextTemplate는 제공되는 class로 Text를 전달할 때 사용된다. 외의 것들은 후에 설명하겠으며
- 눈여겨 볼 것은 setAndroidExevutionParams인데 내가 맘대로 네이버로 바꿔놨지만 이곳에는 내 App의 설치 주소가 들어가면 되겠다.
- 그 뒤에 addButton(...)은 Button을 추가하여 그 버튼이 눌렸을 시 이동할 곳들을 적는 것이다....
fun sendKakaoLink(roomnum : String)
{
var params = TextTemplate
.newBuilder("마니또를 생성하였습니다", LinkObject.newBuilder().setAndroidExecutionParams("https://www.naver.com").build())
.addButton(ButtonObject("앱에서 보기",LinkObject.newBuilder().setWebUrl("'https://www.naver.com'").setMobileWebUrl("'https://www.naver.com'")
.setAndroidExecutionParams("roomnum=$roomnum").build())).build()
var serverCallbackArgs = HashMap<String, String>();
var aa : Map<Any,Any> = HashMap<Any,Any>()
var aaa = object : ResponseCallback<KakaoLinkResponse>(){
override fun onSuccess(result: KakaoLinkResponse?) {
}
override fun onFailure(errorResult: ErrorResult?) {
}
}
KakaoLinkService.getInstance().sendDefault( this, params, serverCallbackArgs,aaa)
}
- 다음 으로는 Link에 이미지를 넣는 코드이다.
- 크게 보이는 다른 점은 FeedTemplate를 사용했다. (Text와 Feed 또 Custom도 가능한 class도 있기 때문에 사용하는 사람의 용도에 맞게 developer사이트에서 찾아보면 되겠다.)
- ContentObject를 통해 Image를 삽입하는데 필수로 적어야할 3개의 parameters가 있으니 사이트를 참고할 수 있도록 하며, 내가 올린 코드는 서버에 있는 Image파일을 전달하는 방법이지만 휴대폰 내부에 저장된 Image를 보내는 방법도 있으니 확인바란다.
var params = FeedTemplate
.newBuilder(ContentObject.newBuilder("타이틀","https://lh3.googleusercontent.com/proxy/nzDAOkpvo9qjn2ZniqWhUrK7cv1g_Y5sZgCUt4hOZelp4jhMn3S0VMAxI9h2WQ9zavJYMWrISfKxAWPNBPa-HKPo6k8yVvZkG7n3cjfsUeG99EDsQ3XDRwuMK8e7znE",
LinkObject.newBuilder().setAndroidExecutionParams("https://www.naver.com").build()).build())
.addButton(ButtonObject("앱에서 보기",LinkObject.newBuilder().setWebUrl("'https://www.naver.com'").setMobileWebUrl("'https://www.naver.com'")
.setAndroidExecutionParams("234").build())).build()
App을 개발할 때 가장 많이 사용되는 KakaoLink를 사용해보았다. 한번 사용해보면 기본적인 사용법은 익혀지니 좋은 것 같다.
'Android' 카테고리의 다른 글
Android에서 Kakao Login SDK 사용하기 (0) | 2020.04.13 |
---|---|
Android) Retrofit2 에러 문구 : Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $ (0) | 2020.02.14 |
Retrofit + RxJava + DataBinding + LiveData + MVVM 1번 예제 (0) | 2020.02.05 |
LiveData vs MutableLiveData (0) | 2020.02.04 |
RxJava2, Retrofit, DataBinding, MVVM, LiveData 정리 (0) | 2020.01.14 |