메모장
[Flutter] URL Launcher 사용하기 본문
이 글에서는 url_launcher 패키지를 처음 사용하는 사람들을 위해 설치, 각 플랫폼에서의 설정, 간단한 예제 코드를 소개하겠습니다.
https://pub.dev/packages/url_launcher
1. url_launcher 패키지 설치하기
먼저, Flutter 프로젝트에 url_launcher 패키지를 추가해야 합니다.
아래 명령어를 통해 url_launcher 패키지를 추가합니다.
flutter pub add url_launcher
2. Android 및 iOS에서 필요한 스키마 설정하기
Flutter 앱이 다양한 플랫폼에서 동작하기 위해서는 각 플랫폼에 맞는 설정이 필요합니다. Android와 iOS 모두에서 URL을 제대로 실행하기 위해 특정 설정을 추가해야 합니다.
2.1 Android에서의 설정
Android에서 https 스키마를 사용하여 URL을 처리하려면 AndroidManifest.xml 파일에 설정을 추가해야 합니다.
1) AndroidManifest.xml 파일 열기
android/app/src/main/AndroidManifest.xml 경로에 있는 AndroidManifest.xml 파일을 엽니다.
2) 필요한 쿼리 추가하기
Android 11(API 30) 이상에서는 외부 앱에서 실행할 URL 스키마를 명시적으로 허용해야 합니다. 이를 위해 queries 요소를 AndroidManifest.xml에 추가합니다.
<manifest xmlns:android\="[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)" package\="com.example.your\_app\_name"\>
# ...
<queries>
<intent\>
<action android:name\="android.intent.action.VIEW" />
<data android:scheme\="https" />
</intent\>
</queries>
</manifest\>
위 설정을 통해 앱이 외부 브라우저를 호출할 수 있도록 https 스키마를 허용합니다. 이 설정은 https URL을 처리하는 모든 인텐트를 허용하는 데 필요합니다.
2.2 iOS에서의 설정
1) Info.plist 파일 열기
ios/Runner/Info.plist 파일을 엽니다.
2) URL 스키마 추가하기
Info.plist에 URL 유형을 추가합니다. 예를 들어, 모든 HTTP 및 HTTPS URL을 허용하려면 아래와 같이 설정합니다:
<key\>LSApplicationQueriesSchemes</key\>
<array>
<string>http</string>
<string>https</string>
</array>
이 설정을 통해 iOS에서도 앱이 HTTPS URL을 처리할 수 있도록 허용합니다.
3. url_launcher를 활용한 예제 코드 작성
패키지 설치와 플랫폼별 설정을 마쳤다면, 이제 실제로 URL을 여는 Flutter 코드를 작성할 수 있습니다. 아래는 간단한 예제입니다.
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('URL Launcher Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () async {
const url = 'https://www.google.com';
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
},
child: Text('Open Google'),
)
],
),
),
),
);
}
}
요약
- 패키지 설치:
flutter pub add
명령어로 url_launcher 패키지를 프로젝트에 추가합니다. - 플랫폼별 설정: Android에서 https 스키마를 처리하기 위해 AndroidManifest.xml에 쿼리 설정을 추가하고, iOS에서는 Info.plist에 URL 스키마를 추가합니다.
'개발 > Flutter' 카테고리의 다른 글
[Flutter] 맥에서 안드로이드 기기 연결 후 플러터 앱 실행시키기 with OpenMTP (1) | 2024.08.31 |
---|---|
[Flutter] iPhone에서 permission_handler 패키지 권한 문제 (0) | 2024.08.30 |
[Flutter] 우당탕탕 Flutter 프로젝트 iPhone에 빌드해보기 (1) | 2024.08.27 |
[Flutter] VS Code 확장 프로그램: Flutter Tree (0) | 2024.08.20 |
[Flutter] VS Code 확장 프로그램: Awesome Flutter Snippets (0) | 2024.08.20 |