Flutter 카카오톡 공유하기

문의 시 사용하시는 SDK 버전 정보와 플랫폼(Android / iOS) 및 디벨로퍼스 앱ID를 알려주세요.


kakao_flutter_sdk: ^1.6.0

ID 973351

카카오 sdk 를 사용해서, 카카오 공유하기를 구현하는 중입니다. 카카오 공유까지는 어찌저지 잘 됐는데,
공유된 카카오 메세지에서 앱으로 보기를 누르면, 앱의 특정 페이지로 이동하지 않고, 앱 실행만 되는 상황입니다.

FeedTemplate createFeedTemplateFromPost(Map<String, dynamic> post) {

  String title = post['title'] ?? 'Default Title';
  String description = post['content'] ?? 'Default Description';
  String imageUrl = 'https://example.com/default-image.jpg';

  if (post['fileList'] != null && post['fileList'].isNotEmpty) {
    // 첫 번째 파일의 URL을 가져옴
    imageUrl = post['fileList'][0]['fileUrl'] ?? imageUrl;
  }
  return FeedTemplate(
    content: Content(
      title: title,
      description: description,
      imageUrl: Uri.parse(imageUrl),
      link: Link(),
    ),
    buttons: [
      Button(
        title: '웹으로 보기',
        link: Link(
          webUrl: Uri.parse('https: //developers.kakao.com'),
          mobileWebUrl: Uri.parse('https: //developers.kakao.com'),
        ),
      ),
      Button(
        title: '앱으로보기',
        link: Link(
          androidExecutionParams: {
            // '게시글': kakao00344de9efd6bab3b3e558d5454ccdbf    :// post['communityId'].toString(),
            '상품': 'value2',
            '모임': 'value2',
          },
          iosExecutionParams: {
            'postId': post['communityId'].toString(),
            'key2': 'value2',
          },
        ),
      ),
    ],
  );
}


void shareOnKakaoTalk() async {
    final feedTemplate = createFeedTemplateFromPost(widget.post);
    bool isKakaoTalkSharingAvailable =
        await ShareClient.instance.isKakaoTalkSharingAvailable();
    if (isKakaoTalkSharingAvailable) {
      try {
        Uri uri =
            await ShareClient.instance.shareDefault(template: feedTemplate);
        await ShareClient.instance.launchKakaoTalk(uri);
        print('카카오톡 공유 완료');
      } catch (error) {
        print('카카오톡 공유 실패 $error');
      }
    } else {
      try {
        Uri shareUrl = await WebSharerClient.instance
            .makeDefaultUrl(template: feedTemplate);
        await launchBrowserTab(shareUrl, popupOpen: true);
        print(shareUrl);
      } catch (error) {
        print('카카오톡 공유 실패 $error');
      }
    }
  }

위는 현재 작업한 카카오톡 공유 코드입니다.
카카오톡에서 받은 공유 메세지를 클릭하면, 앱의 특정 화면으로 가게 설정하려면 어떤 곳에서 수정이 필요할까요?

안녕하세요.

설정하신 버튼을 통해 ExecutionParams 가 정상 전달된 것을 확인하였습니다.
구현하신 kakaoSchemeStream 리스너에서 전달된 값을 확인 부탁드립니다.

전달된 예
kakao00344de9efd6bab3b3e558d5454ccdbf://kakaolink?postId=44&key2=value2

시작하기 | Kakao Developers 시작하기 - Flutter 커스텀 URL 스킴