개발 환경
---------------------------------
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에 아래 소스를 추가는 다음 포스팅에서 진행하겠습니다.
'개발노트 > Android' 카테고리의 다른 글
[Kotlin]JavaScript < ㅡ > Native 통신 (0) | 2023.02.17 |
---|---|
[kotlin] KaKao Link Share, 카카오톡 링크 공유하기 - 2 (0) | 2023.02.17 |
[Android Studio] 레이아웃 성능과 그 종류와 특징들에 대해 (0) | 2023.02.17 |
[Kotlin] Custom Dialog 사용하기 (0) | 2023.02.17 |
[Kotlin] SharedPreferences 사용하기 (0) | 2023.02.17 |
댓글