Unity 매뉴얼: 스크립팅 API 사용법
이 문서에서는 Unity에서의 스크립팅 API 사용에 대한 기본적인 이해와 활용 방법을 설명합니다. 특히, 결제 시스템과 관련된 내용에 중점을 두고 각 플랫폼에 따른 수익 영수증 검증 방법을 안내합니다.
개요
Unity는 다양한 플랫폼에서 게임을 개발할 수 있게 해주는 강력한 엔진입니다. 특히 인앱 결제와 같은 상용성을 제공하기 위한 기능들을 지원합니다. 이 문서에서는 iOS 및 Android에서의 영수증 검증 방법에 대해 살펴보겠습니다.
iOS에서의 영수증 검증
iOS에서는 영수증 검증 과정에서 다음과 같은 사항이 있습니다:
- receipt 파라미터: null로 설정하면 해당 거래는 확인되지 않은 수익으로 표기됩니다.
- 플러그인 사용 시:
- 네이티브 iOS 플러그인: iOS 6 이하에서는
SKPaymentTransaction
의transactionReceipt
를 전송하고, iOS 7 이상에서는 앱 번들 내에 있는 앱 영수증의 base64로 인코딩된 값을 전송합니다. - Unibill 플러그인:
PurchasableItem
의 “receipt” 프로퍼티에 영수증을 전달합니다. - Prime31 플러그인:
StoreKitTransaction
의 “base64EncodedTransactionReceipt” 프로퍼티를 활용합니다. - signature 파라미터: 사용되지 않으므로 null을 전달합니다.
Android에서의 영수증 검증
Android에서는 다음과 같은 방식으로 영수증을 검증합니다:
- Google 공용 API 키: 이 키는 Analytics 대시보드 프로젝트 설정에서 입력해야 합니다.
Google Play Developer Console
에서서비스 및 API
메뉴를 통해 찾을 수 있습니다. - receipt 파라미터: null로 설정하면 해당 거래는 확인되지 않은 수익으로 표시됩니다.
- 플러그인 사용 시:
- 네이티브 Android 플러그인: 응답 인텐트의
INAPP_PURCHASE_DATA
키에 매핑된 JSON 포맷 문자열을 전달합니다. - Unibill 플러그인:
PurchasableItem
의 “receipt” 프로퍼티를 JSON으로 파싱하여 활용합니다. - Prime31 플러그인:
GooglePurchase
의 “originalJson” 프로퍼티를 전달합니다. - signature 파라미터: null로 설정하면 거래는 확인되지 않은 수익으로 표시됩니다.
- 서명 정보:
- 네이티브 Android 플러그인은
INAPP_DATA_SIGNATURE
키에 맵핑된 서명을 전달합니다. - Unibill 플러그인에서는 서명 프로퍼티 값을 전달합니다.
- Prime31 플러그인에서는
GooglePurchase
의 “signature” 프로퍼티를 사용합니다.
예제 코드
여기서는 Unity에서 iOS 및 Android 양쪽에 대해 각기 다른 플랫폼 검증을 위한 코드 예제를 제공하겠습니다.
iOS 영수증 검증 예제
// iOS 영수증 검증 예제
public void ValidateIOSReceipt(string receiptData)
{
// 영수증 검증 로직
Debug.Log("iOS Receipt: " + receiptData);
}
Android 영수증 검증 예제
// Android 영수증 검증 예제
public void ValidateAndroidReceipt(string orderData)
{
// 영수증 검증 로직
Debug.Log("Android Order Data: " + orderData);
}
결론
Unity에서는 다양한 플랫폼에서의 영수증 검증을 위한 기능을 제공합니다. 각 플랫폼에 맞는 플러그인 및 API 호출 방법을 활용하여 인앱 구매를 안전하게 처리할 수 있습니다. 영수증 검증은 결제의 신뢰성을 높이고, 사용자에게 안정적인 서비스를 제공하기 위한 중요한 과정입니다.
이 문서에서 제공하는 정보를 바탕으로 손쉽게 Unity의 결제 시스템을 활용해 보세요.