본문 바로가기
개발노트/Android

[kotlin] KaKao Link Share, 카카오톡 링크 공유하기 - 1

by 전지적진영시점 2023. 2. 17.
반응형

개발 환경

---------------------------------

OS : Mac

개발 툴 : Android Studio

개발 언어 : Kotlin

targetSdk : 31

minSdk : 23

---------------------------------

 

안녕하세요 전진시 입니당.

 

이번 포스팅 주제는 Android에서 카카오톡 링크 공유를 해볼거에요.

 

일단 카카오 개발자 사이트에 프로젝트 생성하여 앱 package name 및 hash 값 등록했다는 전제하에 내용 작성하겠습니다.

Native Key까지 가져온 상태로요 :D

 

제가 구현한 Kakao Link 공유는 webView에서 카카오톡 링크 버튼을 클릭하면 

javaScript 통신으로 앱 함수를 호출하여 필요한 값들을 앱에 전달하여 작업하였습니다. 

 

먼저 build.gradle 파일에 dependencies를 추가해주겠습니다.

 

//kakao
implementation "com.kakao.sdk:v2-talk:2.8.4" // 친구, 메시지(카카오톡)
implementation "com.kakao.sdk:v2-link:2.8.4" // 메시지(카카오링크)

 

카카오 링크 공유만 구현할거면

com.kakao.sdk:v2-link:2.8.4

위 종속성만 추가해줘도 됩니다.

 

최신 버전은 kakao develop 페이지에서 확인할 수 있습니다 !

 

그리고 Application()을 상속받는 클래스를 하나 생성하여 Kakao NativeKey를 셋팅해주겠습니다.

class App : Application() {
    companion object{
        
    }

    override fun onCreate() {
        super.onCreate()
        KakaoSdk.init(this, Common.KAKAO_NATIVE_KEY)
    }
}

 

저는  class Name을 App으로 설정했습니다.

 

KakaoSdk.init(this, Common.KAKAO_NATIVE_KEY)

 

Native Key 초기화는 위 KakaoSdk 객체의 init 메서드를 통해 처리합니다. 

 

Kakao Native Key 형식은 

const val KAKAO_NATIVE_KEY = "42e772c5c550d0972f8"

위와 같이 생겼습니다. 저는 global class에 선언해두었습니다.

위 NativeKey값은 제가 임의로 적은것이므로 길이는 무시하셔도 됩니다.

 

class를 생성하였으면 AndroidManifest.xml 파일에 <application> 태그의 name 항목에 셋팅해주겠습니다.

<application
    android:name=".service.App"
    android:allowBackup="false"
    android:hardwareAccelerated="true"
    android:icon="@mipmap/app_icon"
    android:largeHeap="true"
    android:requestLegacyExternalStorage="true"
    android:roundIcon="@mipmap/app_icon_round"
    android:supportsRtl="true"
    android:theme="@style/Theme"
    android:usesCleartextTraffic="true"
    tools:targetApi="31">
    <activity

 

아주 기본적이지만 가장 중요한 permission...

 

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

 

인터넷 통신을 위한 값도 추가해줍니다.

 

그리고 kakao link 공유하기 기능을 구현할 class에 아래 소스를 추가는 다음 포스팅에서 진행하겠습니다.

반응형

댓글