次の方法で共有


パッケージなしの非消費型アイテムを使用する方法

非消耗品は、クライアントにダウンロードされているパッケージを使用しても使用しなくても構成できます。 パッケージのない非消耗品は、構成および使用が簡単になります。 通常、これらの種類の非消耗品は、既に基本ゲームに含まれているコンテンツへのゲートアクセスに通常使用されます。 多くのゲームは、ライセンスを受けていない場合でも、マルチプレイヤーのアセットを使用するためやプレビューを行うために、基本のゲーム パッケージにアドオンのコンテンツを含めることを選択します。

注意

パッケージなしの非消費型アイテムはディスクではサポートされていません。

ダウンロード可能なパッケージがない場合でも、これらの製品の種類は、「ゲームの製品共有モデル」に従ってライセンスを提供します。

XStoreQueryEntitledProductsAsync を使用して、単に所有権を確認するだけでは十分ではありません。そのため、購入者にはアクセス権が付与されるだけです。 代わりに、XStoreAcquireLicenseForDurablesAsync を使用して非消耗品アイテムへのアクセスを適切に確認します:

void AcquireLicenseForDurable(const char* storeId)
{
    auto async = new XAsyncBlock{};
    async->queue = m_asyncQueue;
    async->callback = [](XAsyncBlock* async)
    {
        XStoreLicenseHandle result = {};

        HRESULT hr = XStoreAcquireLicenseForDurablesResult(
            async,
            &result);

        if (SUCCEEDED(hr))
        {
            bool isValid = XStoreIsLicenseValid(result);
            printf("Is valid license: %s\n", isValid? "yes" : "no");
        }
        else
        {
            printf("Error calling XStoreAcquireLicenseForDurablesResult: 0x%x\n", hr);
        }

        delete async;
    };

    HRESULT hr = XStoreAcquireLicenseForDurablesAsync(
        m_xStoreContext,
        storeId,
        async);

    if (FAILED(hr))
    {
        delete async;
        return;
    }
}

関連項目

コマースの概要

ダウンロード コンテンツ (DLC) の管理とライセンス

XStore API リファレンス