카카오 공유하기 메세지 - 파이어베이스 딥링크 연결시, 템플릿 사용한 경우와 아닌경우 작동이 다릅니다

문의 시, 디벨로퍼스 앱ID를 알려주세요.

친구 api와 피커, 메시지 api 사용을 위한 체크 리스트 ( 친구 api와 피커, 메시지 api 사용을 위한 체크 리스트 ) 먼저 확인해주세요.


디벨로퍼스 앱ID : 156228

카카오 공유하기 메세지 버튼에 파이어베이스 딥링크 연결시켰습니다.

앱이 다운로드돼있는 경우 앱이 열리고, 아닌경우 플레이스토어가 열리도록 딥링크를 설정해두었습니다.

테스트를 해보고 있는데, 아래 2가지 경우의 결과가 다릅니다.

  • 카카오 디밸로퍼 사이트에서 템플릿을 사용해서 보낸 경우 => 앱이 다운로드돼있지 않으면 서비스 앱이 열림
  • 아래와 같이 직접 코딩해서 보낸 경우 => 앱이 다운로드돼있지 않아도 플레이스토어로 연결됨

혹시 어떻게 해결할 수 있을까요?

"아래와 같이 직접 코딩해서 보낸 경우 "는 어떤 것인가요? 해당 URL 기재 부탁드립니다.

1개의 좋아요

아래와 같이 프론트에서 직접 커스텀해서 사용하고 있습니다.

objectType: 'feed',
  content: {
    imageUrl: '',
    imageWidth: 50,
    imageHeight: 50,
    title: '',
    description: '',
    link: {
      webUrl: inviteUrl,
      mobileWebUrl: inviteUrl,
    },
  },
  itemContent: {
    profileText: '',
    profileImageUrl: '',
  },
  buttons: [
    {
      title: '',
      link: {
        webUrl: inviteUrl,
        mobileWebUrl: inviteUrl,
      },
    },
  ],
  installTalk: true,
  serverCallbackArgs: {  },
};

코드로 메시지를 구성하는 디폴트 템플릿 방식과 디벨로퍼스 메시지 템플릿 도구로 메시지를 구성하는 커스텀 템플릿 방식을 의미하신거군요.

네, 메시지 템플릿 도구로 메시지를 구성하는 커스텀 템플릿은 디벨로퍼스 플랫폼 설정에 등록된 모바일 앱 실행 버튼으로 해당앱이 실행안되면 플랫폼설정에 등록된 마켓 주소를 호출하게됩니다.

코드로 메시지를 구성하는 디폴트 템플릿 방식은 앱호출 링크를 직접 구성하시고 미설치시 설치페이지로 이동하도록 해당 URL에서 처리해주셔야하는 것으로 마겟으로 이동하지 않는 것은 카카오와 무관한 해당 URL 문제로 추정됩니다.

확인 부탁드려요.

1개의 좋아요

친절한 답변 감사합니다.

카카오 공유하기 메세지 버튼에 파이어베이스를 통해서 생성한 다이나믹 링크를 사용하고 있는데,

현재 이슈는,
앱이 다운로드 되어있음에도 불구하고 앱이 바로 열리지 않고 마켓이 열리고 “열기” 버튼을 눌러야 앱이 열리는 상황입니다.
(카카오 공유하기 메세지 버튼을 통하지 않고, 그냥 다이나믹 링크를 누르면 바로 앱이 열립니다)

따로 네이티브쪽에서 설정해줘야 할 부분이 있을까요?

대략 두가지 상황정도 유추해볼 수 있을 것같은데요.

  1. 개발하신 앱 최초 실행 시점에 실행여부 컨펌창에서 취소한경우

→ 해당 기기 브라우저에서 임시인터넷 파일 삭제

  1. 개발하신 앱에서 딥링크 인텐트 필터 설정을 안한경우

ex) https://example.page.link/wXyz 로 호출한다고 가정할때

  • PC에서는 https://example.com 로 리다이렉트
  • 모바일에서는 intent://example.page.link/wXyz 로 리다이렉트
    (설정에 따라 설치안된경우 스토어 이동하거나 Web URL호출)

(1) firebase에서는 딥링크 도메인 example.page.link 를 intent-filter 설정하도록 가이드하고 있음

            <intent-filter android:autoVerify="true">
...생략...
                <data
                    android:host="example.page.link"
                    android:scheme="https" />
            </intent-filter>

(2) Android 13 (targetSdkVersion 33) 으로 빌드된 앱은 웹 URL의 도메인 example.com을 intent-filter 설정 해야 호출 가능

            <intent-filter android:autoVerify="true">
...생략...
                <data
                    android:host="example.com"
                    android:scheme="https" />
            </intent-filter>
1개의 좋아요