DateP

Date P React-native expo 인앱 결제(RN-iap) 및 빌드 설정 수정(eas)

Solo.dev 2025. 3. 26. 00:09
DateP Project in-app and eas

DateP Project in-app and eas

오늘 한 일

1. Expo In-App Purchases 문제 해결

전날 expo-in-app-purchases 모듈을 사용하여 EAS로 네이티브 빌드 시도 중 Kotlin 버전 불일치로 인해 빌드 실패.

해결: build.gradle에서 Kotlin 버전을 1.9.24로 조정 후 릴리스 빌드 성공.

2. React-Native-IAP로 마이그레이션

expo-in-app-purchases보다 react-native-iap가 더 적합하다고 판단하여 모듈 마이그레이션 진행.

작업: startPurchase.tsrestorePurchases.ts 파일에서 expo-in-app-purchases 관련 코드를 react-native-iap로 전환.

결과: 코드 마이그레이션 완료.

3. 마이그레이션 중 발생한 에러 해결

react-native-iap 변형(amazon/play) 모호성으로 빌드 오류 발생.

해결: android/app/build.gradle에 다음 설정 추가:

missingDimensionStrategy 'store', 'play'

결과: 빌드 성공.

4. 현재 진행 상태 및 마무리 작업

빌드는 성공했으나, Play Store와 App Store에 앱을 아직 업로드하지 않아 실제 인앱 구독 로직 테스트는 불가능.

HomeScreen에 구독 관련 UI 추가 및 다국어 지원을 위한 언어 데이터 추가 (예: "현재 구독", "프리미엄 구독", "데이트 장소 추천" 등).

오늘 마무리: 여기까지 진행 후 종료.

오늘 한 일 (구조화 정리)

번호 작업 내용 결과
1 Kotlin 버전 1.9.24로 조정 후 EAS 릴리스 빌드 성공 빌드 성공
2 expo-in-app-purchases → react-native-iap로 마이그레이션 (startPurchase.ts, restorePurchases.ts) 코드 전환 완료
3 빌드 오류 해결 (missingDimensionStrategy 'store', 'play' 추가) 빌드 성공
4 HomeScreen 구독 UI 및 언어 데이터 추가 후 마무리 진행 완료

다음에 해야 할 일

1. Purchases.tsx UI 개선

purchases.tsx (구독 모달) UI를 개선하여 사용자 경험 향상 및 디자인/기능 최적화.

2. 탭 네비게이션 제거

현재 index.tsx에 존재하는 하단 탭 네비게이션을 제거하기 위해 _layout.tsx (또는 네비게이션 설정 파일) 수정.

목표: 불필요한 UI 요소 제거로 간결한 화면 구성.

3. Google Play와 App Store 설정 및 업로드

Google Play Console과 App Store Connect에서 앱 생성.

EAS로 최종 빌드 후 업로드 및 인앱 구독 상품 설정 (예: 프리미엄 구독).

목표: 실제 인앱 구독 테스트 가능하도록 환경 구축.

다음에 해야 할 일 (구조화 정리)

번호 작업 내용 세부 사항
1 Purchases.tsx UI 개선 구독 모달 디자인 및 기능 최적화
2 탭 네비게이션 제거 _layout.tsx 수정으로 하단 탭 삭제
3 Google Play/App Store 설정 및 업로드 앱 생성, 빌드 업로드, 인앱 구독 상품 설정 앱 생성, 빌드 업로드, 인앱 구독 상품 설정

추가 참고

  • 테스트 여부: 현재 Play Store와 App Store에 앱이 없으므로, 실제 구독 로직 테스트는 3번 작업 완료 후 가능합니다.
  • UI 개선 우선순위: HomeScreen과 purchases.tsx UI를 먼저 다듬으면 사용자 피드백을 받기 좋습니다.
  • 네비게이션 구조: _layout.tsx에서 탭을 제거하려면 React Navigation 설정을 확인해야 할 수 있으니, 관련 문서 참고하세요.