Flutter Wallet Card는 로컬 파일 또는 웹 URL을 사용하여 iOS 및 Android 앱에서 Apple Wallet 패스와 Google Wallet 카드를 생성할 수 있도록 해주는 플러그인입니다. Flutter 애플리케이션에 디지털 월렛을 쉽게 통합할 수 있게 해주며, 사용자가 티켓, 탑승권, 루키티 카드 등을 앱에서 직접 추가할 수 있도록 합니다. 이 플러그인은 두 플랫폼 모두를 지원하며, 플랫폼 채널을 통해 네이티브 월렛 API를 활용합니다. 최소한의 설정으로 원활한 디지털 월렛 상호작용이 필요한 앱에 적합합니다.
사용 사례
Apple Wallet에 로열티 카드 추가하기
여행 앱을 위한 탑승권 생성
티켓 앱용 이벤트 티켓 생성
디지털 기프트 카드 활성화
피트니스 앱에서 멤버십 카드 지원
주요 기능
Apple Wallet 및 Google Wallet을 지원합니다
로컬 파일 또는 URL에서 패스 생성
크로스 플랫폼 (iOS 및 Android)
패스 생성을 위한 간단한 API
보안 파일 처리
플랫폼 채널 통합
적합한 대상
여행 및 이벤트 앱
소매 및 충성도 프로그램
피트니스 및 멤버십 서비스
디지털 티켓팅 시스템
모바일 뱅킹 및 결제 앱
고려 사항
올바른 패스 파일 형식이 필요합니다
Apple Wallet에 유효한 인증서가 필요합니다
Google Wallet 통합에는 특정 설정이 필요합니다
지원되는 패스 유형에 제한됨
파일 크기 및 형식 제약이 적용됩니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Flutter Wallet Card
A comprehensive Flutter plugin for creating and managing wallet cards on both iOS (Apple Wallet) and Android (Google Wallet). This plugin provides a unified API for generating, adding, and managing wallet passes across platforms.
Features
Cross-Platform Support
iOS: Full Apple Wallet (Passkit) integration
Android: Google Wallet integration
Unified API: Single codebase for both platforms
Card Operations
✅ Check wallet availability
✅ Add cards to wallet
✅ Check if card is already added
✅ View cards in wallet
✅ Generate card files from data
✅ Parse existing card files
✅ Download cards from URLs
Card Types Supported
Generic Cards: General purpose cards
Boarding Passes: Flight tickets
Coupons: Discount and promotional cards
Event Tickets: Concert, sports, and event passes
Store Cards: Loyalty and membership cards
Advanced Features
🎨 Custom colors and styling
📍 Location-based relevance
📅 Date-based relevance
🔒 Secure certificate signing (iOS)
🌐 Network download support
🧪 Comprehensive test coverage
Installation
Add this to your package's pubspec.yaml file:
dependencies:flutter_wallet_card:^5.0.0
Then run:
flutter pub get
Platform Setup
iOS Setup
Enable Wallet capability in your iOS project:
Open ios/Runner.xcworkspace in Xcode
Select your target → Signing & Capabilities
Add "Wallet" capability
Configure your Apple Developer account:
Create a Pass Type ID in Apple Developer Console
Generate certificates for pass signing
Android Setup
Add Google Wallet API to your project:
Enable Google Wallet API in Google Cloud Console
Configure OAuth 2.0 credentials
Ensure your app uses play-services-pay (automatically included by the plugin):
// Generate a card file for sharing or storageFile cardFile = awaitFlutterWalletCard.generateCardFile(card);
print('Card file created at: ${cardFile.path}');
Adding Cards from URLs
// Download and add a card from a URLtry {
bool success = awaitFlutterWalletCard.addFromUrl(
'https://example.com/mycard.pkpass',
);
print('Card added: $success');
} catch (e) {
print('Failed to add card from URL: $e');
}
Parsing Existing Card Files
// Parse a wallet card from a local fileWalletCard card = awaitFlutterWalletCard.parseFromFile(File('/path/to/card.pkpass'));
print('Card title: ${card.metadata.title}');
Platform-Specific Features
// iOS: Add multiple cards at onceif (Platform.isIOS) {
List<WalletCard> cards = [card1, card2, card3];
bool success = awaitFlutterWalletCard.addMultipleToWallet(cards);
}
// Android: Save pass with JWTif (Platform.isAndroid) {
String jwt = 'your-google-wallet-jwt';
bool success = awaitFlutterWalletCard.savePassWithJwt(jwt);
// Create a pass linkString link = awaitFlutterWalletCard.createPassLink({
'objectId': 'your-object-id',
});
}