{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} UDP 패키지 레퍼런스 | Unity Distribution Portal | 2.1.4
docs.unity3d.com
"{0}"의 검색 결과

    목차 표시/숨기기

    UDP 패키지 레퍼런스

    에디터 UI

    UDP 설정

    UDP 설정 인스펙터는 Unity 프로젝트와 UDP 클라이언트 간의 연결을 관리합니다. UDP 설정 창을 활성화하려면 UDP 패키지를 설치하고 Unity 프로젝트를 UDP 클라이언트에 연결해야 합니다.

    Unity 에디터에서 UDP 설정 창에 액세스하려면 Window > Unity Distribution Portal > Settings를 선택하십시오.

    UDP 설정 설명
    Pull UDP 서버에서 마지막으로 저장한 정보를 검색해서 에디터로 가져옵니다.
    다음 정보가 동기화됩니다.
    - Game Title
    - Settings
    - UDP Sandbox Test Accounts
    - IAP Catalog(UDP 패키지만 사용하는 경우)
    이 설정은 에디터의 저장되지 않은 변경 사항을 모두 오버라이드합니다.
    Push UDP 서버에 변경 사항을 저장(푸시)합니다.
    다음 정보가 동기화됩니다.
    - Game Title
    - Settings
    - UDP Sandbox Test Accounts
    - IAP Catalog(UDP 설정 창에서 IAP 카탈로그를 직접 정의한 경우)
    Game Title 게임 타이틀을 입력하고 Push를 눌러 저장합니다. 이 필드는 UDP 콘솔과 동기화됩니다.
    기본적으로 첫 번째 로드 시 Game Title은 Game ID로 채워집니다(Settings 참조).
    Unity Project ID Unity 프로젝트 ID이며, 현재 UDP 클라이언트 ID에 연결되어 있습니다. 이 필드는 편집할 수 없습니다.
    IAP Catalog UDP 패키지 구현의 경우 IAP Catalog 필드가 표시됩니다.
    Unity IAP 구현의 경우 Open Catalog 버튼이 표시됩니다.
    Unity 에디터 버전 2020.1부터 IAP 카탈로그를 별도 창에서 사용할 수 있습니다.
    Settings 추가 게임 설정이 포함되어 있습니다.
    UDP Sandbox Test Accounts UDP 샌드박스 테스트 계정에 대한 설정이 포함되어 있습니다.

    IAP 카탈로그

    IAP Catalog 섹션에서는 UDP용 IAP 상품을 정의할 수 있습니다. 새 아이템을 추가하려면 Add new IAP를 선택하십시오. 아래 이미지에는 UDP 패키지를 사용하는 경우의 IAP Catalog 섹션이 나와 있습니다.

    아래 표에는 IAP Catalog 섹션의 필드에 대한 설명이 나와 있습니다.

    필드 설명
    Product ID IAP 상품을 식별하는 데 사용되는 고유 ID입니다.
    Product ID는 다음의 요구 사항을 준수해야 합니다.
    - 문자 또는 숫자로 시작
    - 문자, 숫자, 점(.), 밑줄(_)만 포함
    - 대문자 사용 불가
    이름 IAP 상품의 이름입니다.
    타입 IAP 상품이 소비성인지 여부를 나타냅니다.
    Price IAP 상품의 가격(미국 달러)입니다. UDP 콘솔에서 추가 통화에 대한 가격을 설정할 수 있습니다.
    플레이어가 게임 내에서 상품을 구매할 수 있도록 가격을 지정해야 합니다.
    설명 IAP 상품의 간략한 설명입니다.
    이 필드는 단일 언어(영어)로 된 설명만 지원합니다. UDP 콘솔에서 언어를 추가할 수 있습니다.

    IAP 상품에 대해 저장되지 않은 변경 사항이 있는 경우 edited 레이블이 표시됩니다. 이 레이블은 IAP 상품을 동기화하면 사라집니다.

    참고: 별도의 Unity IAP 패키지를 사용하는 경우 Window > Unity Distribution Portal > IAP Catalog를 선택하고 별도의 IAP 카탈로그 창에서 IAP 상품을 정의하십시오.

    설정

    Settings 섹션에는 UDP 콘솔에서 동기화되는 추가 설정이 포함되어 있습니다. 편집할 수 있는 설정은 Callback URL뿐입니다. Push를 눌러 변경 사항을 저장하십시오.

    필드 기능 편집 가능
    Game ID 게임 식별자입니다. 지원 안 함
    Client ID UDP 클라이언트 식별자입니다. 지원 안 함
    Client Key UDP SDK를 초기화할 때 사용됩니다. 지원 안 함
    Client RSA Public Key 콜백 알림을 확인할 때 사용됩니다. 지원 안 함
    Client Secret 이 Unity 키는 게임이 UDP 서버로 보내는 요청에 서명할 때 사용됩니다. 지원 안 함
    Callback URL 콜백 알림을 수신하는 서버의 URL을 지정합니다. 지원

    UDP 샌드박스 테스트 계정

    UDP Sandbox Test Accounts 섹션에서는 UDP 샌드박스에 대한 로그인 자격 증명을 추가할 수 있습니다. 이 자격 증명은 UDP 샌드박스 환경에서 게임을 테스트하기 위해 필요합니다. 이러한 자격 증명은 UDP 콘솔에서도 설정할 수 있습니다.

    필드 기능 편집 가능
    Email 샌드박스 테스트 계정의 이메일 주소입니다. 로그인 이름으로 사용됩니다. 지원
    Password 테스트 계정의 비밀번호입니다. 지원

    UDP SDK

    UDP SDK 데이터 구조

    이 섹션에서는 UDP SDK의 클래스에 대해 설명합니다.

    UserInfo

    필드 이름 type 설명
    채널 문자열 UDP에서 생성되는 PartnerStore 이름
    UserId 문자열 PartnerStore에서 반환되는 사용자 ID(선택 사항)
    UserLoginToken 문자열 PartnerStore에서 반환되는 사용자 로그인 토큰(선택 사항)

    인벤토리

    Public 함수 반환 설명
    GetPurchaseInfo(string productId) PurchaseInfo 해당 productId의 PurchaseInfo를 가져옵니다.
    GetProductInfo(string productId) ProductInfo 해당 productId의 ProductInfo를 가져옵니다.
    HasPurchase(string productId) bool 해당 productId에 대해 소비되지 않은 구매가 있는지 확인합니다.
    HasProduct(string productId) bool 해당 productId에 대한 상품이 있는지 확인합니다.
    GetPurchaseDictionary() Dictionary<string, PurchaseInfo> productI로 구매를 가져옵니다(PurchaseInfo 사전).
    GetPurchaseList() List<PurchaseInfo> 리스트로 구매를 가져옵니다.
    GetProductDictionary() Dictionary<string, ProductInfo> productI로 상품을 가져옵니다(ProductInfo 사전).
    GetProductList() List<ProductInfo> 리스트로 상품을 가져옵니다.

    PurchaseInfo

    필드 이름 type 설명
    ItemType 문자열 고정 값 "inapp"입니다.
    ProductId 문자열 IAP 아이템의 상품 ID입니다.
    GameOrderId 문자열 UDP에서 제공하는 cpOrderId입니다.
    OrderQueryToken 문자열 UDP 서버를 쿼리하는 토큰으로, UDP에서 생성됩니다.
    DeveloperPayload 문자열 개발자가 제공하는 모든 문자열입니다. UDP는 이를 'Purchase' 메서드의 PartnerStore에 전달합니다.
    StorePurchaseJsonString 문자열 PartnerStore에서 제공하는 기타 추가 정보입니다.

    ProductInfo

    필드 이름 type 설명
    ItemType 문자열 고정 값 "inapp"입니다.
    ProductId 문자열 IAP 아이템의 상품 ID입니다.
    Consumable bool 소비성이거나 비소비성일 수 있습니다.
    Price 문자열 통화 기호를 포함하여 포맷한 아이템 가격입니다.
    PriceAmountMicros long IAP 아이템의 가격(마이크로 단위)입니다.
    Currency 문자열 IAP 아이템의 통화입니다.
    Title 문자열 IAP 아이템의 이름입니다.
    설명 문자열 IAP 아이템의 설명입니다.

    IPurchaseListener

    IPurchaseListener는 모든 구매 관련 이벤트의 결과를 알려주는 다음의 리스너를 제공합니다.

    이벤트 설명
    OnPurchase 성공한 구매입니다.
    OnPurchaseFailed 실패한 구매입니다.
    OnPurchaseRepeated 플레이어가 비소비성 상품을 여러 번 구매할 때 사용됩니다. 파트너 스토어가 QueryInventory를 지원하지 않는 경우 이 리스너를 구현할 수 있습니다.
    OnPurchaseConsume 성공한 소비입니다.
    OnPurchaseConsumeFailed 실패한 소비입니다.
    OnQueryInventory 성공한 쿼리입니다.
    OnQueryInventoryFailed 실패한 쿼리입니다.

    주문 쿼리 파라미터

    요청의 파라미터는 다음과 같습니다.

    속성 이름 포맷 필수/선택 사항 설명 예시
    orderQueryToken 문자열 필수 구매 완료 시 클라이언트 SDK에서 반환하는 주문 쿼리 토큰입니다. 이 토큰은 Base64로 인코딩됩니다(UDP SDK는 PurchaseInfo.OrderQueryToken을 반환함). eyJjaGFubmVsUHJvZHVjdElkIjoiaWFwLl9mM2YzZiIsImNoYW5uZWxUeXBlIjoiQVBUT0lERSIsImNsaWVudElkIjoiQUFJZ3g5VmNGaDJZQ1ZxbUs2VWNDUSIsImNwT3JkZXJJZCI6IjJhNGQ5MWY4NDgzZjQ3YjlhYzFhNGY5MDAwZDVhNTRhIiwicGFja2FnZU5hbWUiOiJjb20udW5pdHkudW5pdHl0ZXN0Z2FtZV9mZWZ3In0=
    orderId 문자열 필수 구매 완료 시 클라이언트 SDK에서 반환하는 orderId입니다(UDP SDK는 PurchaseInfo.GameOrderId를 반환함). 2a4d91f8483f47b9ac1a4f9000d5a54a
    clientId 문자열 필수 clientId는 UDP 콘솔의 게임 정보 - 통합 정보에서도 확인할 수 있습니다. AAIgx9VcFh2YCVqmK6UcCQ
    sign 문자열 필수 orderQueryToken과 클라이언트 암호, 즉 MD5.hash(orderQueryToken + clientSecret)로 서명을 생성합니다.

    클라이언트 암호는 UDP 콘솔의 게임 정보 - 통합 정보에서도 확인할 수 있습니다.

    클라이언트 암호: KKcCyAgej06MxjKX31WuFNeHSaTJAjLDlgoDWsPJDAM

    서명: 90a4e440897623c7cd0b2b80a97c267e

    응답의 파라미터는 다음과 같습니다.

    속성 이름 포맷 필수/선택 사항 설명 예시
    clientId 문자열 필수 게임이 Unity IAP에서 클라이언트를 생성한 후 Unity가 반환하는 clientId입니다. Q4AnJDW2-rxLAPujqrk1zQ
    cpOrderId 문자열 필수 게임에서 할당하는 주문 ID입니다. 게임에서 생성하지 않는 경우 Unity입니다. 66mea52wne
    channelType 문자열 필수 채널 타입입니다. APTOIDE, CLOUDMOOLAH
    status 문자열 필수 주문 상태를 나타냅니다. SUCCESS, FAILED, UNCONFIRMED, STORE_NOT_SUPPORT
    productId 문자열 필수 주문과 연결된 상품 ID입니다. product_1
    amount 문자열 필수 주문의 결제 금액입니다. 1
    quantity 정수 필수 상품 수량을 나타냅니다. 1
    currency ISO 4217 필수 상품 구매에 사용된 통화입니다. CNY
    country ISO 3166-2 필수 사용자가 위치한 국가 또는 지역입니다. CN
    paidTime ISO8601 yyyy-MM-ddThh:mm:ssXXX, UTC timezone 선택 사항 주문이 결제되는 시간을 지정합니다. 2017-03-08T06:43:20Z
    rev 문자열 필수 주문 변경입니다(업데이트 전용). 0
    extension Json 문자열 선택 사항 레퍼런스 정보를 추가하는 데 사용되는 개발자 페이로드입니다. {"abc" : "123"}

    다음은 게임 서버에서 UDP 서버로의 요청과 UDP 서버에서 게임 서버로의 응답을 보여주는 예시입니다.

    orderQueryToken의 콘텐츠:

    {"channelProductId":“iap._f3f3f”,“channelType”:“APTOIDE”,“clientId”:“AAIgx9VcFh2YCVqmK6UcCQ”,“cpOrderId”:“2a4d91f8483f47b9ac1a4f9000d5a54a”,“packageName”:“com.unity.unitytestgame_fefw”}
    

    orderQueryToken(Base64로 인코딩됨):

    eyJjaGFubmVsUHJvZHVjdElkIjoiaWFwLl9mM2YzZiIsImNoYW5uZWxUeXBlIjoiQVBUT0lERSIsImNsaWVudElkIjoiQUFJZ3g5VmNGaDJZQ1ZxbUs2VWNDUSIsImNwT3JkZXJJZCI6IjJhNGQ5MWY4NDgzZjQ3YjlhYzFhNGY5MDAwZDVhNTRhIiwicGFja2FnZU5hbWUiOiJjb20udW5pdHkudW5pdHl0ZXN0Z2FtZV9mZWZ3In0=
    

    주문 ID:

    2a4d91f8483f47b9ac1a4f9000d5a54a
    

    클라이언트 ID:

    AAIgx9VcFh2YCVqmK6UcCQ
    

    클라이언트 암호:

    KKcCyAgej06MxjKX31WuFNeHSaTJAjLDlgoDWsPJDAM
    

    서명:

    90a4e440897623c7cd0b2b80a97c267e
    

    요청:

    GET 
    
    https://distribute.dashboard.unity.com/udp/developer/api/order?orderQueryToken=eyJjaGFubmVsUHJvZHVjdElkIjoiaWFwLl9mM2YzZiIsImNoYW5uZWxUeXBlIjoiQVBUT0lERSIsImNsaWVudElkIjoiQUFJZ3g5VmNGaDJZQ1ZxbUs2VWNDUSIsImNwT3JkZXJJZCI6IjJhNGQ5MWY4NDgzZjQ3YjlhYzFhNGY5MDAwZDVhNTRhIiwicGFja2FnZU5hbWUiOiJjb20udW5pdHkudW5pdHl0ZXN0Z2FtZV9mZWZ3In0%3D&orderId=2a4d91f8483f47b9ac1a4f9000d5a54a&clientId=AAIgx9VcFh2YCVqmK6UcCQ&sign=90a4e440897623c7cd0b2b80a97c267e
    

    응답:

    {"ClientId":"AAIgx9VcFh2YCVqmK6UcCQ","CpOrderId":"2a4d91f8483f47b9ac1a4f9000d5a54a","ProductId":"iap._f3f3f","ChannelType":"APTOIDE","Currency":"APPC","Amount":"0.1","Country":"HK","Quantity":1,"Rev":"0","Status":"SUCCESS","PaidTime":"2019-06-12T03:59:42Z","Extension":"unity://unity3d.com?cpOrderId=2a4d91f8483f47b9ac1a4f9000d5a54a\u0026payload=payload2"}
    

    JSON 페이로드

    다음은 JSON 페이로드의 콘텐츠입니다.

    속성 이름 포맷 필수/선택 사항 설명 예시
    cpOrderId 문자열 필수 게임에서 할당하는 고유한 주문 식별자입니다. 0bckmoqhel5yd13f
    status 문자열 필수 주문 상태를 나타냅니다. SUCCESS
    amount 문자열 필수 주문에 드는 금액을 지정합니다. 1.01
    productId 문자열 필수 주문에 포함되는 상품의 고유 식별자를 지정합니다. com.mystudio.mygame.productid1
    paidTime ISO8601 yyyy-MM-ddThh:mm:ssZ, UTC timezone 선택 사항 주문이 결제된 시간입니다. 샌드박스 환경에서 실제 결제가 이루어지지 않은 경우에도 샌드박스 모드에서 반환됩니다. 2018-09-28T06:43:20Z
    country ISO 3166-2 필수 주문이 결제된 국가입니다. CHINA
    currency ISO 4217 또는 암호화폐 타입 필수 주문이 이루어진 국가의 통화입니다. CNY
    quantity 정수 필수 주문한 상품의 개수입니다. 1
    clientId 문자열 필수 게임이 Unity IAP에서 클라이언트를 생성한 후 반환되는 고유한 클라이언트 식별자입니다. Q_sX9CXfn-rTcWmpP9VEfw
    extension 문자열 선택 사항 개발자를 위한 레퍼런스 정보를 포함하는 데 사용되는 개발자 페이로드입니다. "{\"key\":\"value\"}"
    문서 개요
    맨 위로
    Copyright © 2023 Unity Technologies — 상표 및 이용약관
    • 법률정보
    • 개인정보처리방침
    • 쿠키
    • 내 개인정보 판매 금지
    • Your Privacy Choices (Cookie Settings)