[Flutter] 리디렉션 URL 다루기
Flutter 앱 안에서 링크를 눌러 웹뷰를 보여주어야 하는 요구사항을 처리하는 경우에 짧게 줄인 URL을 열면 오류가 나는 문제가 있습니다.
Flutter 앱 안에서 링크를 눌러 웹뷰를 보여주어야 하는 요구사항을 처리하는 경우에 짧게 줄인 URL을 열면 오류가 나는 문제가 있습니다.
Android 플랫폼에서는 intent-filter 에서문제를 일으킵니다.
간단하게 해결하려면 dio 패키지의 followRedirects 속성을 이용합니다.
제가 사용하는 resolveRedirection 메소드입니다.Future<Uri> resolveRedirection({String url}) async {Dio dio = new Dio();dio.options.followRedirects = true;dio.options.responseType = ResponseType.plain;Response response = await dio.get(url.toString());return response.realUri;}
실제 호출할때는 아래와 같이 사용합니다.
Uri realUri = await resolveRedirection(url: 'https://bit.ly/2tegsp2');