문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.
kakao_flutter_sdk: ^1.4.3
플러터
앱ID 933531
문의 내용 : 카카오 공유하기를 구현하는데, 나의 애플리케이션 → 플랫폼 → Web 사이트 도메인에 ‘저희서비스도메인’.im 을 등록해놓은 후, 플러터에서는 다음과 같이 코드를 작성하였습니다. (필요없는 부분은 지우겠습니다)
Future<void> shareKakaoTalk(String userNickname, String userUid) async {
bool isKakaoTalkSharingAvailable = await ShareClient.instance.isKakaoTalkSharingAvailable();
final FeedTemplate defaultFeed = FeedTemplate(
content: Content(
title: '',
description: '',
imageUrl: Uri.parse(url),
link: Link(
webUrl: Uri.parse('https:사이트도메인에등록/$userNickname'),
mobileWebUrl: Uri.parse('https:사이트도메인에등록/$userNickname')),
),
buttons: [
Button(
title: '웹으로 보기',
link: Link(
webUrl: Uri.parse('https://사이트도메인에등록/$userNickname'),
mobileWebUrl: Uri.parse('https:사이트도메인에등록/$userNickname'),
),
),
Button(
title: '앱으로보기',
link: Link(
androidExecutionParams: {'userUid': userUid},
iosExecutionParams: {'userUid': userUid},
),
),
],
);
if (isKakaoTalkSharingAvailable) {
try {
Uri uri = await ShareClient.instance.shareDefault(template: defaultFeed);
await ShareClient.instance.launchKakaoTalk(uri);
print('카카오톡 공유 완료');
} catch (error) {
print('카카오톡 공유 실패 $error');
}
} else {
try {
Uri shareUrl = await WebSharerClient.instance.makeDefaultUrl(template: defaultFeed);
await launchBrowserTab(shareUrl, popupOpen: true);
} catch (error) {
print('카카오톡 공유 실패 $error');
}
}
}
현재 카카오톡에 공유도 정상적으로 되고, 앱으로 보기까지 정상작동이 되는데, 웹으로 보기를 눌렀을때 사이트 도메인 뒤에 /유저닉네임 에 해당하는 링크로 이동하고 싶지만, 버튼을 누르면 그냥 플랫폼에 등록해놓은 사이트 도메인으로만 이동합니다.
예를 들어 코드에서 제가 공유하고 싶은 url이 https://사이트도메인/kakaoUser
라면, 실제로 카카오톡에 공유되었을때 웹으로 보기를 누르면 https://사이트도메인
으로만 이동하는 상황입니다. 어떻게 해결해야하나요?