핵심 요약
Microsoft Developer가 .NET MAUI 애플리케이션에서 Android, iOS/Mac Catalyst, Windows 간의 교차 플랫폼 인앱 결제를 구현하는 BillingService 샘플의 핵심 아이디어를 소개합니다.
구현 방법
- IBillingService 인터페이스를 중심으로 InitializeAsync, GetProductsAsync, PurchaseAsync, RestorePurchasesAsync, IsProductOwned 등을 추상화
- 플랫폼별 구현 파일 BillingService.Android.cs, BillingService.iOS.cs, BillingService.Windows.cs를 조건부 컴파일로 연결
- MauiProgram.cs에서 DI로 런타임에 적합한 구현이 주입되도록 구성
- Android: Google Play Billing Client v7, iOS/Mac Catalyst: StoreKit, Windows: Microsoft Store API를 각각 활용
- StoreKit 1 현황과 StoreKit 2 전환 계획, 서버 측 구매 검증 필요성에 대한 안내 포함
주요 결과
- 단일 인터페이스로 플랫폼별 인앱 결제 로직을 관리 가능
- 플랫폼별 구현을 파일 단위로 분리하여 유지보수성 향상
- DI/MVVM 패턴으로 확장성과 재사용성 확보
- 샘플과 문서에 iOS/Mac Catalyst 설정 가이드를 함께 제공



