flutter inappwebview에서 google 로그인 시 disallowed_useragent 피하기

Taek-In Jeong·2021년 3월 24일
0
post-custom-banner

20210324

https://pub.dev/packages/flutter_inappwebview

flutter_inappwebview 플러그인 사용 시
웹뷰 내에서 google 로그인을 시도할 때 'disallowed_useragent' 에러가 난다면,
아래와 같이 시도한다.

  1. flutter_user_agent 플러그인을 사용한다.

    https://pub.dev/packages/flutter_user_agent

  2. FlutterUserAgent.webViewUserAgent 값에서 '; wv'를 공백으로 치환해준다.

webViewUserAgent = FlutterUserAgent.webViewUserAgent;
webViewUserAgent = webViewUserAgent.replaceAll('; wv', '');
  1. 웹뷰 삽입 시 userAgent를 위에 지정한 userAgent로 변경
InAppWebView(
  initialUrlRequest: URLRequest(url: Uri.parse("주소")),
  initialOptions: InAppWebViewGroupOptions(
    crossPlatform: InAppWebViewOptions(
      userAgent: webViewUserAgent
    ),
  )
)

참조: https://github.com/j0j00/flutter_user_agent/issues/11

20221006 업데이트

https://pub.dev/packages/fk_user_agent

사용 패키지를 fk_user_agent로 변경했다.

달라진 사용 방법은 위에 2번의 과정을 아래로 대체하면 된다.

webViewUserAgent = FkUserAgent.webViewUserAgent.toString().replaceAll('; wv', '');
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 5월 11일

2번 문장을 어디에 넣어야 하나요?
webViewUserAgent = FkUserAgent.webViewUserAgent.toString().replaceAll('; wv', '');
에서 다음과 같은 에러가 나거든요...ㅠ
_CastError (Null check operator used on a null value)

답글 달기