Kakao javascript SDK 의 Channel.addChannel 동작 관련 문의

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.


[사전 정보]

SDK 버전: 2.7.7

디벨로퍼스 앱ID: 17313


안녕하세요.

웹 환경 내 카카오톡 채널 추가 버튼 기능을 구현하고 있습니다.

아래 상황에서 채널 추가 버튼이 기대하는 동작과 다르게 동작하고 있습니다.

[상황]

  • Android 디바이스
  • 카카오톡 앱 미설치

[기대동작]

  • iOS 와 동일하게 카카오톡 설치를 위한 스토어로 이동

[현재동작]

  • Android) 크롬 브라우저
    • 아무런 동작하지 않음
  • Android) 인앱 웹뷰

[원인 분석]

문제 원인을 파악하기 위해서 디버깅한 결과, SDK 에서 전달하는 intent 내 package 정보가 누락된 것으로 확인하였습니다.

  • 현재 SDK 가 전달하는 intent 값
    • intent://plusfriend/home/_xbvqxel/add#Intent;scheme=kakaoplus;end;
  • 정상 동작하는 intent 값 (임의로 수정하여 테스트 진행)
    • intent://plusfriend/home/_xbvqxel/add#Intent;scheme=kakaoplus;package=com.kakao.talk;end

[문의사항]

  1. addChannel 동작 시, 의도적으로 package 정보를 누락하여 전달하고 있는 것인지 궁금합니다.
    1. 버그인지, 의도(기능)인지
  2. 현재 정상 동작을 위하여 SDK 에서 전달해주는 intent 값을 가로채서 package 정보를 주입하도록 수정하여 개발하였는데, 해당 방식으로 수정하여 진행해도 괜찮을지 궁금합니다.

참고 정보

카카오톡 앱-채널 연결 관리 FAQ

[@tim.l @woody.ho]

안녕하세요.

1. 카카오톡 pakcage 미포함

기본적으로 intent url에는 카카오톡 package 정보를 포함하고 있지 않고 있으며, 다음의 경우에만 포함합니다.

  • 카카오톡 공유하기: installTalk: true 파라미터 함께 전달

이는 과거 플레이스토어 심사 정책 중 타 앱의 설치 유도에 의한 심사 거부 사례에 따른것으로
카카오톡 공유하기의 경우, 옵션을 제공하여 서비스가 선택할 수 있도록 하고 있습니다.

2. addChannel 동작시 package 주입

회원님 서비스 웹 환경(웹뷰x)에서 채널 추가 버튼 클릭 시, 일정 시간 후 package 정보를 포함한 스킴을 다시 호출하고자 하시는 것으로 이해 하였습니다.

이와 같이 구현하시는데는 기술적으로 문제가 없으나,
카카오톡 공유하기처럼 installTalk 옵션을 addChannel에도 제공하는 것을 고려해 보도록 하겠습니다.

1개의 좋아요

빠른 답변 감사합니다.

말씀해주신대로, send 함수와 동일하게 “installTalk” 옵션을 제공하는 방향으로 수정된다면, 해결될 수 있겠네요.

현재는 동작 중 package 정보를 주입해주는 방향으로 대응하도록 하겠습니다.

확인 해주셔서 감사합니다.

추가로 문의 드립니다.

package 값 전달은 어떤 경로에서 이루어 지나요?
앞서 안내드린바와 같이 일정 시간이후 스킴을 다시 호출하는 방법이신가요?
아니면, 웹뷰에서 이를 감지하여 처리하시나요?

1개의 좋아요

현재는 웹뷰에서 window.navigation 이벤트 감지하여 특정 intent 의 경우, package 정보를 추가하는 방식으로 구현하였습니다.

넵, 확인 감사합니다. :slight_smile:

1개의 좋아요