안녕하세요. 저는 kakao api 를 활용해서 알림이 왔을 때 tts로 알려주고 stt로 음성을 카카오톡메세지로 전송하는 앱을 개발중입니다.
제 핸드폰 상에서는 구현이 되었고 잘 돌아가는데 상대방이 로그인 했을 때 어떻게 동작되는 건지 잘 이해가 안되어서요. 좀 더 자세히 설명을 드려보자면,
처음에
public class GlobalApplication extends Application {
@Override
public void onCreate() {
KakaoSdk.init(this, getString(R.string.kakao_app_key));
super.onCreate();
}
}
이 코드를 작성해서 제 앱 키를 등록했구요
fun onclickTestBtn(){
TalkApiClient.instance.friends { friends, error ->
if (error != null) {
Log.e(ContentValues.TAG, "카카오톡 친구 목록 가져오기 실패", error)
}
else {
Log.d(ContentValues.TAG, "카카오톡 친구 목록 가져오기 성공 \n${friends!!.elements?.joinToString("\n")}")
if (friends.elements?.isEmpty() == true) {
Log.e(ContentValues.TAG, "메시지를 보낼 수 있는 친구가 없습니다")
}
else {
System.out.println(friends.elements);
var receiverUuid = friends.elements?.get(0)?.uuid
var receiverUuids: List<String> = listOf(receiverUuid) as List<String>
var template =text
TalkApiClient.instance.sendDefaultMessage(receiverUuids, template) { result, error ->
if (error != null) {
Log.e(ContentValues.TAG, "메시지 보내기 실패", error)
}
else if (result != null) {
Log.i(ContentValues.TAG, "메시지 보내기 성공 ${result.successfulReceiverUuids}")
if (result.failureInfos != null) {
Log.d(ContentValues.TAG, "메시지 보내기에 일부 성공했으나, 일부 대상에게는 실패 \n${result.failureInfos}")
}
}
}
}
}
}
이 코드로 앱 내의 어떤 버튼을 누르면 제 친구목록의 친구에게(카카오 api홈페이지 내 팀원으로 등록) 메세지를 보내게 하는데 성공했거든요.
근데 이러한 코드가 상대방이 제 앱을 깔았을 때도 동작이 되는 건가요?? 제 기준에서는 별도로 카카오톡 로그인 과정도 없이 버튼 하나만 눌러도 메세지가 보내지는데, 상대방이 제 앱을 깔면 카카오톡 로그인을 해야 그 사람의 친구목록을 읽을 수 있을텐데 어떻게 해야하는 건지 모르겠어요
제가 다른 사람의 카카오톡 아이디로 실험해볼 수 있는 환경이 아니라서 … 많이 부족하지만 질문드려보았습니다.