내용으로 건너뛰기

iOS 구독 소개 요약

GitHub

초기 소개 제안은 사용자에게 무료 시범 또는 할인된 초기 가격 제안을 제공하여 입장 장벽을 줄이고 구독 전환을 증가시키는 것을 허용합니다.

초기 가입 혜택은 사용자 기반을 확장하는 가장 효과적인 도구 중 하나입니다. 사용자들은 다음과 같은 혜택을 받을 수 있습니다:

  • 프리미엄 기능을 무위험으로 시도해 볼 수 있습니다.
  • 결제 전 가치를 경험할 수 있습니다.
  • 낮은 가격으로 시작할 수 있습니다.
  • 제품에 대한 자신감을 갖을 수 있습니다.

혜택 종류

혜택 종류

iOS는 세 가지 종류의 초기 가입 혜택을 지원합니다:

1. 무료 시범

1. 무료 시범

고객은 지정된 기간 동안 무료로 이용할 수 있습니다. 시범 기간이 끝난 후, 고객은 취소하지 않는 한 표준 요금으로 청구됩니다.

예시:

  • 7일 무료
  • 14일 무료
  • 1개월 무료

추천:

  • 고가 구독
  • 기능-rich 앱
  • 사용자 습관 만들기

2. 일시불 청구

제목 "2. 일시불 청구"

고객은 단일 할인 가격으로 시범 기간을 포함한 모든 요금을 지불합니다.

예시:

  • $1.99 2개월 (그런 다음 $9.99/월)
  • $9.99 3개월 (그런 다음 $19.99/월)

추천:

  • 약속 신호
  • 현금 흐름 필요
  • 가격 민감도 테스트

고객이 여러 청구 주기 동안 저렴한 가격으로 지불합니다.

예시:

  • $1.99/월 3개월 (그런 다음 $9.99/월)
  • $4.99/월 6개월 (그 후 $14.99/월)

추천:

  • 조속한 의사결정
  • 장기적인 가치 증명
  • 인식된 위험 감소

적격성 요구 사항

제목: 적격성 요구 사항

사용자는 제품에 대한 소개 요금제를 받을 수 있으려면:

  • 이 제품에 대한 이전에 소개 요금제를 받지 않은 경우
  • 동일한 구독 그룹의 제품에 대한 이전에 소개 요금제를 받지 않은 경우
  • 이 제품에 대한 활성 구독이 없는 경우

Introductory Offer를 추가하기 전에 자동 갱신 가능한 구독을 먼저 생성해야 합니다. Introductory Offer를 생성하는 방법

제목 ‘Introductory Offer를 생성하는 방법’

구독으로 이동
  1. 애플 스토어 연결에서 앱의

    Monetize > 구독 앱의 섹션과 구독을 선택하여 제안할 가격을 추가합니다.

  2. 구독 가격 추가

    Live Update + 클릭

  3. 구독 가격 아이콘을 클릭하여 가격 모달을 열어보세요.

    소개 가격 만들기 선택 소개 가격 만들기

    소개 가격 만들기

  4. 설정

    국가 및 지역: 제안할 가격이 어디에서 사용할 수 있는지 선택하세요.

    • 최대 범위에 도달하기 위해 모든 국가를 선택하세요
    • 또는 특정 시장에 대한 테스트를 위해 제한하세요

    시작 날짜: 제안이 사용 가능해질 때

    • : 즉시 또는 미래에 예약할 수 있습니다
    • 마케팅 캠페인과 조율하기 위해 유용합니다

    (선택) 종료 날짜: 제안이 만료될 때

    • 빈칸으로 남겨서 지속적인 사용 가능성을 유지하세요
    • 한정 시간의 프로모션을 위해 날짜를 설정하세요
  5. 제안 유형 선택

    다음 중 하나의 제안 유형을 선택하세요:

    무료 (무료 시범)

    • 선택 기간 (일, 주, 월)
    • 예시: 7일, 2주, 1개월

    일시불

    • 단일 결제 가격 설정
    • 결제로 보호되는 기간 설정
    • 예시: 2개월에 $1.99

    사용자별 요금

    • 할인된 가격을 기간당으로 설정
    • 기간 수 설정
    • 예시: 3개월에 $2.99/월
  6. 확인 및 승인

    요약을 검토하세요:

    • 제안 유형 및 기간
    • 가격 정보
    • 인터뷰 기간 후 정상 가격
    • 유효 기간 및 국가
  7. 저장

    Click 저장 클릭

초기 제안을 생성하세요. 즉시 테스트 모드에서 사용할 수 있습니다.

제안 구성 예시

예제 1: 표준 무료 시범 기간

제목: 예제 1: 표준 무료 시범 기간
Type: Free
Duration: 7 days
Then: $9.99/month

사용자 여행:

  • 1-7일: 무료 접근
  • 8일: 첫 번째 $9.99의 요금
  • 월간 요금 지속

예제 2: 초기 할인 기간

제목: 예제 2: 초기 할인 기간
Type: Pay Up Front
Price: $4.99
Duration: 3 months
Then: $9.99/month

사용자 여행:

  • 1일: $4.99의 요금
  • 90일 동안의 접근 권한
  • 91일차: $9.99/월에 청구

예제 3: 점진적인 소개

제목: 예제 3: 점진적인 소개
Type: Pay As You Go
Price: $2.99/month
Periods: 6 months
Then: $9.99/month

사용자 여행:

  • 1-6월: $2.99/월
  • 7월+: $9.99/월

앱에서 사용

제목: 앱에서 사용

native-purchases 플러그인은 자동으로 소개 요금제의 표시와 자격을 처리합니다.

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Fetch products with intro offer information
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['com.yourapp.premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
const product = products[0];
// Display intro offer details (StoreKit sends localized metadata)
if (product.introductoryPrice) {
console.log('Intro price:', product.introductoryPriceString);
console.log('Intro period:', product.introductoryPricePeriod);
console.log('Intro cycles:', product.introductoryPriceCycles);
console.log('Regular price:', product.priceString);
} else {
console.log('No intro offer configured');
}
// Purchase (StoreKit automatically applies intro pricing if eligible)
try {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.yourapp.premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Subscription active, receipt length:', transaction.receipt?.length);
await validateReceiptOnServer(transaction.receipt);
} catch (error) {
console.error('Purchase failed:', error);
}

사용자에게 소개 Offers 표시

제목 “사용자에게 소개 Offers 표시”

UI에 대한 최선의 관행

제목 “UI에 대한 최선의 관행”

명확한 가치 제안:

Try Premium Free for 7 Days
Then $9.99/month. Cancel anytime.

절약을 강조:

Start at Just $1.99
Get 3 months of Premium for only $1.99
Then $9.99/month

투명한 의사소통:

Your Free Trial
• Access all premium features
• No charge for 7 days
• $9.99/month after trial
• Cancel anytime, even during trial
function formatIntroOffer(product: any): string {
if (!product.introductoryPrice) {
return `${product.priceString} per ${product.subscriptionPeriod}`;
}
const intro = product.introductoryPrice;
const regular = product.priceString;
if (intro.price === 0) {
// Free trial
return `Try free for ${intro.periodString}, then ${regular}`;
} else if (intro.cycles === 1) {
// Pay up front
return `${intro.priceString} for ${intro.periodString}, then ${regular}`;
} else {
// Enterprise
return `${intro.priceString} for ${intro.cycles} ${intro.periodString}s, then ${regular}`;
}
}

마케팅 최적화

마케팅 최적화

trial 기간 전략

trial 기간 전략
  • 3-7일3-7일 : 빠른 결정을 위한 앱, 게임
  • 7-14일7-14일 : 대부분의 앱의 표준
  • 14-30일14-30일 : 복잡한 도구, 전문 앱
  • 30+일: 고가 B2B 또는 기업

가격 심리학

가격 심리학 섹션
  • $0.99-$1.99: 낮은 장벽, 테스트에 적합
  • 50% 할인: 강한 인식 가치
  • 첫 번째 달 무료: 일반적인, 익숙한 패턴

통신 타이밍

통신 타이밍 섹션
  • trial이 끝난 직전: 사용자에게 임박한 청구를 알려줌
  • 가치 강조: 사용 통계, 성취를 표시
  • 쉬운 취소: 투명한 절차로 신뢰를 구축

소개 Offers 테스트

소개 Offers 테스트 섹션

샌드박스 테스트를 사용하여 동작을 확인:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// In sandbox mode, accelerated subscription durations apply:
// - 3 days free trial = 3 minutes
// - 1 week free trial = 3 minutes
// - 1 month free trial = 5 minutes
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
// Purchase with intro offer
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Intro purchase transaction:', transaction.transactionId);
// Wait for accelerated renewal
setTimeout(async () => {
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const premium = purchases.find((purchase) => purchase.productIdentifier === 'premium_monthly');
console.log('After trial state:', premium?.subscriptionState);
}, 180000); // 3 minutes for weekly trial

중요한 주의사항

중요한 주의사항 섹션

적격성 규칙

적격성 규칙 섹션
  • 한 명의 사용자당 구독 그룹당(영구) 한 번의 소개 제안
  • 새로운 구독자에게만 적용
  • 취소 후 다시 사용할 수 없음
  • 구독 업그레이드/교체 업그레이드에 사용할 수 없음

StoreKit API

StoreKit API
  • introductoryPrice 소개 제안 세부 정보를 표시
  • eligibility 사용자가 자격을 확인하는 메소드
  • 구매 시 자동으로 적용
  • 특별한 구매 메소드 필요하지 않음

제한 사항

제한 사항
  • 한 구독당 활성화된 소개 제안은 한 번에 하나만 가능합니다.
  • 다른 할인 유형과 결합할 수 없습니다
  • 혜택 규칙 변경할 수 없습니다
  • Apple이 자격 확인을 제어합니다

Intro offer가 표시되지 않습니다:

  • App Store Connect에서 제안이 활성화되어 있는지 확인하십시오
  • 사용자가 이전에 intro offer를 사용하지 않았는지 확인하십시오
  • 사용자가 그룹에 가입한 적이 없는지 확인하십시오
  • 새로운 샌드박스 계정으로 테스트하십시오

자격 확인이 실패하는 경우:

  • 앱 스토어 동기화 기다리기 (2-3시간 소요)
  • 제품 ID가 정확한지 확인하세요
  • 구독 그룹 설정 확인하세요
  • 새로운 테스트 계정으로 샌드박스 테스트하세요

가격이 잘못 표시되는 경우:

  • 지역 가격 설정 확인하세요
  • 환율 변환 확인하세요
  • 이벤트 날짜가 최신인지 확인하세요
  • 제품 정보 다시 불러오세요

샌드박스 테스트 중 문제가 발생하는 경우:

  • 가속된 기간 사용하세요 (3분 = 1주)
  • 각 테스트마다 새로운 테스트 계정 생성하세요
  • trial이 완료될 때까지 자연스럽게 기다리세요
  • 샌드박스에서 최대 6회 재발급 확인

분석 및 최적화

분석 및 최적화

다음 지표를 추적하세요

다음 지표를 추적하세요
  • 인터뷰 오퍼 수락률
  • trial에서 결제로의 전환율
  • trial 중 취소
  • 첫 번째 청구 후 유지율
  • 수익 영향

A/B 테스트 아이디어

A/B 테스트 아이디어
  • 무료 시범 vs. 유료 소개
  • 시범 기간 변형
  • 할인율
  • 단일 결제 vs. 반복적 할인

최적화 전략

최적화 전략
// Track offer performance
analytics.track('intro_offer_displayed', {
product_id: product.identifier,
offer_type: product.introductoryPriceType,
offer_duration: product.introductoryPricePeriod
});
analytics.track('intro_offer_accepted', {
product_id: product.identifier
});
// Monitor conversion
NativePurchases.addListener('transactionUpdated', (transaction) => {
if (transaction.productIdentifier === product.identifier && transaction.isActive) {
analytics.track('trial_converted', {
transactionId: transaction.transactionId,
productId: transaction.productIdentifier,
});
}
});

다음 단계

설정
  • 샌드박스 테스트 소개 요약을 테스트하세요
  • 윈백 캠페인에 대한 프로모션 제안을 설정하세요
  • 구독 분석을 implement하세요
  • 대상 마케팅 캠페인을 생성하세요

추가 리소스

추가 리소스

자세한 내용은 공식 Apple 문서의 소개 제안에 대한 설명을 참조하세요 iOS 구독 소개 제안을 생성하세요.

Create iOS Subscription Introductory Offer

Create iOS Subscription Introductory Offer

Create iOS Subscription Introductory Offer iOS 구독 소개 Offer Create iOS Subscription Introductory Offer @capgo/자연스러운 구매 native 기능을 사용하여 @capgo/native-purchases의 원시 능력에 대해 Capgo 가격 Capgo 가격을 사용하여 결제 시스템 결제 시스템을 사용하여 @capgo/자연스러운 구매 @capgo/native-purchases를 사용하여 시작하기 Getting Started를 사용하여