Javascript message 연동후 웹뷰 정지

1.자바스크립트로 카카오톡 메시지를 연동하였는데
아이폰 웹뷰에서 카카오톡을 띄우고 나서 다시 앱으로 돌아오면
웹뷰 화면이 멈추고 아무런 이벤트가 먹지 않습니다.
일반 공유하기, 메시지 보내기에서는 이런현상이 없었는데
같은 증상이 이전에도 있었는지 원인이 무엇인지 궁금합니다.

2.카카오톡 메시지 연동시 카톡이 전체화면으로 뜨면서 메시지를 보낼 사용자를 선택하는 화면이 뜰때가 있고

메시지에 링크된 url 화면이 먼저 뜨면서 하단에 팝업으로 메시지를 보낼 사용자 선택화면이 조그많게 나올때가 있는데
증상이 일정하지 않습니다. 원인이 무엇인가요

안녕하세요~

앱ID를 알려주세요~

  1. "자바스크립트로 카카오톡 메시지를 연동"은 JavaScript SDK를 이용하여 카카오 링크를 적용하셨다는 말씀일까요?
    해당 기능이 어떤 것인지 자세한 설명과 어떻게 구현하셨는지 코드 블럭 공유 부탁드려요.

  2. 두가지 상황에 대한 화면 캡쳐 부탁드립니다.

IMG2IMG1IMG5IMG3IMG4

앱아이디는 com.wooribank.smart.npib 입니다.
친구목록 선택화면이 다른것은 기존 카카오톡화면이 떠있어서 그위에 팝업으로 나온것 같구요

1.javascript SDK 1.29.1 버전이고 카톡 버튼을 누르면 자바스크립트가 실행되면서
네이티브에 kakaolink 스킴이 넘어옵니다. 아래 사용한 코드입니다.
url을 네이버페이지로 띄워도 동일하게 앱화면이 멈추고
다른 스킴으로 들어온것은 앱화면이 정상입니다.

else if( [[URLScheme uppercaseString] isEqualToString:[@"kakaolink" uppercaseString]] ){
        NSURL *kakaoLinkURL = [NSURL URLWithString:url];
        if ( [[UIApplication sharedApplication] canOpenURL:kakaoLinkURL] ) {
            if (@available(iOS 10.0, *)) {
                [[UIApplication sharedApplication] openURL:kakaoLinkURL options:@{} completionHandler:nil];
            } else {
                // Fallback on earlier versions
                [[UIApplication sharedApplication] openURL:kakaoLinkURL];
            }
        }
        decisionHandler(WKNavigationActionPolicyCancel);
    }
  1. 자바스크립트 호출부분입니다.
//-- TODO) 브릿지 페이지로 이동 후 거기서 모바일웹 / 모바일앱 호출 분기해야함.
    var _domain = document.location.protocol + "//" + document.domain + _contextPath;
    var bridgeUrl = "/sample/testBridge";
    var _fullUrl = _domain + url;
    var errMsg = new Object();
    var data = new Object();
    
    // ==========================
    // 카카오톡
    // ==========================
    if(snsType == 'K')
    
        
        var kakaoKey   = 'e2e5ca7******a4';

        var linkJson      = new Object();
        var contentJson   = new Object();
        var buttonTiteStr = "MyData 이동";
    
        //-- TODO) 임시 테스트 브릿지페이지로 이동 먼저.
        linkJson.mobileWebUrl = decodeURIComponent(_domain + bridgeUrl + "?target=" + url);
        
        contentJson.title       = decodeURIComponent(message);
        //-- 테스트 이미지 
        //contentJson.imageUrl    = decodeURIComponent(_domain + imgUrl);
        contentJson.imageUrl    = decodeURIComponent("https://smpib.wooribank.com/img/nonetouch/pib/icon_title60.png");
        contentJson.imageWidth  = 400;
        contentJson.imageHeight = 240;
        contentJson.link        = linkJson;
        
        $.getScript(`//${document.domain}${_contextPath}/resource/js/mkd/cds/kakao.min.js`).done(
            function(script, textStatus) {
                Kakao.init(kakaoKey);
                Kakao.Link.sendDefault({
                     installTalk : true
                    ,objectType  : 'feed'
                    ,content     : contentJson
                    ,buttonTitle : buttonTiteStr
                    ,success     : function() {
                    }
                });
            }).fail(function(jqxhr, settings, exception) {
                errMsg.title = "카카오톡 공유하기";
                errMsg.message = "카카오톡 메시지 공유 기능을 불러오는 중 오류가 발생했습니다. 다시 시도해 주세요.";
                mydtWebToastMessage(errMsg);
        });
}

3.카톡메시지 연동화면만 띄우고나서 다시 앱화면으로 돌아가면 호출했던 웹뷰 멈춰버립니다.(4번그림, 다시 카톡이나 SMS버튼 눌러도 이벤트가 안먹고 스크롤도 안됨)

네, 화면 표시 차이는 카카오 인앱 브라우저 여부에 따라 달라집니다.

아래 체크리스트 먼저 확인 부탁드립니다.

  1. 해당 자바스크립트로 구현된 웹페이지에 웹브라우저로 카카오 링크가 정상작동하는지 확인해주세요.
  2. 해당 페이지에 아래 하이브리드앱에 적용하기 기능만 있는 앱을 만드셔서 외부 변수 없이 정상 작동하는지 먼저 테스트해주세요.

https://developers.kakao.com/docs/latest/ko/getting-started/sdk-js#hybrid-app

sdk 문제가 아니고 웹뷰위에 로딩바가 안없어져서 생긴 문제입니다.
해결되었습니다.

1개의 좋아요