이 가이드에서는 Unity 게임이 인앱 구매 스토어와 상호작용하는 데 필요한 디지털 기록과 관계를 설정하는 프로세스에 대해 설명합니다.
인앱 구매(IAP)는 애플리케이션 안에서 디지털 재화를 구매하기 위해 돈을 거래하는 프로세스입니다. 사용자는 플랫폼의 스토어에서 디지털 재화인 상품을 구매할 수 있습니다. 상품에는 일반적으로 문자열 데이터 타입인 식별자가 있습니다.
상품은 사용 가능 기간을 나타내는 다음과 같은 타입으로 구분됩니다.
Apple App Store 및 Google Play 스토어 같은 상용 온라인 서비스인 CloudMoolah MOO 스토어에서 사람들은 모바일 앱을 구매 및 판매하고 애플리케이션 안에서 아이템을 구매할 수 있습니다.
MOO 스토어는 아시아 시장에서 사용 가능합니다. 사용자는 은행 및 편의점 선불 카드 같은 다양한 결제 시스템을 사용하여 충전할 수 있는 디지털 지갑을 보유합니다.
CloudMoolah Developer Portal 웹사이트는 dev.cloudmoolah.com에 있습니다.
Unity 인앱 구매를 구현하는 게임을 만듭니다. (자세한 내용은 Unity 인앱 구매 초기화와 Unity 인앱 구매와 게임 통합을 참조하십시오.)
나중에 MOO 스토어에서 사용할 게임의 상품 식별자를 준비해 둡니다. (이 문서에서는 appKey
와 hashKey
에 대해 나중에 설명합니다.)
다음은 Unity 인앱 구매 초기화를 설정하고 시작하는 예입니다.
using UnityEngine.Purchasing;
public class MyStore : IStoreListener {
public void InitializeStore() {
var module = StandardPurchasingModule.Instance();
var builder = ConfigurationBuilder.Instance(module);
builder.Configure<IMoolahConfiguration>().appKey = "d93f4564c41d463ed3d3cd207594ee1b";
builder.Configure<IMoolahConfiguration>().hashKey = "cc";
builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.Production);
builder.AddProduct("100.gold.coins", ProductType.Consumable);
UnityPurchasing.Initialize(this, builder);
}
}
Unity 에디터에서 다음과 같이 Android 타겟을 CloudMoolah로 설정하여 구매를 시도할 때 스토어에 액세스되도록 합니다.
Unity 인앱 구매 패키지를 설치한 다음 Unity의 Window 메뉴에서 Unity In-App Purchasing 메뉴를 찾습니다. Window > Unity IAP > Android > Target CloudMoolah 로 이동하십시오. 그러면 앱이 Android 운영체제에서 실행되는 경우 CloudMoolah API를 사용하여 인앱 구매 요청을 이행합니다.
또는 Unity 에디터 API를 호출합니다. UnityPurchasingEditor.TargetAndroidStore(AndroidStore.CloudMoolah);
When the game successfully completes initialization of Unity In-App Purchasing, bind to the user’s Cloud Moolah digital wallet with the IMoolahExtension.FastRegister
and IMoolahExtension.Login
API. In the game’s implementation of IStoreListener.OnInitialized, use the IMoolahExtension.FastRegister
API to register a new digital wallet for the user, and the IMoolahExtension.Login
API to access a user’s existing wallet.
IMoolahExtension.FastRegister
에는 사용자 식별 문자열 cmPassword
가 필요합니다. 이 문자열은 Login
API를 사용하여 사용자의 디지털 지갑과 사용자가 소유한 IAP 상품의 컬렉션을 잠금 해제하는 데도 필요합니다. 문자열이 애플리케이션에서 사용자를 고유하게 식별하는지 확인하십시오. FastRegister의 cmUserName
결과를 수집하고 이후의 IMoolahExtension.Login
호출에 사용합니다. 이 cmUserName
을 백엔드 서버 또는 PlayerPrefs(사용 가능한 경우)에 저장합니다.
등록과 로그인에 대한 자세한 설명은 CloudMoolah 스토어의 스크립팅 문서를 참조하십시오.
게임에서 서명된 비개발 빌드 Android APK를 빌드합니다. 자세한 내용은 Android 개발 시작하기 문서를 참조하십시오.
팁: 키스토어 파일이 안전하게 보관되도록 특별히 주의를 기울이십시오. 퍼블리시된 앱을 업데이트하려면 항상 원본 키스토어가 필요합니다.
CloudMoolah Developer Portal 웹사이트(dev.cloudmoolah.com)에서 앱을 등록하십시오.
Add New App 을 선택합니다.
인터넷에 연결되는 게임을 정의하는 경우 게임 서버 정보를 입력합니다.
프로퍼티 | 기능 |
---|---|
DataFeedURL_Stage | 교환 URL - 테스트 환경 |
DataFeedURL_Prod | 교환 URL - 프로덕션 환경 |
Testing Account | 테스트 환경 계정 이름 |
Testing Password | 테스트 환경 암호 |
appKey와 hashKey를 복사하여 앱에 붙여넣습니다.
![](../uploads/Main/Configuring%20for%20CloudMoolah%20Moo%20Store_image_5.png)
CloudMoolah Developer Portal(dev.cloudmoolah.com)에서 Add New Item 을 선택하여 인앱 구매를 이 앱에 추가합니다.
CloudMoolah 게임 스토어는 테스트를 지원합니다. 구매하기 전에 앱에서 IMoolahConfiguration.SetMode
API(아래 참조)를 통해 개발자 모드를 활성화하십시오. 게임의 이 특별 빌드에서는 가상 구매를 수행하는 가상 오프라인 스토어를 사용할 수 있습니다. 그러면 실제 구매 비용이 발생되지 않으면서 앱의 구매 로직을 테스트할 수 있습니다.
게임의 MOO 스토어 테스트 모드를 변경하려면 ConfigurationBuilder
인스턴스를 생성하고 다음 줄을 추가한 다음 앱을 빌드하고 실행하여 앱의 인앱 구매 로직을 테스트합니다.
builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.AlwaysSucceed); // TESTING: auto-approves all transactions
오류 처리를 테스트하려면 CloudMoolahMode.AlwaysFailed
연산을 사용하여 모든 거래가 실패하도록 설정합니다. 예:
builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.AlwaysFailed); // TESTING: always fails all transactions
참고: 테스트를 완료하면 개발자 모드를 비활성화하는 SetMode
줄을 제거하고 CloudMoolahMode.Production
연산을 사용해야 합니다. 그러면 앱이 사용 중일 때 사용자가 실제 금액을 지불해야 합니다.