DateP

2025 3 25 datep 구독 로직

Solo.dev 2025. 3. 25. 10:28

🎯 주요 목표

인앱 구독 기능 구현 (현재 expo-in-app-purchases, 향후 react-native-iap 마이그레이션)

🗓️ 오늘 작업

  • 구독 기능 관련 파일 생성 및 UI 연결:
    • app\purchase.tsx: 구독 모달 UI
    • src\context\SubscriptionProvider.tsx: 구독 상태 관리
    • src\purchases\restorePurchases.ts: 구독 복구
    • src\purchases\startPurchase.ts: 구독 처리
    • functions\src\purchases\verifyReceipt.ts: 영수증 검증 (Firebase Functions, 미배포)
    • index.tsx에 구독 모달 호출 버튼 추가 및 네비게이션 설정 완료
  • EAS 설정: eas build:configure 실행, eas.json 생성, app.config.js에 EAS 프로젝트 ID 추가
  • 빌드 시도 및 문제 발생:
    • EAS Build 시도 (eas build --platform android --profile development)
    • 로컬 빌드 시도 (cd android && .\gradlew assembleRelease)
    • 문제: Kotlin 버전 불일치 (expo-modules-core vs. Kotlin)로 빌드 실패

⚠️ 현재 상황

  • 구독 기능 관련 코드 및 UI 작업 완료
  • EAS 설정 완료
  • 심각한 문제: Kotlin 버전 호환성 문제로 Android 빌드 실패
  • expo-in-app-purchases 테스트를 위한 네이티브 빌드 필요

🛠️ 오늘 할 일

  1. 빌드 오류 해결 (Kotlin 버전 맞추기):
    • expo-modules-core@1.5.14로 다운그레이드 (npm install expo-modules-core@1.5.14)
    • node_modules, package-lock.json 삭제 후 npm install 재실행
    • 네이티브 프로젝트 재생성 (npx expo prebuild --clean --platform android)
    • 로컬 Gradle 빌드 테스트 (cd android && .\gradlew clean && .\gradlew assembleRelease)
    • 빌드 성공 시 .apk 파일 확인
  2. 기본 앱 실행 테스트: 빌드된 .apk를 에뮬레이터/실제 기기에 설치 후 앱 실행 및 구독 모달 UI 확인

➡️ 다음 단계 (빌드 성공 후)

  1. expo-in-app-purchases 테스트: 로컬 빌드로 구독 기능 테스트 (결제 처리, 복구 등), Google Play Console 테스트 결제 설정
  2. EAS Build 재시도 (필요시)
  3. Firebase Functions 배포: 영수증 검증 함수 배포 및 테스트
  4. 앱 기능 전체 검증: 구독 모달, 상태 관리, 복구, 처리 기능 종합 테스트
  5. 스토어 준비: 앱 및 구독 상품 정보 등록
  6. 테스트 결제 성공 시 배포 준비

⏭️ 향후 계획

react-native-iap로 마이그레이션 (라이브러리 설치, 코드 수정, 네이티브 설정 업데이트)

📝 요약

  • 오늘 집중 목표: Android 빌드 오류 해결
  • 주요 문제: Kotlin 버전 불일치
  • 다음 스텝: 빌드 성공 후 expo-in-app-purchases 기능 테스트

📌 첨언

  • 빌드 오류 해결이 최우선 과제입니다.
  • expo-in-app-purchases는 Expo Go에서 테스트 불가하므로, 네이티브 빌드 및 테스트가 필수적입니다.
  • Firebase Functions 배포를 통해 영수증 검증의 안정성을 확보해야 합니다.
  • 향후 react-native-iap 마이그레이션을 통해 더 나은 인앱 결제 경험을 제공할 수 있도록 준비해야 합니다.