> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RevenueCat 구독

> Agent를 사용하여 RevenueCat으로 모바일 앱에 인앱 구독을 추가하는 방법을 알아보세요.

export const AiPrompt = ({children}) => {
  return <CodeBlock className="relative block font-sans whitespace-pre-wrap break-words">
      <div className="pr-7">
        {children}
      </div>
    </CodeBlock>;
};

## RevenueCat이란?

RevenueCat을 사용하면 [네이티브 모바일 앱](/references/artifact-types/building-mobile-apps)에 인앱 구독을 추가할 수 있습니다. 시작하려면 Agent에게 구독 설정을 요청하고, RevenueCat 계정을 연결하면 Agent가 로직을 처리하고 테스트 환경을 제공합니다.

## 사전 요구 사항

시작하기 전에 다음이 필요합니다:

* **모바일 앱**으로 만든 Replit 프로젝트
* [RevenueCat](https://www.revenuecat.com) 계정 (이메일과 비밀번호만 필요하며 은행 계좌나 추가 설정이 필요하지 않습니다)

<Note>
  네이티브 모바일 앱 작업은 [replit.com](https://replit.com)의 프로젝트 편집기를 사용하세요. 네이티브 모바일 앱 작업은 지원되는 경우 Replit Android 앱에서도 사용할 수 있습니다. Replit iOS 앱을 사용 중이라면 replit.com에서 프로젝트를 여세요.
</Note>

## 시작하기

<Steps>
  <Step title="Agent에게 구독 추가 요청하기">
    원하는 구독을 설명하세요. Agent가 연동을 계획하고, 패키지를 설치하고, RevenueCat을 설정합니다.

    <AiPrompt>Add a \$5.99/mo subscription to my app</AiPrompt>

    <Frame>
      <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-prompt.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=1f5aef4b09f4ba1a20eb982e2db87f12" alt="구독 추가 프롬프트에 응답하는 Agent를 보여주는 Replit 프로젝트 편집기" width="1957" height="1133" data-path="images/replitai/revenuecat-prompt.png" />
    </Frame>
  </Step>

  <Step title="RevenueCat 계정 연결하기">
    Agent가 RevenueCat 연결을 요청합니다. **RevenueCat 연결**을 선택하여 인증 흐름을 시작하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-connect.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=2ab15e61163cb1a499b5082338efb5db" alt="연결 버튼이 있는 RevenueCat 연결 배너를 보여주는 Agent 채팅" width="1957" height="1133" data-path="images/replitai/revenuecat-connect.png" />
    </Frame>

    모달이 RevenueCat에 연결 중임을 확인합니다. **RevenueCat으로 계속**을 선택하여 진행하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-connect-modal.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=b901785b4dc04548f826fe84ea0447f0" alt="개인정보 및 보안 정보를 보여주는 RevenueCat 연결 모달" width="1957" height="1133" data-path="images/replitai/revenuecat-connect-modal.png" />
    </Frame>
  </Step>

  <Step title="Replit 승인하기">
    RevenueCat 인증 페이지에서 **읽기 및 쓰기** 접근을 선택하고 **승인**을 선택하여 Replit에 RevenueCat 계정 접근을 허용하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-authorize.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=ef7c653c14f864265f6157a35cc62800" alt="읽기 및 쓰기 접근이 선택된 RevenueCat OAuth 인증 페이지" width="683" height="897" data-path="images/replitai/revenuecat-authorize.png" />
    </Frame>
  </Step>

  <Step title="Agent가 구독 빌드하기">
    인증 후 Agent가 RevenueCat 프로젝트를 만들고, 상품 및 권한을 구성하고, 페이월 화면을 빌드하고, 앱 전체에 구독 로직을 연결합니다.

    <Frame>
      <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-agent-summary.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=1343a44680e387548c7811c4ffae2be1" alt="구독 기능과 가격이 있는 페이월 화면을 보여주는 Agent 요약" width="1957" height="1133" data-path="images/replitai/revenuecat-agent-summary.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-app-home.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=20f7a373137adbee146010b795824560" alt="구독 콘텐츠에 대한 프리미엄 배지를 보여주는 모바일 앱 홈 화면" width="1957" height="1133" data-path="images/replitai/revenuecat-app-home.png" />
    </Frame>
  </Step>
</Steps>

## 구독 테스트하기

Replit 미리보기는 RevenueCat의 **테스트 모드**를 사용합니다. Expo Go에서 구매를 테스트하면 실제 결제 흐름 대신 테스트 구매 대화 상자가 표시됩니다. 요금이 청구되지 않습니다.

<Frame>
  <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-test-purchase.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=cd4d96400d7176eefe69e8762f89c425" alt="패키지 세부 정보와 테스트 버튼을 보여주는 모바일 기기의 테스트 구매 대화 상자" width="683" height="1253" data-path="images/replitai/revenuecat-test-purchase.png" />
</Frame>

<Tip>
  테스트 구매는 개발 중에 안전하게 사용할 수 있습니다. 실제 요금 없이 성공적인 구매 흐름과 실패한 구매 흐름을 모두 테스트할 수 있습니다.
</Tip>

<Warning>
  Apple이 App Store 배포를 위해 앱을 승인하면 구매 시 실제 돈이 사용됩니다.
  App Review에 제출하기 전에 RevenueCat 상품과 가격이 올바른지 확인하세요.
</Warning>

## 구독 관리하기

구독을 수정하려면 Agent에게 요청하세요. 예를 들어:

<AiPrompt>Modify the subscription to be \$9.99/yr instead</AiPrompt>

Agent가 변경 사항을 반영하도록 RevenueCat 상품 구성, 페이월 UI, 구독 로직을 업데이트합니다.

<Frame>
  <img src="https://mintcdn.com/replit/54Lx5jKPhNuBhNIa/images/replitai/revenuecat-modify.png?fit=max&auto=format&n=54Lx5jKPhNuBhNIa&q=85&s=1f2e3540744cff1d9626ca9ff065abbb" alt="구독 가격을 월간에서 연간으로 수정하는 Agent를 보여주는 Replit 프로젝트 편집기" width="1957" height="1133" data-path="images/replitai/revenuecat-modify.png" />
</Frame>

## App Store Connect와 동기화하기

TestFlight와 Apple App Store에서 인앱 구매가 작동하려면 [Apple의 유료 앱 계약에 동의하고 은행 계좌를 연결해야 합니다](https://developer.apple.com/help/app-store-connect/manage-agreements/sign-and-update-agreements/).
이는 App Store Connect를 통해 이루어집니다. App Store에 앱을 제출하기 전에 유료 Apple 개발자 계정이 필요합니다.

이후 Replit을 통해 RevenueCat에서 App Store Connect로 인앱 구매 구성을 직접 동기화할 수 있습니다.

<Steps>
  <Step title="게시의 관리 창으로 이동하기">
    RevenueCat을 App Store Connect에 동기화하는 버튼이 표시됩니다.

    <Frame>
      <img src="https://mintcdn.com/replit/xEOEB_NKh1DJyjhm/images/replitai/revenuecat-asc-sync-btn.png?fit=max&auto=format&n=xEOEB_NKh1DJyjhm&q=85&s=739b8603ed165eebf67a87ff5408da9b" alt="RevenueCat을 App Store Connect에 동기화하는 버튼" width="1476" height="604" data-path="images/replitai/revenuecat-asc-sync-btn.png" />
    </Frame>

    <Tip>
      이 섹션은 TestFlight에 앱을 제출한 후에만 나타납니다.
    </Tip>
  </Step>

  <Step title="App Store Connect API 키 제공하기">
    이 키를 제공하려면 App Store Connect로 이동해야 합니다.

    [App Store Connect](https://appstoreconnect.apple.com/access/integrations/api)에서 **사용자 및 접근**으로 이동한 다음 **연동** 탭을 선택하세요. 사이드바에서 **App Store Connect API**를 선택하세요.

    키를 만들 때 "앱 관리자" 권한을 부여해야 합니다.

    .p8 파일을 지금 다운로드하세요. 한 번만 다운로드할 수 있습니다. 파일 이름은 `AuthKey_`로 시작하고 `.p8`로 끝납니다.

    이 페이지에 표시된 **키 ID**와 **발급자 ID**를 복사하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/xEOEB_NKh1DJyjhm/images/replitai/revenuecat-asc-create.png?fit=max&auto=format&n=xEOEB_NKh1DJyjhm&q=85&s=24ac192da8b1182d1835ef4de0f9839a" alt="연동 탭, App Store Connect API 사이드바 링크, 새 API 키를 만드는 더하기 버튼이 표시된 App Store Connect 사용자 및 접근 페이지" width="2390" height="752" data-path="images/replitai/revenuecat-asc-create.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/replit/xEOEB_NKh1DJyjhm/images/replitai/revenuecat-asc-app-manager.png?fit=max&auto=format&n=xEOEB_NKh1DJyjhm&q=85&s=1cce1eda00a2aca593f7f1388c85b7b9" alt="이름이 RevenueCat이고 접근이 앱 관리자로 설정된 App Store Connect의 API 키 생성 대화 상자" width="1116" height="560" data-path="images/replitai/revenuecat-asc-app-manager.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/replit/xEOEB_NKh1DJyjhm/images/replitai/revenuecat-asc-copy.png?fit=max&auto=format&n=xEOEB_NKh1DJyjhm&q=85&s=c2db4fb91a7ce8c49db0ae16603b61d8" alt="발급자 ID 복사 링크와 키 ID 열을 가리키는 화살표가 있는 App Store Connect API 키 페이지" width="2330" height="780" data-path="images/replitai/revenuecat-asc-copy.png" />
    </Frame>
  </Step>

  <Step title="인앱 구매 API 키 만들기">
    인앱 구매 API 키에 대해 이전 단계를 반복하세요.
    사이드바에서 **인앱 구매**를 선택하세요. 그런 다음 **앱 관리자** 권한으로 API 키를 만드세요.
    .p8 키를 다운로드하세요(파일 이름은 `SubscriptionKey_`로 시작하고 `.p8`로 끝납니다). **키 ID**와 **발급자 ID**를 복사하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/xEOEB_NKh1DJyjhm/images/replitai/revenuecat-iap-api-key.png?fit=max&auto=format&n=xEOEB_NKh1DJyjhm&q=85&s=6adeb76b34f36ab2528c614509727a77" alt="사이드바에서 인앱 구매가 선택되고 새 키를 만드는 더하기 버튼을 가리키는 화살표가 있는 App Store Connect 사용자 및 접근 페이지" width="2272" height="637" data-path="images/replitai/revenuecat-iap-api-key.png" />
    </Frame>
  </Step>

  <Step title="상품 동기화하기">
    상품 목록을 확인하고 App Store Connect에 동기화하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/xEOEB_NKh1DJyjhm/images/replitai/revenuecat-asc-products-sync.png?fit=max&auto=format&n=xEOEB_NKh1DJyjhm&q=85&s=009172881129e77b4fe8021bd19f98fb" alt="가격, 기간, 지역 필드가 있는 월간 구독 상품과 App Store Connect에 동기화 버튼이 있는 인앱 구매 관리 대화 상자" width="948" height="476" data-path="images/replitai/revenuecat-asc-products-sync.png" />
    </Frame>
  </Step>
</Steps>

## 자주 묻는 질문

<AccordionGroup>
  <Accordion title="RevenueCat을 사용하려면 은행 계좌가 필요한가요?">
    아니요. RevenueCat 계정을 만들려면 이메일과 비밀번호만 필요합니다. 은행 계좌 설정은 App Store 또는 Google Play에서 수익을 받을 준비가 되었을 때 Apple 또는 Google을 통해 별도로 처리됩니다.
  </Accordion>

  <Accordion title="테스트 구매 시 요금이 청구되나요?">
    아니요. 개발 중에 Replit 미리보기는 RevenueCat의 테스트 모드를 사용합니다.
    구매가 시뮬레이션되며 실제 요금이 청구되지 않습니다. 실제 요금은 Apple App Review가 앱을 승인한 후에만 적용됩니다.
  </Accordion>

  <Accordion title="RevenueCat을 웹 앱에서 사용할 수 있나요?">
    RevenueCat은 네이티브 모바일 앱을 위해 설계되었습니다. 웹 앱에 구독을 추가하려면 대신 [Stripe 연동](/references/monetization/stripe-payments)을 사용하세요.
  </Accordion>

  <Accordion title="RevenueCat으로 무엇을 구성할 수 있나요?">
    월간 또는 연간 구독을 설정하고, 가격을 구성하고, 권한을 관리하고, 페이월을 빌드할 수 있습니다. Agent에게 변경을 요청하면 RevenueCat 구성과 앱 코드를 모두 처리합니다.
  </Accordion>
</AccordionGroup>
