안드로이드 태블릿 웹뷰 공유하기 문의

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


  function doSend(settings, linkType) {
    var _linkTypeMapper$linkT = linkTypeMapper[linkType],
      makeLinkFunc = _linkTypeMapper$linkT.makeLinkFunc,
      requestUrl = _linkTypeMapper$linkT.requestUrl
    var linkObj = makeLinkFunc(settings)
    var isUnsupportedBrowser = /opr\/|opt\/|huawei/g.test(UA.ua)
    var isIpad = UA.os.ios && UA.platform === 'tablet'

    if (
      isTalkWebview ||
      (!isUnsupportedBrowser &&
        settings.throughTalk && 
        (UA.platform === 'mobile' || isIpad))
    ) {
      talkSender.send(settings, requestUrl, linkObj)
    } else {
      webSender.send(settings, linkType, linkObj)
    }
  }

안녕하세요. 웹뷰에서 카카오 공유하기 문의드립니다.
sdk의 공유하기 doSend 함수에서 안드로이드 태블릿의 경우 항상 webSender를 호출하는데요, (v2 sdk에서도 동일합니다.)
현재 앱에서 webSender.sender 내부의 window.open 가 동작하도록 대응하기 어려운 상태라 공유하기 기능이 정상 동작하지 않습니다.

임의로 sdk를 수정하여 talkSender를 사용하도록하니 기능이 정상 동작하는데요,
안드로이드 태블릿에서도 talkSender를 사용하여 앱으로 연결되도록 할 수 있는 방법이 있을까요?
추가로 안드로이드 태블릿만 해당 조건식에서 제외된 이유도 궁금합니다.

(참고 테스트 기기 ua : mozilla/5.0 (linux; android 13; sdk_gphone64_arm64 build/tpb4.220624.004; wv) applewebkit/537.36 (khtml, like gecko) version/4.0 chrome/101.0.4951.74 safari/537.36)

감사합니다.

안녕하세요.

카카오톡 실행은 모바일 브라우저에서만 지원되며 모바일 브라우저 여부는 UA값에 Mobile 값 유무로 판단하고 있습니다.
태블릿 기기나 갤럭시 폴드의 태블릿 모드에서는 해당 값이 제거되기 때문에, 톡 실행을 할수 없는 환경으로 판단되어 웹으로 동작하게 됩니다.

테블릿과 PC간 명확히 UA로 구분하기 어려운 점이 있어
웹뷰의 UA 값에 Mobile을 추가 하여 사용하는 케이스도 존재합니다.
참고 부탁드립니다.

1개의 좋아요

답변 감사합니다!
저희 앱 내에서 자체적으로 모바일 조건 여부를 판별해서 공유하기 방식을 선택할 수 있으면 좋을 것 같은데요,
혹시 추후에 talkSender / webSender방식을 선택해서 실행할 수 있는 옵션 추가를 검토해주실 수 있을까요?

안녕하세요.

제안 감사합니다.
검토 하도록 하겠습니다.