docs.unity3d.com
    目次を表示する/隠す

    UDP パッケージリファレンス

    エディター UI

    UDP Settings

    UDP Settings インスペクターは、Unity プロジェクトと UDP クライアント間の接続を管理します。UDP Settings ウィンドウを使用可能にするには、UDP パッケージをインストール し、Unity プロジェクトを UDP クライアントにリンク する必要があります。

    Unity エディターで UDP Settings ウィンドウにアクセスするには Window > Unity Distribution Portal > Settings の順に選択します。

    UDP Settings Description (説明)
    Pull 最後に UDP サーバーに保存した情報をエディターに取得 (引き出) します。
    以下の情報が同期されます。
    - Game Title
    - Settings
    - UDP Sandbox Test Accounts
    - IAP Catalog (UDP パッケージのみを使用している場合)
    これにより、エディターで保存されていない変更は上書きされます。
    Push 変更を UDP サーバーに保存 (プッシュ) します。
    以下の情報は同期されます。
    - Game Title
    - Settings
    - UDP Sandbox Test Accounts
    - IAP Catalog (UDP Settings ウィンドウで直接 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 Catalog

    IAP Catalog セクションでは、UDP 用の IAP プロダクトを定義できます。新しいアイテムを加えるには、Add new IAP を選択します。 下の画像は、UDP パッケージを使用している場合の IAP Catalog セクションを示しています。

    下の表は IAP Catalog セクションの説明です。

    フィールド Description (説明)
    Product ID IAP プロダクトを識別するために使用される一意の ID。
    Product ID は、以下の要件に従う必要があります。
    - アルファベット文字または数字で始める必要があります
    - アルファベット文字、数字、ドット (.)、アンダースコア (_) のみ使用可能です
    - 大文字は使えません
    Name IAP プロダクトの名前。
    Type IAP が消費型であるかどうか。
    Price 米ドル表示の IAP プロダクトの価格。UDP コンソールで 他の通貨の価格を設定できます。
    ゲーム内でプレイヤーがプロダクトを購入できるようにするには、価格を指定する必要があります。
    Description IAP プロダクトの簡単な説明。
    このフィールドは、1 言語 (英語) でのみ説明できます。UDP コンソールで その他の言語を追加 できます。

    IAP プロダクトに保存していない変更がある場合は、edited (編集) のラベルが表示されます。これは、IAP プロダクトを同期すると消えます。

    ノート: 別の Unity IAP パッケージを使用する場合は、Window > Unity Distribution Portal > IAP Catalog を選択し、別の IAP Catalog ウィンドウで IAP プロダクトを定義します。

    Settings

    Settings セクションには、UDP コンソールから同期される追加の設定が含まれています。 Callback URL は唯一の編集可能な設定です。Push を押して変更を保存します。

    フィールド 機能 編集
    Game ID ゲームの識別子 不可
    Client ID UDP クライアント識別子 不可
    Client Key UDP SDK の初期化に使用されます 不可
    Client RSA Public Key コールバック通知の確認に使用されます 不可
    Client Secret ゲームが UDP サーバーに送信するリクエストに署名する Unity キー 不可
    Callback URL サーバーがコールバック通知を受け取るための URL を指定します 可

    UDP Sandbox Test Accounts

    UDP Sandbox Test Accounts セクションでは、サンドボックス環境のログイン認証情報を加えます。これは、UDP サンドボックス環境でゲームをテストするのに必要です。UDP コンソールでもこの認証情報を設定できます。

    フィールド 機能 編集
    Email サンドボックステストのメールアドレス。UDP サンドボックス環境のみのログイン名として使用されます。 可
    Password テストアカウントのパスワード。 可

    UDP SDK

    UDP SDK データ構造体

    このセクションは、UDP SDK のクラスを説明します。

    UserInfo

    フィールド名 型 説明
    Channel String PartnerStore 名、UDP によって生成
    UserId String 任意、PartnerStore から返されるユーザー ID
    UserLoginToken String 任意、PartnerStore から返されるユーザーログイントークン

    Inventory

    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> 購入を productId - PurchaseInfo ディクショナリで取得
    GetPurchaseList() List<PurchaseInfo> 購入をリストで取得
    GetProductDictionary() Dictionary<string, ProductInfo> プロダクトを productId - PurchaseInfo ディクショナリで取得
    GetProductList() List<ProductInfo> プロダクトをリストで取得

    PurchaseInfo

    フィールド名 型 説明
    ItemType String 修正値 “inapp”
    ProductId String IAP アイテムのプロダクト ID
    GameOrderId String UDP が提供する cpOrderId
    OrderQueryToken String UDP サーバーにクエリするトークン、UDP により生成
    DeveloperPayload String 開発者によって提供された任意の文字列。UDP は、これを ‘Purchase’ メソッドで PartnerStore に渡します。
    StorePurchaseJsonString String PartnerStore によって提供される他の追加情報

    ProductInfo

    フィールド名 型 説明
    ItemType String 修正値 “inapp”
    ProductId String IAP アイテムのプロダクト ID
    Consumable Bool 消費型かどうか
    Price String 形式に沿って整えられたアイテムの価格。通貨記号を含みます。
    PriceAmountMicros Long マイクロ単位の IAP アイテムの価格
    Currency String IAP アイテム価格の通貨
    Title String IAP アイテム名
    Description (説明) String IAP アイテムの説明

    IPurchaseListener

    IPurchaseListener は以下のリスナーを提供し、すべての購入関連イベントの結果を通知します。

    イベント Description (説明)
    OnPurchase 購入は成功しました。
    OnPurchaseFailed 購入は失敗しました。
    OnPurchaseRepeated プレイヤーが非消費型プロダクトを複数回購入するときに使用されます。パートナーストアが QueryInventory をサポートしていない場合に、このリスナーを実装できます。
    OnPurchaseConsume 消費が成功しました。
    OnPurchaseConsumeFailed 消費が失敗しました。
    OnQueryInventory クエリが成功しました。
    OnQueryInventoryFailed クエリが失敗しました。

    注文クエリパラメーター

    以下はリクエストに使用するパラメーターの表です。

    属性名 型 必須/任意 説明 例
    orderQueryToken String 必須 購入の完了時にクライアントSDK から返される注文クエリトークン。トークンはBase64 でエンコードされています (UDP SDK は PurchaseInfo.OrderQueryToken を返します)。 eyJjaGFubmVsUHJvZHVjdElkIjoiaWFwLl9mM2YzZiIsImNoYW5uZWxUeXBlIjoiQVBUT0lERSIsImNsaWVudElkIjoiQUFJZ3g5VmNGaDJZQ1ZxbUs2VWNDUSIsImNwT3JkZXJJZCI6IjJhNGQ5MWY4NDgzZjQ3YjlhYzFhNGY5MDAwZDVhNTRhIiwicGFja2FnZU5hbWUiOiJjb20udW5pdHkudW5pdHl0ZXN0Z2FtZV9mZWZ3In0=
    orderId String 必須 購入の完了時にクライアント SDK から返される orderId。(UDP SDK はPurchaseInfo.GameOrderId を返します) 2a4d91f8483f47b9ac1a4f9000d5a54a
    clientId String 必須 clientId は、ゲーム情報 (UDP コンソールの統合情報) にあります。 AAIgx9VcFh2YCVqmK6UcCQ
    sign String 必須 orderQueryToken とクライアントシークレット MD5.hash (orderQueryToken + clientSecret) を使用して署名を生成します。 クライアントシークレットは、Game Info (UDP コンソールのインテグレーション情報) にもあります。 Client Secret: KKcCyAgej06MxjKX31WuFNeHSaTJAjLDlgoDWsPJDAM Sign: 90a4e440897623c7cd0b2b80a97c267e

    レスポンス内のパラメーター

    属性名 型 必須 /任意 Description Example
    clientId String 必須 Unity IAP でゲームのクライアントが作成された後に Unity が返す clientId。 Q4AnJDW2-rxLAPujqrk1zQ
    cpOrderId String 必須 ゲームによって割り当てられた注文 ID、またはゲームで生成されない場合はUnity が生成。 66mea52wne
    channelType String 必須 チャンネルタイプ APTOIDE, CLOUDMOOLAH
    status String 必須 注文のステータスを示します。 SUCCESS, FAILED, UNCONFIRMED, STORE_NOT_SUPPORT
    productId String 必須 注文に紐づけられたプロダクト ID product_1
    amount String 必須 注文の支払価格 1
    quantity Integer 必須 プロダクトの数量を示します。 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 String 必須 注文のリビジョン (更新のみ) 0
    extension Json String 任意 リファレンス情報を加えるために使用される開発者ペイロード {"abc" : "123"}

    以下は、ゲームサーバーから UDP サーバーへのリクエストと、UDP サーバーからゲームサーバーへのレスポンスの例です。

    orderQueryToken のコンテンツ

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

    orderQueryToken (Base64 でエンコード)

    eyJjaGFubmVsUHJvZHVjdElkIjoiaWFwLl9mM2YzZiIsImNoYW5uZWxUeXBlIjoiQVBUT0lERSIsImNsaWVudElkIjoiQUFJZ3g5VmNGaDJZQ1ZxbUs2VWNDUSIsImNwT3JkZXJJZCI6IjJhNGQ5MWY4NDgzZjQ3YjlhYzFhNGY5MDAwZDVhNTRhIiwicGFja2FnZU5hbWUiOiJjb20udW5pdHkudW5pdHl0ZXN0Z2FtZV9mZWZ3In0=
    

    Order ID

    2a4d91f8483f47b9ac1a4f9000d5a54a
    

    Client ID

    AAIgx9VcFh2YCVqmK6UcCQ
    

    Client Secret

    KKcCyAgej06MxjKX31WuFNeHSaTJAjLDlgoDWsPJDAM
    

    Sign

    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 String 必須 ゲームによって割り当てられた一意の注文識別子。 0bckmoqhel5yd13f
    status String 必須 注文のステータスを示します。 SUCCESS
    amount String 必須 注文の金額を指定します。 1.01
    productId String 必須 注文に含まれるプロダクトの一意の識別子を指定します。 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 Integer 必須 注文されたプロダクトの数。 1
    clientId String 必須 ゲームが Unity IAP でクライアントを生成した後に返される一意のクライアント識別子 Q_sX9CXfn-rTcWmpP9VEfw
    extension String 任意 開発者向けのリファレンス情報を加えるために使用する開発者ペイロード。 "{"key":"value"}"
    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)