안드로이드 인앱 정기 구독 결제를 구현하며 생긴 일이다.
플러터에는 플러터 공식 팀이 제공하는 인앱결제 패키지가 있다.
https://pub.dev/packages/in_app_purchase
in_app_purchase | Flutter package
A Flutter plugin for in-app purchases. Exposes APIs for making in-app purchases through the App Store and Google Play.
pub.dev
결론부터 말하면 버그라고 하기엔 뭐하고 상당히 잘못 만든 패키지이다. 그 괴물 같던 구글의 개발자도 사람인건지...
패키지와 구글플레이콘솔을 연결하면 결제상품을 가져는 오는데 이름이 모두 똑같이 온다

구글의 앱 정기결제 페이지이다. 이름 및 ID가 있고 이 밑에 요금제가 있다.

플레이스토어의 정기결제 페이지를 타고 들어가면 보이는 기본 요금제 및 혜택.
이 기본 요금제의 이름을 활용해서 로직을 짜야한다.
1회성 인앱상품 결제 외에
정기결제가 있고 월구독, 연구독 등의 선택지를 고객에게 줄 수 있다.
영어로는 Plan 이라고 한다.
monthly plan, yearly plan 등 구독형 상품을 결제해본 사람이라면 알 것 이다..
그런데 플러터 공식 팀의 인앱 결제 패키지를 사용해서 상품목록을 코드로 불러오면
맨 처음 정기결제 이름만 올뿐 세부 요금제가 무엇인지 알 수가 없다. 활용해야할 기본 요금제의 이름이 안온다.
심지어 세부 정보를 볼 수 있는 객체가 있는데 이걸로 구분을 하려고 했더니
각 객체에 해당하는 정보만 오는 게 아니라 모든 기본 요금제의 정보가 들어있는 객체가 온다.
위 사진을 보면 활성화된 기본요금제가 4개인데 불러와지는 4개의 객체가 모두 정기결제 제목인 '넷플릭스 구독플랜'으로 이름이 오고
각 객체의 세부정보에는 모두 ['매월 정기결제 플랜', '한꺼번에 1년치 결제', '1개월 플랜', '3개월 플랜'] 들어있다.
또..예를 들어 듀오링고에는 슈퍼 요금제와 맥스 요금제가 나뉘어 있다.
그럼 슈퍼와 맥스가 이름이 나와야하는데
"듀오링고 결제"만 나온다는 얘기이다.
난 처음에 내가 할 줄 모르는 줄 알았다.
구분을 할 수 있는 요소라고는 가격 뿐인데
만약 게임에서 보석이 꾸준히 들어오는 1만원짜리 아이템구독상품과 하트가 꾸준히 채워지는 1만원짜리 구독상품이 있으면 이 둘을 구분할 수가 없다는 얘기다.
제대로 정합성을 보장하려면 정기결제를 여러개 만들어서 각각 하나의 기본 요금제만 두어야한다.
외국의 개발자들도 공식 라이브러리 치고는 너무 불편한 라이브러리라고 계속 건의하는 중..
Flutter [in_app_purchase] Get all plans inside subscription
I'm using the in_app_purchase package, but I only can get one plan inside the subscriptions I have 3 subscriptions: Basic subscription Premium subscription Enterprise subscription And inside each
stackoverflow.com
https://github.com/flutter/flutter/issues/110909
[in_app_purchase][android]: Add Google Play Offers support · Issue #110909 · flutter/flutter
Google Play introduced offers to subscriptions. but apparently there is still no support to this feature in the in_app_purchase plugin, or at least this is what I could conclude after going through...
github.com
https://github.com/flutter/flutter/issues/150348
[Android: In-App-Subscription] Get all plans from a Subscription and buy them. · Issue #150348 · flutter/flutter
Steps to reproduce As im implementing In App Subscription in my app with Googles New subscription model thats desiged like: Subscriptoin1 >> Base plan1 >> Base plan2 I'm trying to extract these bas...
github.com
너무 충격적인 개발 경험이다
'Flutter' 카테고리의 다른 글
| 구글 플레이 타겟 SDK 35필수 업그레이드.. (0) | 2025.07.02 |
|---|---|
| 플러터로 개발하기가 너무 힘들다.. (0) | 2025.06.05 |
| flutter 3.27.2 web issue (0) | 2025.01.15 |
| Revenuecat 설정시 Pub/sub Admin, Monitoring viewer 안나오는 문제 (0) | 2024.11.13 |
| [Flutter]지원이 끊긴 듯한 subtitle_wrapper_package 활용법 (0) | 2024.08.16 |
Comment