Flutter์์ Webview๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ดํ ๊ธ์ ๋๋ค.
์ด ๊ธ์ ๋จ์ํ webview ๊ตฌํ์ ๋ชฉํ๋ก ํฉ๋๋ค.
hybrid composition์ ๋ด์ฉ์ ๋ด์ง ์์์์ ๋ฏธ๋ฆฌ ์๋ ค๋๋ฆฝ๋๋ค.
์ด ๊ธ์ ์๋์ example๊ณผ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค.
์ด ๊ธ์์ ์์๋ณผ ๋ด์ฉ
- Webview ์ฌ์ฉ๋ฒ (webview_flutter)
- http ์ฐ๊ฒฐ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊ธฐ
Webview ์ฌ์ฉ๋ฒ (webview_flutter)
pubspec.yaml ์์กด์ฑ ์ถ๊ฐ
dependencies:
flutter:
sdk: flutter
webview_flutter: ^2.0.9 // ์ต์ ๋ฒ์ ๊ถ์ฅ (https://pub.dev/packages/webview_flutter)
์ฝ๋ ๊ตฌํ
class WebViewExample extends StatefulWidget {
@override
_WebViewExampleState createState() => _WebViewExampleState();
}
class _WebViewExampleState extends State<WebViewExample> {
@override
void initState() {}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Flutter WebView example'),
),
body: Builder(builder: (BuildContext context) {
return WebView(
initialUrl: 'https://flutter.dev',
);
}),
);
}
}
๋ณด์๋ค์ํผ ๋จ์ํ ํ๋ฉด์ ๋์ฐ๋ ๊ฒ ๋ฟ์ด๋ผ๋ฉด ์ด๋ ต์ง ์์ต๋๋ค.
๊ทธ ๋ค์ ์ธ๋ถ์ ์ธ ๊ตฌํ์ ์์ด์๋ ๊ตฌ๊ธ๋ง์ ํ๋ฉฐ ํ๋์ฉ ์ถ๊ฐํด๋๊ฐ๋ฉด ๋ฉ๋๋ค.
http ์ฐ๊ฒฐํ๊ธฐ
๋ณด์์ ์ฑ ์ผ๋ก ์ธํด android๋ ios์์ http์ฐ๊ฒฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐจ๋จ๋์ด ์์ต๋๋ค. ๋ฐ๋ผ์ https๊ฐ ์๋ http๋ฅผ ์ฌ์ฉํ๋ ํ์ด์ง๋ฅผ ์น๋ทฐ์์ ์ด๊ณ ์ถ๋ค๋ฉด ์ถ๊ฐ์ ์ธ ์ค์ ์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
ios (info.plist)
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
android (AndroidManifest.xml)
<application
android:name="io.flutter.app.FlutterApplication"
android:label="flutterdemo"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true">
๋ง์น๋ฉด์
์ ๋ง ์น์ฌ์ดํธ๋ฅผ ๋์ธ ์ ์๋ ์ ๋๋ง ํ์ต๋๋ค. ์ธ๋ถ์ ์ธ ์กฐ์๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ค์ ์๊ฐ์ ์ข ๋ ์ ๋ฆฌํด์ ์ฌ๋ ค๋๋ฆฌ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
'Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Flutter Web 1ํ : ๊ตฌ๊ธ ์ฝ๋๋ฉ ๊ตฌํ (0) | 2021.07.20 |
---|---|
Flutter Null Safety๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ (0) | 2021.07.02 |
Flutter / multi_image_picker Asset์ Image๋ก ๋ณด์ด๊ฒ ํ๊ธฐ (0) | 2021.02.19 |
Flutter/ popUntil ์ ํ ๋ ๊ฒ์ํ๋ฉด์ด ๋ฌ๋ค๋ฉด? (0) | 2021.02.19 |
Flutter Provider + '?' ํจํด (feat. ChangeNotifier, Mobx, BLoC, etc..) (0) | 2020.09.12 |