이 페이지에서는 Unity 게임이 인앱 구매 스토어와 상호작용하는 데 필요한 디지털 기록과 관계를 설정하는 프로세스에 대해 설명합니다. Unity IAP 구매 API에 대해 주로 다루고 있습니다.
인앱 구매(IAP)는 디지털 재화 구매를 위한 자금 거래 프로세스입니다. 플랫폼의 스토어에서는 디지털 재화를 의미하는 상품을 구매할 수 있습니다. 이런 상품에는 일반적으로 문자열 데이터타입인 식별자가 있습니다. 상품에는 내구성을 나타내는 타입이 있습니다. 가장 일반적인 타입은 구독 상품, _ 소모품(재구입 가능) 및 _ 비소모품(한 번만 구입 가능)입니다.
Unity IAP를 구현하는 게임을 제작합니다. Unity IAP 초기화 및 Unity IAP와 게임 통합을 참조하십시오.
나중에 iTunes Connect에서 사용하기 위해 게임의 상품 식별자를 보관합니다.
Apple Developer Center에서 해당 Identifiers 섹션으로 이동합니다.
새 App ID를 추가하여 Apple에서 필수 애플리케이션 엔티티를 만듭니다.
참고: 명시적 App ID를 사용해야 합니다. 와일드카드 앱 ID(com.example.*)를 인앱 구매를 사용하는 애플리케이션에 사용할 수 없습니다.
참고: App ID를 Developer Center에서 만든 후 iTunes Connect에서 사용할 수 있습니다.
iTunes Connect로 이동하고 앱을 만들어 게임과 스토어 관계를 수립합니다.
새로 만든 App ID를 앱의 Bundle ID로 사용합니다.
Features 를 선택하고 더하기(“+”) 버튼을 사용하여 새 인앱 구매를 추가합니다.
Product Type을 선택합니다.
Product Identifier를 지정하고 요청에 따라 나머지 필드를 작성합니다.
참고: 여기서 “Product ID”는 게임 소스 코드에서 사용되는 것과 동일한 식별자로, AddProduct() 또는 AddProducts() 를 통해 Unity IAP ConfigurationBuilder 인스턴스에 추가됩니다.
참고: 타겟이 여러 Apple 기기 그룹인 경우(예를 들어 iOS와 Mac에 모두 설치되어 출고되는 경우) Apple에서는 각 개별 기기 그룹마다 고유 상품 식별자를 요구합니다. Unity IAP의 Purchasing.IDs 클래스를 사용하여 Product ID와 스토어별 식별자 간 일대다 매핑을 정의하고 IAP를 초기화할 때 이 매핑을 전달해야 합니다.
결과:
테스트 기기의 iTunes 계정에서 사용할 Sandbox Tester 를 iTunes Connect를 사용하여 만듭니다. 이렇게 하려면 iTunes Connect > Users and Roles 로 이동하여 더하기(“+”) 버튼을 선택합니다. 사용과 관련된 여러 중요한 참고 사항이 수록된 Apple의 Sandbox Tester 문서를 검토해야 합니다. 실제 이메일 주소를 사용하여 테스터를 생성해야 합니다.
참고: 세부 정보는 iOS 및 Mac 앱 스토어 가이드를 참조하십시오.
팁: (*) 이메일 주소를 더 간편하게 관리하려면 서브어드레싱(emailaccount+subaddress@example.com)이 가능한 Gmail, iCloud 및 Outlook.com 같은 이메일 서비스를 사용해야 합니다. 그러면 여러 하위 주소로 전송된 이메일을 이메일 계정 하나에서 수신할 수 있습니다.
사용자 생성 마법사를 끝까지 진행합니다.
Unity를 사용하여 게임의 Xcode 프로젝트를 빌드합니다.
참고: Unity의 Bundle Identifier(Build Settings > iOS > Settings … > Other Settings > Bundle Identifier)가 iTunes Connect에서 사용되는 것과 일치하는지 확인해야 합니다.
그런 다음 게임의 Xcode 프로젝트에서 팀(Project Navigator > your game Target > General > Identity > Team)이 해당 Apple 개발자 계정으로 설정되어 있는지 확인합니다.
타겟 iOS 기기를 사용하여 기존 Apple ID 계정에서 로그아웃합니다. 나중에 앱에서 프롬프트 메시지를 표시하는 경우에만 Sandbox Tester로 로그인합니다. 이후 구매는 Production Store 대신 Apple Sandbox로 라우팅됩니다.
iOS 기기에서 게임을 빌드하고 실행합니다. 모든 항목이 올바르게 설정된 경우 UnityPurchasing.Initialize()
가 성공합니다. Unity 구매 초기화를 참조하십시오.
기기에서 게임 내 구매를 통해 IAP를 테스트합니다. 구매가 Sandbox 환경에서 수행 중임을 설명하는 수정된 구매 다이얼로그가 표시됩니다. 구매를 위해 암호가 요청되는 경우 Sandbox User Tester 암호를 사용합니다.
경고: 표시가 없으면 상품 대금이 실제로 계정에 청구됩니다.
데스크톱 Mac 빌드를 빌드하는 경우 Unity의 Mac Player Settings에서 Mac App Store Validation 을 선택합니다.
앱을 빌드한 후 번들 식별자 및 버전 문자열을 사용해 앱의 info.plist
파일을 업데이트합니다. .app 파일을 오른쪽 클릭하고 Show Package Contents 를 클릭한 후 info.plist
파일을 찾고 CFBundleIdentifier
문자열을 애플리케이션의 번들 식별자로 업데이트합니다.
애플리케이션에 서명하고 애플리케이션을 패키지로 만들고 설치합니다. “your.app” 및 “your.pkg”를 적절히 채워서 다음 명령을 OSX 터미널에서 실행합니다.
팁: 번들에서 서명하려면 우선 Contents.meta 파일(your.app/Contents/Plugins/unitypurchasing.bundle/Contents.meta
)이 있는 경우 제거해야 합니다.
codesign -f --deep -s "3rd Party Mac Developer Application: " your.app/Contents/Plugins/unitypurchasing.bundle
codesign -f --deep -s "3rd Party Mac Developer Application: " your.app
productbuild --component your.app /Applications --sign "3rd Party Mac Developer Installer: " your.pkg
패키지를 올바르게 설치하려면 새로 만든 패키지를 실행하고 설치하기 전에 패키지를 푼 .app 파일을 삭제합니다.
Applications 폴더에서 앱을 실행합니다. 처음 실행할 때는 iTunes 계정 세부 정보를 입력하라는 메시지가 표시됩니다. 그러면 샌드박스 환경에서 이 계정을 사용해 구매를 테스트할 수 있습니다.
Apple App Store 테스트 및 서명에 대한 자세한 내용은 iOS 및 Mac 확장 기능과 Apple Mac 앱 스토어에 애플리케이션 제공 페이지를 참조하십시오.