문서 메뉴

Purpl Docs

Purpl 서비스 연결

웹에서 구성한 판매 카탈로그와 서버 권한을 Swift 앱에 연결합니다.

먼저 준비할 것

  • Purpl에서 애플리케이션과 Apple 스토어를 등록합니다.
  • 상품과 권한을 연결합니다.
  • 카탈로그와 이를 사용하는 페이월을 생성합니다.

서버 모드 구성

서버 모드는 로컬 PurchaseConfiguration 없이 Purpl에서 상품과 권한 구성을 받습니다. SDK가 앱의 Bundle ID와 페이월 식별자로 활성 구성을 조회합니다.

Swift
import Purpl
import PurplUI

Purchases.configure(entitlementMode: .server)

PaywallView(paywallIdentifier: "standard") {
    PremiumMarketingContent()
}

로컬 페이월 폴백

원격 페이월을 사용하면서 네트워크 장애나 첫 조회 실패에 대비하려면 앱의 로컬 페이월 구성을 fallbackConfiguration에 전달합니다. 폴백을 사용할 때는 서버 모드에서도 Purchases.configure에 로컬 PurchaseConfiguration을 함께 전달해야 합니다.

SwiftUI
import Purpl
import PurplUI

Purchases.configure(
    purchaseConfiguration,
    entitlementMode: .server
)

PaywallView(
    paywallIdentifier: "standard",
    fallbackConfiguration: PaywallConfiguration(
        catalog: standardCatalog,
        defaultProductIdentifier: yearlyProduct.productIdentifier
    )
) {
    PremiumMarketingContent()
}

원격 구성 우선순위

SDK는 캐시된 원격 구성을 가장 먼저 표시하고 백그라운드에서 갱신합니다. 캐시가 없고 로컬 폴백이 있으면 폴백을 즉시 표시한 뒤 원격 구성을 조회하며, 조회에 성공하면 현재 화면을 원격 구성으로 교체합니다. 캐시와 로컬 폴백이 모두 없을 때만 첫 서버 응답을 기다리고, 그 조회까지 실패하면 오류를 반환합니다.