intent주소 관련 질문
webview_flutter로 개발 진행하고있습니다.
다른 결제수단은 final appScheme = ConvertUrl(request.url); 로 다 진행이 되는데 카카오뱅크만
'카카오뱅크에서 진행됩니다' 화면에서 '카카오뱅크 열기' 버튼 누르면
ERR_UNKNOWN_URL_SCHEME 에러가 발생합니다.
환경은
sdk: ">=3.5.0" # Dart version
flutter: ">=3.24.0" # Flutter version
# 웹뷰
webview_flutter: ^4.9.0
webview_flutter_android: ^3.16.0
webview_flutter_wkwebview: ^3.15.0
tosspayments_widget_sdk_flutter: ^2.1.1
입니다. ios에서는 잘 열리는데 유독 안드로이드에서만 문제네요
37 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
webview_flutter_android 3.16.0 이상 버전에서는 웹뷰 문제로 일부 카드사 화면이 열리지 않는 known issue가 있으니 이전 버전을 이용해 주시거나, inappwebview를 이용해 보시겠어요?
GitHub
GitHub - youjun-lee/flutter_webview_sample_app: flutter webview sample
flutter webview sample. Contribute to youjun-lee/flutter_webview_sample_app development by creating an account on GitHub.
주말에도 수고많으십니다. webview_flutter_android 3.15.0 버전으로 다시 테스트 해보겠습니다
혹시 webview_flutter_android: ^3.16.0
webview_flutter_wkwebview: ^3.15.0 이 패키지들을 다 지우고
보내주신 링크에 있는 webview_flutter: ^4.7.0으로만 바꿔도 안되는 이유를 혹시 아실까요?
이건 확인해볼게요
카카오뱅크만 안되나요?
packgeName따로 관리안하시죠?
네 카카오뱅크만 안되고있습니다
패키지네임은 매니페스트에서 관리하고있어요
<package android:name="com.kakaobank.channel" /> <!-- 카카오뱅크 -->
ERR_UNKNOWN_URL_SCHEME 나올 때 화면에 출력되는 에러 text전체로 붙여넣어보시겠어요?
넵 잠시만요
다음 이유로 intent://app_card?type=payment&payload=%7B%22payment_code%22%3A%228202484%22%2C%22seeroo_serial_number%22%3A1254599744%7D&from=mobile#Intent;scheme=kakaobank;package=com.kakaobank.channel;end의 웹페이지를 로드할 수 없습니다.
net::ERR_UNKNOWN_URL_SCHEME
convertUrl 들어가지 전후를 loG찍어서 한번 비교해보시겠어요?
넵 잠시만요
일단 저는 샘플앱에서 kakaobank실행했을 때 이상없네요
onNavigationRequest에서 converUrl 진행하고 있습니다
저는 샘플앱에서도 webview 플러그인 둘 다 진행이 안되서요
잠시만요~ 로그 확인해볼게요
로그가 카드사 선택페이지에서까지만 찍히고
카카오뱅크 웹페이지로 넘어간 순간부터는 찍히질 않습니다.
웹뷰에서 urlqkRnlf EOakek
바귈때마다
onNavigationRequest
로 들어올텐데요
여기서 http//https 구분해서 아니면 convertUrl태우는거 아닌가요?
final appScheme = ConvertUrl(request.url);
// 앱스킴 URL인지 확인
if (appScheme.isAppLink()) {
appScheme.launchApp(mode: LaunchMode.externalApplication);
return NavigationDecision.prevent; // Prevent navigation
}
return NavigationDecision.navigate;
이렇게 태우고있습니다
print(request.url)
final appScheme = ConvertUrl(request.url);
print(appScheme)
이렇게 확인안되나요?
네네 카드사 선택하는 페이지 까지만 로그가 찍히고
카카오뱅크 에서 결제가 진행됩니다. 카카오뱅크 열기
이 페이지 들어간 순간부터는 로그가 안찍혀요
그럼 convertUrl 들어오는 조건문 분기 자체를 안탄거 아닌가요?
convertUrl은 분기안태우고 있습니다. 무조건 onNavigationRequest 최상단에 있어요

onNavigationRequest
자체를 진입안한게 문젠거 같네요
위에 샘플앱에서도 카카오뱅크만 안되신느거죠?넵 맞습니다
샘플앱 inappwebview로 실행하면ㄷ ㅚ나요?
아니요 흰화면만 나옵니다
카카오뱅크만 흰화면으로요?
넵
카카오뱅크 앱은 설치되어있으시고 실행은 잘되시나요?
앱은 설치 안되어있습니다
앱설치 먼저 한번 해보시겠어요
넵 잠시만요
카카오뱅크 설치하고도 열리지않습니다
그럼 더이상은 저희도 모르겠네요. 왜 onNavigationRequest를 타지 않는지 먼저 확인해보셔야할 것 같아요
넵 알겠습니다 한번 찾아보겠습니다. 감사합니다 실장님
일단 저희도 재현되지 않는 상황이라 양해바라며, flutter /dart 버전 문제일 수도있습니다. 해결되면 공유도 한번 부탁드려요.
넵 알겠습니다~ 해당 스레드에 공유드리겠습니다 감사합니다
혹시 지금 샘플앱에서 사용하시는
Dart, flutter 버전 알 수 있을까요?
@이실장
감사합니다~
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.