✨ PurchaseScreen 및 RestorePurchases 요구사항 정리
요구사항 개요
아래는 DateP 애플리케이션의 구독 관련 기능을 개선하기 위한 세 가지 요구사항입니다.
- 모달 타이틀 조정 및 스타일 관리.
restorePurchases에러 복구.- 구독 성공 후 네비게이션 처리.
1. 모달 타이틀 조정
문제
모달 타이틀이 ScrollView 내부에 있어 아래쪽에 위치, 사용자 경험 저하.
해결 목표
ScrollView밖으로 빼서 상단에 고정.style.ts에purchasemodalTitle정의.footerCard의marginTop을height * 0.045로 관리.
수정 내용
타이틀을 ScrollView 밖으로 이동하고, style.ts에 purchasemodalTitle을 정의하며, footerCardContainer의 marginTop을 height * 0.045로 조정.
설명: 타이틀을 ScrollView 밖으로 이동하고, footerCardContainer의 marginTop을 조정하여 UI 개선.
2. restorePurchases 에러 복구
문제
'❌ restorePurchases error:', [Error: purchase is not suitable to be purchased] 발생.
분석: finishTransaction이 불필요하게 포함되어 발생한 오류 가능성.
해결 목표
finishTransaction제거.getAvailablePurchases로 구매 확인 후 복구.startPurchase에서developerPayload: plan으로 플랜 반영.
수정 내용
finishTransaction을 제거하고, getAvailablePurchases로 구매 내역 확인 후 복원. startPurchase에서 developerPayload: plan으로 플랜 설정.
설명: finishTransaction 제거로 에러 방지, acknowledgePurchaseAndroid로 구매 상태 보완, 플랜은 developerPayload로 결정.
3. 구독 성공 후 네비게이션
문제
구독 완료 후 메인 화면 이동 기능 미구현.
해결 목표
PurchaseScreen.tsx에goToHomeScreen정의.- 구독 성공 후 버튼 클릭 시
(tabs)로 이동.
수정 내용
PurchaseScreen.tsx에 goToHomeScreen을 정의하고, 구독 및 복원 성공 시 "OK" 버튼으로 (tabs)로 이동.
설명: goToHomeScreen으로 모달 닫고 (tabs)로 이동, 성공 시 "OK" 버튼으로 트리거.
내일 할 일
다음 작업을 계획 중입니다.
4. 영수증 검증 서버 분리 검토
문제
현재 클라이언트에서 영수증 검증 처리 중, 서버로 분리할지 고민.
해결 목표
- 보안 위해 서버로 이동 권장 (
Firebase Functions사용 가능).
설명: 클라이언트 검증은 보안 취약점이 있을 수 있으므로, Firebase Functions로 서버 검증 구현 검토.
5. Alert 다국어 적용
문제
Alert 메시지가 한국어로 고정되어 글로벌 사용자 대응 부족.
해결 목표
translations[language]로 다국어화.
설명: Alert 메시지를 translations 객체에서 가져와 언어별로 동적 적용.
6. Firebase Functions - 장소 검색 수식어 문제
문제
수식어(좋은, 인기 있는 등)에 따라 장소 개수 편차 (1개~20개) 발생.
해결 목표
- 최소 10개 보장하도록 수식어 테스트 및 필터링 로직 개선.
설명: Firebase Functions 검색 로직을 수정해 일관된 결과(최소 10개) 반환하도록 조정.
'DateP' 카테고리의 다른 글
| 구독 시스템 수정 방안 (0) | 2025.04.10 |
|---|---|
| Date P 구매 복원 및 플랜 동기화: 오늘의 작업과 다음 단계 (0) | 2025.04.09 |
| 구독 로직 테스트 및 개선 항목 (0) | 2025.04.06 |
| 구독 로직 테스트 정리 (0) | 2025.04.05 |
| DateP 앱 아이콘, 스크린샷 이미지, 그래픽 디자인 완성. (0) | 2025.04.02 |