본 문서는 Unity 게임에서 인앱 구매를 활성화하기 위한 now.gg Payments 빠른 통합(Quick Integration) 흐름을 설명합니다.

Tip

  • 빠른 통합 방식은 최소한의 코드 변경으로 간편하고 신속하게 적용할 수 있습니다. 보다 세밀한 제어가 필요한 경우 Standard Integration 흐름을 참고하십시오.
  • Unity IAP 버전을 선택하십시오:
    • Unity IAP v4.x: Unity IAP v4 섹션(ConfigurationBuilder / StandardPurchasingModule)을 따르십시오.
    • Unity IAP v5.x: Unity IAP v5 섹션(StoreController)을 따르십시오. Unity IAP v5.x는 nowSDK v4.4 이상에서 지원됩니다.

다음은 Standard 통합과 Quick 통합의 비교입니다:

항목 Quick Integration Standard Integration
통합 방식 IAP 구현이 Unity IAP v4.x.x 또는 v5.x.x 기반인 경우 Quick Integration을 사용하십시오. 기타 모든 결제 통합 요구 사항의 경우 Standard Integration을 사용하십시오.
소모성 및 구독 상품 Quick Integration은 일회성 소모성 상품만 지원합니다. Standard Integration은 소모성 상품과 구독 상품을 모두 지원합니다.

모듈 다운로드 및 가져오기

now.gg Payments Unity 모듈은 Unity 패키지 파일 NowGGUnitySdk.unitypackage 형태로 제공됩니다.

Unity 프로젝트에 모듈을 추가하는 방법:

  1. Unity용 now.gg Payments 모듈의 최신 버전이 포함된 패키지를 다운로드합니다.
  2. 패키지를 Unity 프로젝트에 가져옵니다:
    • Assets > Import Package > Custom Package를 클릭합니다.
    • 시스템에서 NowGGUnitySdk.unitypackage를 선택합니다.
    • 기본적으로 모든 모듈이 선택되어 있습니다. 필요하지 않은 모듈의 선택을 해제한 후 아래와 같이 Import를 클릭합니다:
  3. 필수 종속성 추가
    • Assets > External Dependency Manager > Android Resolver > Resolve를 클릭합니다.
      이 작업은 Unity External Dependency Manager를 사용하여 필요한 모든 종속성을 다운로드하고 프로젝트의 Assets/Plugins/Android 디렉토리에 추가합니다.

now.gg Payments 구현

now.gg Payments 모듈을 가져오고 종속성을 추가한 후, 이 섹션을 따라 앱/게임에 now.gg Payments를 구현할 수 있습니다.

Unity IAP v4.x

now.gg Purchasing 모듈을 앱에 구성하려면 다음 단계를 수행하십시오:

  • Unity IAP에서 사용 중인 Standard Purchasing Module StandardPurchasingModule.Instance()을 now.gg Purchasing Module NowGG.Sdk.NowGGPurchasingModule.Instance()으로 교체합니다.
  • 결제 초기화 시 앱의 PaymentId를 now.gg Payments 모듈에 전달합니다.
  • nowStudio에 원하는 인앱 상품이 추가되어 있으며, Unity Purchasing 모듈과 함께 올바르게 구성되어 있는지 확인합니다.
    • 이 인앱 상품은 사용자가 구매할 수 있도록 표시됩니다.
    • 현재 now.gg IAP는 소모성 상품만 지원합니다.

다음 샘플은 이러한 구성을 보여줍니다:

public void Start()
{
    /* Current code
    var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
    */

    // Replace with
    var builder = ConfigurationBuilder.Instance(NowGG.Sdk.NowGGPurchasingModule.Instance());

    NowGG.Sdk.NowGGPaymentsSdkManager.Instance.PaymentId = "<your_Payment_ID_here>";
}

Important Information

  • now.gg 플랫폼에서 now.gg Payments 서비스가 초기화되었는지 확인하기 위한 초기 검사가 수행됩니다.
    • now.gg IAP를 사용할 수 없는 경우, now.gg Payments가 지원되지 않는 환경에서는 기본적으로 Unity의 StandardPurchasingModule 인스턴스가 반환됩니다.
  • PaymentId는 앱의 고유 식별자이며 nowStudio의 App Details에서 확인할 수 있습니다. 자세히 보기.

Reference


Unity IAP v5.x

Unity IAP v5에서 now.gg Payments를 구성하려면 다음 단계를 수행하십시오:

  1. NowGGStoreController.Init()을 사용하여 now.gg Store Controller를 초기화하고 앱의 PaymentId를 전달합니다.
  2. 스토어 콜백을 구독합니다(스토어 호출 전에 등록하는 것을 권장).
  3. await m_StoreController.Connect()를 사용하여 스토어에 연결합니다.
  4. m_StoreController.FetchProducts(...)를 사용하여 필요한 상품을 가져옵니다.
    • 상품을 가져온 후 m_StoreController.FetchPurchases()를 사용하여 기존 구매 내역을 조회합니다.

다음 샘플은 이러한 구성을 보여줍니다:

 StoreController m_StoreController; 
 
  async void InitializeIAP() 
  { 

      /* Current code
      m_StoreController = UnityIAPServices.StoreController(); 
      */
     
      // Replace with
      m_StoreController = NowGGStoreController.Init(<"your_PaymentID_here">);

      m_StoreController.OnPurchasePending += OnPurchasePending; 

      await m_StoreController.Connect(); 

      m_StoreController.OnProductsFetched += OnProductsFetched;
      m_StoreController.OnPurchasesFetched += OnPurchasesFetched; 

      var initialProductsToFetch = new List<ProductDefinition> 
      { 
         new(goldProductId, ProductType.Consumable), 
         new(diamondProductId, ProductType.Consumable) 
      }; 
    
      m_StoreController.FetchProducts(initialProductsToFetch); 
  }

Important Information

  • Unity IAP의 자세한 구현 방법은 여기에서 확인할 수 있습니다.
  • PaymentId는 앱의 고유 식별자이며 nowStudio의 App Details에서 확인할 수 있습니다. 자세히 보기.
  • nowStudio에 구성된 상품 ID가 Unity 구현에서 사용하는 상품 ID와 일치하는지 확인하십시오.
    • 현재 now.gg IAP는 소모성 상품만 지원합니다.

Reference

×
클립보드에 복사된 텍스트
copyLinkText
질문이 있으신가요? 다음 주소로 문의하세요. dev-support@now.gg