메뉴로 바로가기

iOS 자동 갱신 구독을 생성하세요

개요

“개요”라는 제목을 가진 섹션

auto-renewable subscriptions

자동 갱신 구독은 각 계정 기간의 종료 시점에서 자동으로 갱신되며 사용자가 취소할 때까지 계속됩니다. 그들은 다음과 같은 경우에 이상적입니다.

  • 고급 콘텐츠 및 기능
  • 광고 없는 경험
  • 클라우드 스토리지 및 동기화
  • 스트리밍 서비스
  • 전문가 도구 및 유틸리티

구독을 만들기 전에 다음을 수행해야 합니다.

  1. 구독 그룹을 생성하여 구독을 조직화합니다. 활성 애플 개발자 프로그램 회원이 있어야 합니다.
  2. __CAPGO_KEEP_0__
  3. App Store Connect에서 완전한 은행 및 세금 정보를 확인하세요.

구독 만들기

구독 만들기
  1. 구독으로 이동하세요.

    App Store Connect에서 앱을 선택하고 Monetize > 구독으로 이동하세요..

    구독 그룹을 선택하거나 필요할 경우 새로운 그룹을 만들세요.

    구독으로 이동하세요.

  2. 새로운 구독 만들기

    구독 그룹 옆에 있는 + 아이콘을 클릭하여 새로운 구독을 추가하세요.

  3. 기본 정보를 입력하세요.

    참조 이름: 고객에게 표시되지 않는 내부 사용자 이름

    • 예시: “월간 프리미엄”, “년간 최고”, “기본 계획”

    상품 ID: 이 구독에 대한 고유 식별자 (이후 변경할 수 없음)

    • 형식: com.yourcompany.yourapp.premium_monthly
    • 설명적, 소문자 이름을 사용하고 언더스코어를 사용하세요
    • native-purchases 플러그인을 구성하기 위해 필요

    구독 세부 정보 입력

  4. 구독 기간 구성

    다음 옵션 중에서 구독 기간을 선택하세요:

    • 1 주
    • 1 개월
    • 2 개월
    • 3 개월
    • 6 개월
    • 1 년

    기간은 사용자가 청구되는 빈도에 영향을 미칩니다.

  5. 설정 가격

    클릭 구독 가격 추가 가격 구성하기:

    기본 영역: 기본 시장 (일반적으로 국가)을 선택하세요

    가격: 구독 가격을 설정하세요

    • Apple은 다른 통화로 자동 변환합니다
    • Apple의 가격 계층 중에서 선택하세요
    • 가치 인식과 시장 가격을 고려하세요

    가격 구성

  6. 가족 공유 (선택 사항)

    가족 공유를 활성화하여 최대 6명의 가족 구성원이 구독에 접근할 수 있도록 결정하세요

    활성화 조건:

    • 가족용으로 적합한 콘텐츠입니다.
    • 가치 제안을 증가시키고 싶다면
    • 사업 모델이 이를 지원한다면

    다음 경우에는 사용하지 마세요:

    • 개인 사용자만을 위한 구독입니다.
    • 콘텐츠는 사용자에게 맞춤화됩니다.
    • 사용자당 최대 수익을 원한다면
  7. 지역화 추가

    앱이 지원하는 모든 언어에서 구독 정보를 표시하세요:

    구독 이름: 고객에게 보이는 이름 (예: "월간 프리미엄")

    설명: 구독에 포함된 내용의 간략한 설명

    • 간결하고 이점을 강조하는 설명
    • 중요한 기능을 언급
    • 가치 제안을 강조

    지역화 추가

  8. 앱 스토어 홍보 이미지 (선택 사항)

    312x390 픽셀의 홍보 이미지를 업로드하세요:

    • 앱 스토어 구독 페이지에 표시
    • 앱의 디자인과 일치
    • 구독 이름을 포함하여 명확성
  9. 제출하기

    클릭 저장 구독을 생성하기 위해

    첫 번째 구독:

    • 새로운 앱 버전과 함께 제출해야 합니다.
    • 앱 스토어 제출에 포함하세요.
    • 독립적으로 제출할 수 없습니다.

    후속 구독:

    • Subscriptions 페이지에서 직접 제출할 수 있습니다.
    • 새로운 앱 버전이 필요하지 않습니다.
    • __CAPGO_KEEP_0__ 승인된 첫 번째 구독이 승인되면 사용 가능합니다.

__CAPGO_KEEP_0__ 구독 상태

구독 상태

구독 상태는 다음과 중 하나가 될 것입니다.

상태설명테스트 가능 여부
미설정된 메타데이터설정 미완료Yes (sandbox)
제출 준비제출되지 않은 완료네 (샌드박스)
검토 대기 중애플에 제출네 (샌드박스)
검토 중애플에서 검토 중네 (샌드박스)
승인구매 가능
거절수정 필요Yes (sandbox)

앱에서 사용하기

앱에서 사용하기

구독을 생성한 후, 제품 ID를 참조하여 앱에서 사용하세요.

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch subscription products direct from StoreKit
const { products } = await NativePurchases.getProducts({
productIdentifiers: [
'com.yourcompany.yourapp.premium_monthly',
'com.yourcompany.yourapp.premium_annual',
],
productType: PURCHASE_TYPE.SUBS,
});
products.forEach((product) => {
console.log(`${product.title}: ${product.priceString}`);
console.log(`Duration: ${product.subscriptionPeriod}`);
console.log(`Description: ${product.description}`);
});
// Purchase a subscription (StoreKit 2 automatically handles intro pricing and offers)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourcompany.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Transaction ID:', transaction.transactionId);
// StoreKit receipts are included on iOS for server-side validation
await sendReceiptToBackend(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}
// Check subscription status using the store's data
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find(
(purchase) => purchase.productIdentifier === 'com.yourcompany.yourapp.premium_monthly',
);
if (premium?.isActive) {
console.log('Expires:', premium.expirationDate);
console.log('Will renew:', premium.willCancel === false);
console.log('Store state:', premium.subscriptionState);
unlockPremiumFeatures();
} else {
showPaywall();
}

월별 12개월 계약 플랜

월별 12개월 계약 플랜

App Store Connect 구독이 월별 청구 플랜과 12개월 계약으로 구성되어 있다면, StoreKit은 추가 가격 조건을 반환할 수 있습니다. 구매 전에 월별 요금, 총 계약 가격, 전체 계약 기간을 표시하기 위해 사용하세요.

const yearlyProduct = products.find(
(product) => product.identifier === 'com.yourcompany.yourapp.premium_annual',
);
const monthlyCommitment = yearlyProduct?.pricingTerms?.find(
(term) => term.billingPlanType === 'monthly',
);
if (yearlyProduct && monthlyCommitment) {
console.log('Monthly charge:', monthlyCommitment.billingDisplayPrice);
console.log('Total commitment:', monthlyCommitment.commitmentInfo?.priceString);
await NativePurchases.purchaseProduct({
productIdentifier: yearlyProduct.identifier,
productType: PURCHASE_TYPE.SUBS,
billingPlanType: 'monthly',
});
}

전체 결제 장벽 및 권한 흐름을 보려면 iOS 월간 약속 청구 계획.

  • 월간 계획: 입장 장벽이 낮아지고 습관을 형성합니다
  • : 더 좋은 가치, 더 높은 LTV, 더 낮은 churn: 다양한 사용자 세그먼트를 위한 기본, 프리미엄, 얼티밋
  • __CAPGO_KEEP_0____CAPGO_KEEP_0__
  • __CAPGO_KEEP_0____CAPGO_KEEP_0__: __CAPGO_KEEP_0__의 가격을 분석하는 연구

__CAPGO_KEEP_0__

제품 ID
  • 일관된 이름 사용: company.app.tier_duration
  • 기간 및 등급을 포함하는 ID: premium_monthly, ultimate_annual
  • 제품 ID 변경하지 않기 (영구적)
  • 제품 ID 문서화: 팀원과 공유
  • 수입에 미치는 영향 고려
  • __CAPGO_KEEP_0__
  • 테스트 공유 동작을 철저히
  • 마케팅에서 공유 가능성을 전달하십시오

국제화

국제화
  • 모든 구독 이름과 설명을 번역하십시오
  • 지역 가격 차이를 고려하십시오
  • 모든 지원 언어에서 표시 테스트하십시오
  • 문화적으로 적합한 마케팅 언어 사용하십시오

홍보 이미지

홍보 이미지
  • 일관된 시각적 스타일 유지하십시오
  • 구독 이름과 주요 이점 포함하십시오
  • 계절促销 업데이트
  • 앱의 전체 디자인 언어와 일치

일반 구독 패턴

일반 구독 패턴

단일 티어 (프리미엄)

단일 티어 (프리미엄)
Free App + Premium Subscription
- Basic: Free (limited features)
- Premium Monthly: $4.99
- Premium Annual: $39.99 (save 33%)

멀티 티어 (좋음, 더 좋음, 최고)

멀티 티어 (좋음, 더 좋음, 최고)
- Basic Monthly: $4.99
- Premium Monthly: $9.99
- Ultimate Monthly: $19.99
- Basic Annual: $49.99
- Premium Annual: $99.99
- Ultimate Annual: $199.99

소비 가능한 + 구독 하이브리드

소비 가능한 + 구독 하이브리드
- Credit packs (consumable)
- Monthly subscription (unlimited credits)
- Annual subscription (unlimited + bonus features)

앱에서 구독이 로드되지 않음:

  • 제품 ID가 정확히 일치하는지 (대/소문자 구분) 확인하세요
  • 구독이 구독 그룹에 포함되어 있는지 확인하세요
  • App Store Connect의 번들 식별자가 정확한지 확인하세요
  • 제품을 생성한 후 2-3시간 기다려보세요

구독 제출이 불가능한 경우:

  • 필수 필드(이름, 설명, 가격) 모두 입력하세요
  • 최소한 한 개의 지역화 추가하세요
  • 은행/세금 정보가 승인되어 있는지 확인하세요
  • __CAPGO_KEEP_0__ 확인 (앱 버전이 필요함)

가족 공유 설정이 비활성화되었습니다.

  • 이미 활성화되어 비활성화할 수 없습니다.
  • 구독 세부 사항에서 확인하세요.
  • 애플 지원팀에 문의하세요.

가격 계층이 사용할 수 없습니다.

  • 일부 지역에서 제한될 수 있습니다.
  • 대체 계층을 선택하세요.
  • 애플 가격에 대한 문의를 하세요.

“유효하지 않은 제품 ID” 오류:

  • 역 도메인 형식이어야 합니다.
  • 공백이나 특수 문자를 포함할 수 없습니다.
  • 오류를 확인하세요
  • 모든 제품에 걸쳐 고유성을 확인하세요

추가 리소스

추가 리소스 섹션

자세한 내용은 자동 갱신 가능 구독에 대한 공식 애플 문서를 참조하십시오.