https://developers.kakao.com/docs/android/kakaotalk-link#카카오톡링크

 

Kakao Developers_

더 나은 세상을 꿈꾸고 그것을 현실로 만드는 이를 위하여 카카오에서 앱 개발 플랫폼 서비스를 시작합니다.

developers.kakao.com

자세한 사용법은 링크를 통해 확인이 가능하다.

링크를 통하면 커스텀, 피드, 소셜 등등 많은 것들을 사용가능하다...

귀찮은 사람들을 위해 내가 사용한 방법만을 간단하게 설명하겠다.

 

 

  • 첫번째로 카카오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" />
  1. 내가 사용하는 Text 위주의 Link를 보내고 그 Link에 Button을 달아 App을 설치/실행 시키는 코드이다.\
    1. 3줄에 보이는 TextTemplate는 제공되는 class로 Text를 전달할 때 사용된다. 외의 것들은 후에 설명하겠으며
    2. 눈여겨 볼 것은 setAndroidExevutionParams인데 내가 맘대로 네이버로 바꿔놨지만 이곳에는 내 App의 설치 주소가 들어가면 되겠다.
    3. 그 뒤에 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)

    }

 

  1. 다음 으로는 Link에 이미지를 넣는 코드이다.
    1. 크게 보이는 다른 점은 FeedTemplate를 사용했다. (Text와 Feed 또 Custom도 가능한 class도 있기 때문에 사용하는 사람의 용도에 맞게 developer사이트에서 찾아보면 되겠다.)
    2. 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를 사용해보았다. 한번 사용해보면 기본적인 사용법은 익혀지니 좋은 것 같다.

+ Recent posts