인앱구매 구독형

박정빈·2025년 12월 9일

React Native 사용기

목록 보기
25/29

IOS

  • 1.App Store Connect에서 인앱 구매 항목을 생성
    1. XCode - Capabilities에서 In-App Purchase를 활성화합니다.
    1. Info.plist 파일에 아래 내용을 추가합니다.
<key>SKAdNetworkItems</key>
<array>
    <dict>
        <key>SKAdNetworkIdentifier</key>
        <string>f38h382jlk.skadnetwork</string>
    </dict>
</array>

위 설정은 Apple의 SKAdNetwork를 사용하여 광고 네트워크에서 앱 설치와 관련된 데이터를 추적할 수 있도록 하는 항목입니다. 이를 통해 앱 설치와 인앱 구매 이벤트를 보다 효과적으로 분석하고 최적화할 수 있습니다.

    1. iOS 샌드박스 테스트 계정 생성

App Store Connect → Users & Access → Sandbox Testers

    1. 비즈니스 탭에서 세금관련 제출해야하는 것을 제출하고 입금받을 계좌를 작성한다.

Android

    1. Google Play Console에서 결제 프로필 만들기
    1. 안드로이드 앱 권한 설정
      구독을 만들 앱에 들어가서 정기결제를 만들려고 하면 이런 화면이 나온다.

      안드로이드에 인앱 상품을 생성하기 위해서는 BILLING 권한이 설정된 앱이 Google Play에 업로드해야 합니다. 우선 android/app/src/main/AndroidManifest.xml 파일을 열고 아래와 같이 BILLING 권한을 추가합니다.
<manifest ...>
  ...
  <uses-permission android:name="com.android.vending.BILLING"/>
  ...

그리고 앱을 빌드해서 구글 플레이에 제출합니다.
제출하면 아래와 같이 구독을 만들 수 있습니다.

    1. 구독 만들기
      원하는 구독을 만듭니다.
      제품 ID / Product ID
      구독 세부정보(이름, 설명) / Subscription details(Name, Description)
      가격(결제 기간, 기본 가격) / Price(Billing period, Default price)
    1. Android 테스트 계정 추가

Play Console → 설정 → 라이선스 테스트 → Gmail 계정 추가

코드 작성

  1. 패키지 설치
    npm install react-native-iap react-native-nitro-modules
    npx pod-install
  2. 구독 결제 기능 구현
  • IAP 초기화
  • 구독 상품 목록 불러오기
  • 구매 요청 로직
  • purchaseUpdatedListener 등록
  • 영수증 검증
  • 구독 상태 저장AsyncStorage
  • restore 기능 구현

블로그 참고

주의

IOS는 구독 정보 입력하는 곳에
메타데이터 누락됨이 나오지 않도록 모든 정보를 입력하면,
제출 준비중 으로 바뀐다.

구독 그룹 안의 구독 정보(예: LinkNote_ 안의 LinkNote_Monthly)가 정보를 다 입력해도 메타데이터 누락됨이 나온다면, 구독 그룹의 현지화 정보등을 입력하였는지 확인해서 모든 정보를 다 채운다.

모든 정보를 다 채우면,앱 새로운 버전을 제출하는 곳에 아래 사진과 같이 구독을 같이 제출할 수 있도록 되어있는데, 이걸 꼭 포함해서 제출해야한다.

0개의 댓글