✨ 구독 로직 테스트 정리 (2025.04.04)
오늘 한 작업
오늘은 구독 로직을 테스트하기 위해 Google Play Console에서 인앱 구독 상품을 생성하고, 로컬 환경에서 테스트를 진행한 후 문제를 분석했습니다. 이후 비공개 테스트(Closed Testing)에 앱을 업로드한 상태입니다.
1. 인앱 구독 상품 생성
Play Console에서 datep_subscribe라는 구독 상품을 생성했습니다.
- Basic 플랜: 3일 무료 체험 + ₩7,000/월, 무료 체험 없는 옵션(₩7,000/월).
- Premium 플랜: 3일 무료 체험 + ₩14,000/월, 무료 체험 없는 옵션(₩14,000/월).
- 목적: 구독 로직 테스트를 위한 기반 마련.
2. 구독 로직 점검
startPurchase.ts에서 datep_subscribe를 사용해 구독 상품 조회 및 결제 요청 로직을 점검했습니다.
getSubscriptionDetails에서subscriptions데이터를 로그로 확인:datep_subscribe에 Basic과 Premium 플랜의subscriptionOfferDetails포함.- 현재 첫 번째
offerToken(Basic, 3일 무료 + ₩7,000/월)이 기본으로 선택되어 결제 UI에 전달. - 결과: 구독 로직 기본 작동, Google Play 결제 UI 호출 성공.
- 문제: "구입 항목을 찾을 수 없다" 오류 발생 → Android Studio 릴리스 빌드 직접 설치 환경 때문으로 추정.
3. 로컬 테스트 문제 발견 및 비공개 테스트 준비
로컬 빌드 앱(Play Store 다운로드 X)으로 테스트 시 문제가 발생했습니다.
- 문제: Play Store와 연결 끊김 → 결제 불가, "구입 항목을 찾을 수 없다" 오류.
- 해결 방안: Play Console에서 비공개 테스트 트랙에 앱 업로드, Play Store 다운로드 후 테스트 필요.
- 현재 상태: 비공개 테스트에 앱 업로드 완료, 테스터 계정 추가 및 Play Store 배포 대기 중.
4. 구독 로직 수정 검토
현재 구독 로직의 한계를 분석하고 수정 방향을 검토했습니다.
- 현재 상태:
PurchaseScreen에서 사용자가 선택한selectedPlan(Basic/Premium)이 결제 로직에 반영되지 않음. getSubscriptionDetails에서 첫 번째offerToken만 고정 사용 중.- 수정 방향:
selectedPlan에 따라 적절한offerToken선택 로직 개선. - 예: Basic 선택 시
basePlanId: "basic"+offerId: "3-days-free", Premium 선택 시basePlanId: "premium"+offerId: "3-days-free".
현재 상태 요약
구독 로직: 기본 작동 성공 (결제 UI 호출 가능).
문제점:
- 로컬 테스트에서 "구입 항목을 찾을 수 없다" 오류 → Play Store 배포 필요.
- 사용자 플랜 선택(
selectedPlan)이 결제에 반영되지 않음.
진행 상황: 비공개 테스트에 앱 업로드 완료, Play Store 배포 대기 중.
앞으로의 계획
1. 비공개 테스트에서 구독 로직 수정 버전 테스트
작업:
startPurchase와getSubscriptionDetails수정:selectedPlan을 반영한offerToken선택 로직 추가.- 수정된 코드를 App Bundle로 빌드해 Play Console에 업로드.
- 비공개 테스트 트랙 생성 및 테스터 계정 추가.
목표:
- Play Store 다운로드 앱으로 결제 로직 정상 작동 확인.
- "구입 항목을 찾을 수 없다" 오류 해결.
2. 구독 로직 검토 및 최적화
작업:
- 비공개 테스트 후
subscriptions데이터 및 결제 응답 로그 분석. offerToken선택 로직 점검: Basic → ₩7,000/월 (3일 무료), Premium → ₩14,000/월 (3일 무료).
목표:
- 사용자가 선택한 플랜에 따라 올바른 구독 오퍼 적용 확인.
3. 사용자 플랜 선택에 따른 결제 UI 제공
작업:
PurchaseScreen에서selectedPlan을startPurchase에 전달.requestSubscription에 선택된 플랜의offerToken적용.- Google Play 결제 UI가 선택된 플랜의 가격/조건 표시 보장: Basic: ₩7,000/월 (3일 무료), Premium: ₩14,000/월 (3일 무료).
목표:
- 사용자가 선택한 플랜에 맞는 결제 UI 표시.
- 결제 완료 후 선택된 플랜 정상 적용.
전체 흐름 정리
오늘의 작업
- 구독 로직 점검:
datep_subscribe로 구독 데이터 조회 및 결제 호출 확인. - 문제 발견: 로컬 빌드에서 "구입 항목을 찾을 수 없다" 오류 → Play Store 배포 필요성 인지.
- 비공개 테스트 준비: 앱을 비공개 테스트에 업로드.
현재 상태
- 구독 로직: 기본 작동하나,
selectedPlan반영되지 않음. - 테스트 환경: Play Store 배포 없이는 결제 불가 → 비공개 테스트 대기 중.
다음 단계
- 비공개 테스트: 수정된 구독 로직 업로드 후 Play Store 다운로드로 테스트.
- 로직 개선:
selectedPlan에 따라offerToken선택 및 결제 UI 반영. - 결과: 사용자가 선택한 플랜(Basic/Premium)에 맞는 결제 UI 제공 및 구독 완료.
최종 목표
사용자 경험:
PurchaseScreen에서 Basic 또는 Premium 선택 후 "구독" 버튼 클릭.- 선택된 플랜에 맞는
offerToken적용. - Google Play 결제 UI에서 해당 플랜의 가격과 조건 표시:
- Basic: ₩7,000/월 (3일 무료).
- Premium: ₩14,000/월 (3일 무료).
- 결제 완료 후 선택된 플랜 정상 적용.
'DateP' 카테고리의 다른 글
| PurchaseScreen 및 RestorePurchases 해결 정리 (0) | 2025.04.08 |
|---|---|
| 구독 로직 테스트 및 개선 항목 (0) | 2025.04.06 |
| DateP 앱 아이콘, 스크린샷 이미지, 그래픽 디자인 완성. (0) | 2025.04.02 |
| EAS를 사용해 Google Play Store에 비공개 테스트로 앱 제출하기 (0) | 2025.03.28 |
| DateP Project 구독 모달 UI 완성 및 다음 단계 계획 (2025년 3월 26일) (0) | 2025.03.27 |