티스토리 뷰
Flutter Cookbook
Flutter에서 App Links 설정하기: Android 애플리케이션용 딥 링크 구성 가이드
플러터를 배워보자 2024. 11. 27. 00:20Flutter를 사용하여 애플리케이션을 개발하는 과정에서 App Links를 설정하면 앱 외부에서도 특정 화면으로 직접 접근할 수 있는 기능을 제공할 수 있습니다. 이번 블로그에서는 Flutter의 App Links 설정 과정을 단계별로 살펴보고, 이를 활용하여 앱의 접근성을 향상시키는 방법을 소개합니다.
참고. Set up app links for Android
App Links란 무엇인가?
App Links는 Flutter 애플리케이션에서 HTTP 또는 HTTPS 링크를 사용해 특정 화면으로 바로 이동할 수 있는 딥 링크의 한 유형입니다. 이를 통해 사용자는 브라우저 대신 앱에서 콘텐츠를 직접 확인할 수 있습니다.
App Links 설정 방법
1. Flutter 애플리케이션 커스터마이징
먼저 Flutter 애플리케이션을 생성하고 go_router 패키지를 사용해 라우팅을 처리합니다.
- 새로운 Flutter 프로젝트 생성:
flutter create deeplink_cookbook
- go_router 패키지 추가:
flutter pub add go_router
main.dart
에서 라우터를 설정:import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; void main() => runApp(MaterialApp.router(routerConfig: router)); final router = GoRouter( routes: [ GoRoute( path: '/', builder: (_, __) => Scaffold(appBar: AppBar(title: const Text('Home Screen'))), routes: [ GoRoute( path: 'details', builder: (_, __) => Scaffold(appBar: AppBar(title: const Text('Details Screen'))), ), ], ), ], );
2. AndroidManifest.xml 수정
App Links를 설정하려면 AndroidManifest.xml 파일을 수정해야 합니다.
- AndroidManifest.xml 파일 열기:
- 경로:
android/app/src/main/AndroidManifest.xml
- 경로:
<activity>
태그 안에 메타데이터와 인텐트 필터 추가:- android:host는 소유한 웹 도메인으로 변경해야 합니다.
<meta-data android:name="flutter_deeplinking_enabled" android:value="true" /> <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="http" android:host="example.com" /> <data android:scheme="https" /> </intent-filter>
3. assetlinks.json 파일 호스팅
앱 링크를 설정하려면 assetlinks.json 파일을 웹 서버에 업로드해야 합니다.
- 패키지 이름과 SHA256 지문 확인:
- 패키지 이름:
AndroidManifest.xml
의<manifest>
태그 안에서 확인. - SHA256 지문: 로컬 키 저장소를 사용해 아래 명령어로 생성:
keytool -list -v -keystore <path-to-keystore>
- 패키지 이름:
- assetlinks.json 생성:
[ { "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.deeplink_cookbook", "sha256_cert_fingerprints": [ "FF:2A:CF:7B:DD:CC:F1:03:3E:E8:B2:27:7C:A2:E3:3C:DE:13:DB:AC:8E:EB:3A:B9:72:A1:0E:26:8A:F5:EC:AF" ] } } ]
- JSON 파일을 다음 경로에 업로드:
<웹 도메인>/.well-known/assetlinks.json
테스트 방법
- ADB 명령어 사용:
앱이 올바르게 설정되었는지 확인하려면 아래 명령어를 사용하세요: adb shell 'am start -a android.intent.action.VIEW \ -c android.intent.category.BROWSABLE \ -d "http://example.com/details"'
- 브라우저 또는 외부 앱 테스트:
링크를 클릭해 Flutter 애플리케이션이 실행되는지 확인하세요.
Flutter App Links의 장점
- 앱 접근성 향상: 사용자 경험 개선.
- SEO 최적화: 검색 엔진이 앱 콘텐츠를 더 쉽게 크롤링.
- 사용자 유지율 상승: 외부 링크로 앱을 직접 실행 가능.
유용한 팁
- 다중 인증서 지원:
여러 빌드 변형(flavor)을 사용하는 경우, 각 변형의 SHA256 지문을 assetlinks.json에 추가하세요. - Flutter DevTools 활용:
App Links 설정을 확인하는 도구를 사용해 빠르게 오류를 검증하세요.
결론
Flutter에서 App Links를 설정하면 앱의 접근성과 사용자 경험을 대폭 개선할 수 있습니다. 특히, 브라우저 대신 앱을 통해 콘텐츠를 확인할 수 있도록 함으로써 사용자의 만족도를 높이고 앱의 가치를 증대시킬 수 있습니다. 위 가이드를 따라 App Links를 설정해 보세요!
'Flutter Cookbook' 카테고리의 다른 글
Flutter에서 데이터를 반환하며 화면 전환하기: 상세 가이드 (0) | 2024.11.29 |
---|---|
Flutter에서 iOS Universal Links 설정하기: 딥 링크 구현 가이드 (2) | 2024.11.28 |
Flutter에서 화면 간 데이터 전달하기: Navigator를 활용한 효율적인 네비게이션 (0) | 2024.11.26 |
Flutter에서 Named Route를 활용한 네비게이션 완벽 가이드 (0) | 2024.11.25 |
Flutter 내비게이션 기본 가이드: 화면 전환과 경로 관리 완벽 이해 (0) | 2024.11.24 |