Version: 2018.1
Samsung Galaxy 앱
Unity IAP Xiaomi 통합 가이드

CloudMoolah MOO Store

CloudMoolah MOO Store는 모바일 앱을 사고 팔 수 있는 상용 온라인 서비스입니다. It also provides In-App Purchasing (IAP) services for apps distributed through the store. This guide describes the end-to-end process for a developer adding IAP services to a game that they publish to the CloudMoolah MOO Store.

MOO Store는 필리핀, 말레이시아, 베트남, 싱가포르, 태국 등 아시아 시장에서 사용 가능합니다. 사용자는 모바일 결제, 은행 및 편의점 선불 카드 같은 다양한 결제 시스템을 사용하여 충전할 수 있는 디지털 지갑을 보유하게 됩니다.

CloudMoolah MOO 스토어는 Unity와 호환되지만 Unity 제품은 아닙니다. 자세한 내용은 dev.cloudmoolah.com의 CloudMoolah 개발자 포털 웹사이트를 참조하십시오.

게임을 스토어에 퍼블리시하고 IAP를 게임에 추가하는 일반적인 워크플로는 다음과 같습니다.

  • CloudMoolah 스토어에 게임을 앱으로 등록합니다.
  • 게임에 추가하여 구매할 수 있게 만들 아이템을 스토어에 추가합니다.
  • CloudMoolah 스토어 초기화 코드를 게임에 추가합니다.
  • 통합 여부를 테스트합니다.
  • 게임을 CloudMoolah 스토어에 퍼블리시합니다.

시작

Android 앱으로 게임을 빌드해야 합니다. Android 앱으로 빌드하는 방법은 Android Development 시작을 참조하십시오.

CloudMoolah 스토어에 게임을 이용 가능한 앱으로 등록하는 방법은 다음과 같습니다.

  1. CloudMoolah Developer Portal에 로그인합니다.

  2. App Listing 을 클릭합니다.

CloudMoolah 스토어 대시보드 메뉴
CloudMoolah 스토어 대시보드 메뉴
  1. App Listing 페이지에서 CREATE NEW APP 버튼을 클릭합니다.
CloudMoolah create new app 버튼
CloudMoolah create new app 버튼
  1. App Detail 페이지에서 다음 정보를 입력합니다.

    1. App Name 에는 CloudMoolah 스토어에서 게임을 식별할 이름을 입력합니다.

    2. BundelID 에는 Unity 에디터에서 게임에 사용한 패키지 이름을 입력합니다.

    3. Currency Name 에는 플레이어들이 인앱 구매를 완료하기 위해 사용할 통화 이름을 입력합니다.

    4. 앱의 초기화 코드에 사용할 HashKey를 만들려면 HMAC/HashKey 필드 옆에 있는 GENERATE 를 클릭합니다.

    5. Notification HMAC 필드에는 앱 ID를 입력합니다. 이 값은 초기화 때 사용됩니다.

    6. Save 를 클릭합니다.

CloudMoolah 새 앱 만들기 결과
CloudMoolah 새 앱 만들기 결과

사용자가 구매할 수 있는 아이템 추가

인앱 구매는 애플리케이션 내에서 디지털 재화를 구매하기 위해 금액을 거래하는 과정입니다. 사용자는 플랫폼의 스토어에서 디지털 재화인 제품을 구매할 수 있습니다. 제품에는 일반적으로 문자열 데이터 타입인 식별자가 있습니다.

CloudMoolah 개발자 포털에서 구매 가능한 아이템을 추가하는 방법은 다음과 같습니다.

  1. App Listing 페이지에서 View IAP 를 클릭합니다.
CloudMoolah view IAP 버튼
CloudMoolah view IAP 버튼
  1. App Listing 페이지에서 CREATE NEW IAP 버튼을 클릭합니다.
CloudMoolah create new IAP 버튼
CloudMoolah create new IAP 버튼
  1. IAP Detail 페이지에서 다음 정보를 입력합니다.

    1. ProductID 필드에서 게임 내 아이템 구매를 활성화하기 위해 코드에 사용할 문자열 식별자를 입력합니다.

    2. Amount 필드에는 게임을 등록할 때 지정한 기본 통화로 아이템 금액을 입력합니다.

    3. Product Name 필드에는 제품 이름을 입력합니다.

    4. Product Description 에는 제품에 대한 설명을 입력합니다.

CloudMoolah IAP 앱 만들기 결과
CloudMoolah IAP 앱 만들기 결과
  1. SAVE 를 클릭합니다.

이제 아이템이 IAP Listing 페이지에 나타나고, 게임에서 아이템을 참조하여 사용자에게 제공할 수 있습니다.

게임에 IAP 추가

게임에 IAP를 설정하는 방법은 다음과 같습니다.

  1. MOO Store 개발자 포털에서 앱의 제품에 대한 appKey와 hashKey를 가져와 향후 사용을 위해 저장합니다.

CloudMoolah MOO Store가 타겟인 앱에서는 Unity IAP를 초기화하기 전에 스크립팅 API를 통해 IMoolahConfiguration을 사용하여 CloudMoolah appKey 및 hashKey를 설정해야 합니다. 앱의 CloudMoolah 개발자 대시보드에서 이 변수 값들을 수집하십시오.

다음 예제에서는 Unity IAP 초기화를 설정하여 시작합니다.

using UnityEngine.Purchasing;
public class MyStore : IStoreListener
{
    public void InitializeStore()
    {
        var module = StandardPurchasingModule.Instance();
        var builder = ConfigurationBuilder.Instance(module);

        // Configure CloudMoolah
        builder.Configure<IMoolahConfiguration>().appKey = "d93f4564c41d463ed3d3cd207594ee1b";
        builder.Configure<IMoolahConfiguration>().hashKey = "cc";
        // For server-to-server (also called "online" games) transaction
        // logging, set IMoolahConfiguration.notificationURL.
        builder.Configure<IMoolahConfiguration>().notificationURL = "https://gameserver.example.com/callback";
        builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.Production);
        // Add purchasable products. The product must be defined in the store.
        // Unity IAP provides the *ProductType* enumeration to specify the durability 
        // of a purchasable product. CloudMoolah limits the product type to Consumable. 
        builder.AddProduct("100.gold.coins", ProductType.Consumable);

        // Start asynchronous IAP initialization.
        UnityPurchasing.Initialize(this, builder);
    }
}
  1. Unity 에디터에서 Window > Unity IAP > Android > Target CloudMoolah 를 선택하여 Unity IAP Android 타겟을 CloudMoolah로 설정합니다. 이렇게 하면 CloudMoolah가 게임이 IAP 요청을 이행할 때 사용하는 Android 스토어로 설정됩니다.
에디터에서 CloudMoolah 활성화
에디터에서 CloudMoolah 활성화

초기화 코드에 타겟 스토어를 설정하려면 UnityPurchasingEditor.TargetAndroidStore 함수를 호출하십시오.

UnityPurchasingEditor.TargetAndroidStore(AndroidStore.CloudMoolah);

  1. 게임에서 서명된 비개발 빌드 Android APK를 빌드해야 합니다. 자세한 내용은 Android Development 시작하기 문서를 참조하십시오.

참고: 키스토어 파일이 안전하게 보관되도록 특별히 주의를 기울이십시오. 퍼블리시된 앱을 업데이트하려면 항상 원본 키스토어가 필요합니다.

IAP 설정에 대한 자세한 내용은 Unity IAP 설정, Unity 인앱 구매 초기화, 게임에 Unity 인앱 구매 통합을 참조하십시오.

IAP 테스트

CloudMoolah MOO Store는 게임 테스트를 지원합니다. CloudMoolah MOO Store에서 게임을 테스트하려면 IMoolahConfiguration.SetMode 함수를 호출하여 구매 전에 앱에 개발자 모드를 활성화해야 합니다.

게임 빌드에 테스트 모드를 설정하면 거래가 더미 오프라인 스토어에 대해 처리됩니다. 이렇게 하면 제품과 관련된 실제 비용을 들이지 않고도 앱의 구매 로직을 테스트할 수 있습니다.

게임의 MOO Store 테스트 모드를 변경하려면 ConfigurationBuilder 인스턴스를 생성하고 다음 줄을 추가한 다음 앱을 빌드하고 실행하여 앱의 IAP 로직을 테스트합니다.

// TESTING: auto-approves all transactions
builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.AlwaysSucceed);

오류 처리를 테스트하려면 테스트 모드가 모든 거래에 실패하도록 설정해야 합니다. 이렇게 하려면 CloudMoolahMode.AlwaysFailed 연산을 사용하십시오.

builder.Configure<IMoolahConfiguration>().SetMode(CloudMoolahMode.AlwaysFailed); // TESTING: always fails all transactions

참고: 테스트를 마치면 개발자 모드를 설정하는 SetMode 구문을 제거하거나, CloudMoolahMode.Production 열거형 값을 사용하기 위한 파라미터를 변경하십시오. 이렇게 하면 앱이 사용 중일 때 사용자가 실제 금액을 지불할 수 있습니다.

구현 예

Unity IAP의 기본 통합에는 필수 CloudMoolah 스크립팅 API와 일부 선택적인 CloudMoolah 스트립팅 API를 사용하는 방법을 모두 보여주는 구현 스크립트 예제가 포함되어 있습니다.

CloudMoolah 관련 예제를 보려면 다음 작업을 수행하십시오.

  1. 개발자 컴퓨터에서 IAP를 활성화한 앱의 폴더를 엽니다.

  2. Assets/Plugins/UnityPurchasing/script 폴더를 엽니다.

  3. 스크립트 폴더에서 IAPDemo.cs를 엽니다.

예제에서는 Awake 함수를 구현합니다. 이 함수는 IMoolahConfiguration API를 호출하여 appKeyhashKey를 설정합니다. 이렇게 하면 앱이 CloudMoolah 스토어 서버에 연결됩니다.

또한 IAPDemo.cs 파일은 옵션 API 호출을 사용하여 테스트 모드를 설정하고 거래 복원을 포함하도록 기능을 확장하는 방법을 보여줍니다. 옵션 API에 대한 자세한 내용은 dev.cloudmoolah.com의 CloudMoolah 개발자 포털 웹사이트에 로그인하여 확인하십시오.


2018–03–07 일부 편집 리뷰를 거쳐 페이지 수정됨

Samsung Galaxy 앱
Unity IAP Xiaomi 통합 가이드