> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Implémenter des versions d'évaluation pour votre jeu

> Options de version d'évaluation disponibles dans le Microsoft Store pour les titres GDK : configuration de versions d'évaluation gratuites limitées à l'utilisation dans Partner Center et implémentation des vérifications d'évaluation dans le jeu.

Vous pouvez configurer plusieurs types de versions d'évaluation gratuites pour votre jeu :

* *Versions d'évaluation gratuites limitées dans le temps* : ces versions d'évaluation expirent après l'écoulement d'une certaine durée *calendaire* (par exemple, sept jours après que l'utilisateur a téléchargé la version d'évaluation, quelle que soit la durée pendant laquelle il l'utilise).
* *Versions d'évaluation gratuites limitées à l'utilisation* : permettent de configurer une durée de *temps de jeu* pendant laquelle l'utilisateur peut exécuter le jeu, puis l'obligent à acheter le jeu pour continuer à l'utiliser.
* *Versions d'évaluation organisées* : ces versions d'évaluation n'ont aucune limite d'expiration ni de temps de jeu, mais le jeu peut limiter ce qui est jouable. Elles sont similaires à une démo, mais le jeu complet doit être téléchargé.

<Note>
  Les versions d'évaluation basées sur le temps et sur l'utilisation sont destinées à être proposées une seule fois par titre et par utilisateur, et ne doivent pas être combinées avec d'autres offres d'évaluation. Les droits d'évaluation expirés ou épuisés restent sur le compte de l'utilisateur et empêchent l'acquisition de toute autre offre d'évaluation pour le même jeu. Le type de version d'évaluation ne peut être ni modifié ni réinitialisé une fois qu'une version d'évaluation a été acquise par un client.
</Note>

<Note>
  Certaines versions d'évaluation sont gratuites mais limitées aux utilisateurs qui possèdent des abonnements spécifiques.
</Note>

Cet article s'applique également à ces versions d'évaluation.

<Note>
  Les jeux exécutés dans le cadre d'offres **Free Play Days** ne s'exécutent pas en tant que véritables versions d'évaluation, mais peuvent uniquement être lancés au moyen de licences complètes temporaires.
</Note>

La configuration des versions d'évaluation et les structures associées ne s'appliquent pas.

## Configuration d'une version d'évaluation limitée à l'utilisation dans Partner Center

<Note>
  Vous ne pouvez accéder à cette fonctionnalité que si vous disposez des autorisations appropriées et si votre jeu utilise une [licence restrictive](/fr/publishing/xstore-commerce/xstore-open-restrictive-licensing).
</Note>

Pour plus de détails, contactez votre gestionnaire de compte Microsoft.

Vous pouvez configurer des versions d'évaluation gratuites limitées à l'utilisation dans Partner Center sans modifier le code du jeu. Toutefois, vous devez ajouter du code dans les scénarios suivants :

* Restreindre l'accès à la version d'évaluation au seul utilisateur qui l'a acquise dans le Store.
* Enregistrer l'état du jeu entre les sessions de jeu et reporter la progression de l'utilisateur de la version d'évaluation vers le jeu complet après son achat.

1. Dans la page **Submission overview**, accédez à la page **Pricing and availability**.
2. Sous **Free trial**, ouvrez le menu déroulant, puis sélectionnez **Usage-limited**.
3. Dans le deuxième menu déroulant qui s'affiche, sélectionnez la durée maximale pendant laquelle les utilisateurs peuvent utiliser votre application.
4. Sélectionnez **Save**.

Une fois votre jeu publié sur le Microsoft Store, les informations relatives à la version d'évaluation s'affichent sur la page produit du jeu.

## Restreindre l'accès aux seuls utilisateurs ayant acquis la version d'évaluation

Dans certains cas, vous souhaiterez peut-être que seuls les propriétaires de la version d'évaluation puissent exécuter le jeu. Cette limitation est importante pour une version d'évaluation limitée à l'utilisation, car vous ne voulez pas qu'une autre personne épuise le temps d'évaluation d'un autre compte. Vous pouvez implémenter cette fonctionnalité en vérifiant la propriété [XStoreGameLicense](/fr/reference/system/xstore/xstore_members)`.isTrialOwnedByThisUser`. Si elle est `false`, empêchez le joueur actuel de continuer et informez l'utilisateur qu'il doit obtenir sa propre licence d'évaluation.

L'utilisateur propriétaire de la licence d'évaluation active est indiqué dans un message lors du lancement du jeu en version d'évaluation :

<img src="https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=d7ce2cbb02c139f99d5889ed54544e4d" alt="TCUI de version d'évaluation limitée à l'utilisation : « <Gamertag>, il vous reste moins de x heures »" data-og-width="1920" width="1920" data-og-height="1080" height="1080" data-path="images/xstore/usagelimitedtrial.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?w=280&fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=d11e00e9c546a270c8ab17a9981600d5 280w, https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?w=560&fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=75d1c3815a7b5eec324c2564ef839d98 560w, https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?w=840&fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=e958634047e60a3904ae7421171837d3 840w, https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?w=1100&fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=78eee31f32eee6cca22f80c9e518215f 1100w, https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?w=1650&fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=670602c28fd5ebae7c8a75806cf0e899 1650w, https://mintcdn.com/microsoft-4404708b/iADzli99B7EWodAv/images/xstore/usagelimitedtrial.png?w=2500&fit=max&auto=format&n=iADzli99B7EWodAv&q=85&s=94c27565ad1aaf55b4b661a4f260e418 2500w" />

L'exemple de code suivant montre comment vérifier `isTrialOwnedByThisUser`.

```cpp theme={null}
void CALLBACK GameLicenseTrialCheck(XAsyncBlock* asyncBlock)
{
    XStoreGameLicense result{};

    HRESULT hr = XStoreQueryGameLicenseResult(
        asyncBlock,
        &result);

    // Is this a trial?
    if (result.isActive && result.isTrial)
    {
        // Is this trial owned by this user?  
        if (!result.isTrialOwnedByThisUser)
        {
            // The user can't use another user's trial time. Show an error message.
        }
    }
}

void QueryGameLicense(XStoreContextHandle storeContextHandle, XTaskQueueHandle taskQueueHandle)
{
    auto async = new XAsyncBlock{};
     asyncBlock->queue = m_asyncQueue;
    asyncBlock->callback = GameLicenseTrialCheck;

    HRESULT hr = XStoreQueryGameLicenseAsync(
        storeContextHandle,
        async);
}
```

## Enregistrer l'état du jeu pour l'utilisateur initial de la version d'évaluation

Les jeux compatibles avec les services XBOX qui proposent des campagnes solo ou d'autres modes de jeu suivant la progression entre les sessions utilisent le stockage connecté pour enregistrer l'état du jeu. Toutefois, avec une version d'évaluation limitée, un utilisateur PC peut créer plusieurs comptes Microsoft et continuer à jouer au-delà de la limite de temps tout en conservant sa progression (en utilisant le même compte XBOX). Pour plus d'informations sur ce scénario, consultez [Gestion des scénarios de comptes Store non concordants sur PC](/fr/publishing/xstore-commerce/xstore-mismatched-accounts).

Cette faille peut être évitée en enregistrant la valeur [XStoreGameLicense](/fr/reference/system/xstore/xstore_members)`.trialUniqueId` lors de l'enregistrement de la progression du jeu. Plus tard, lorsque l'utilisateur recommence à jouer à la version d'évaluation, vous pouvez vérifier si la valeur `trialUniqueId` correspond à celle de la première exécution.

Ce code suppose que le jeu enregistre `trialUniqueId` dans la sauvegarde du jeu et dispose d'une fonction `GetSavedTrialUniqueId` qui renvoie cette valeur.

```cpp theme={null}
void CALLBACK GameLicenseTrialCheck(XAsyncBlock* asyncBlock)
{
    XStoreGameLicense result{};

    HRESULT hr = XStoreQueryGameLicenseResult(
        asyncBlock,
        &result);

    // Is this a trial?
    if (result.isActive && result.isTrial)
    {
        // Is this trial owned by this user?
        if (!result.isTrialOwnedByThisUser)
        {
            // The user can't use another user's trial time. Show an error message.
        }
        else
        {
            // Read the trialUniqueId that was saved with the game on the first run.
            char trialUniqueId = GetSavedTrialUniqueId();
            if (trialUniqueId != result.trialUniqueId)
            {
                // Because the IDs don't match, start the game from the beginning.
            }
        }
    }
}
```

## Tester les versions d'évaluation en développement

Pour tester votre jeu avec une licence d'évaluation, le jeu doit d'abord être configuré avec une licence d'évaluation dans Partner Center.

### XBOX

Pour les builds locales, une licence réelle est requise. Pour les builds non empaquetées (loose) et empaquetées, il est nécessaire d'appliquer une substitution de content ID et d'EKBID dans MicrosoftGameConfig. Pour plus d'informations, consultez [Activation des tests de licence](/fr/publishing/xstore-commerce/xstore-licensing-setup).

Notez que l'EKBID réel d'une build d'évaluation doit être utilisé ici. Pour obtenir l'EKBID, vous devez télécharger la build du jeu depuis le Microsoft Store avec un compte disposant d'une licence d'évaluation.

<img src="https://mintcdn.com/microsoft-4404708b/hprF_XHEe0cnRr8N/images/xstore/pdptrial.webp?fit=max&auto=format&n=hprF_XHEe0cnRr8N&q=85&s=c3119c04473575c1054c89a8dc840976" alt="PDP d'évaluation avec le bouton « Install Free Trial » mis en évidence" width="1920" height="1080" data-path="images/xstore/pdptrial.webp" />

Une fois la configuration terminée, lors d'un lancement avec un compte de test ayant obtenu la licence d'évaluation depuis le Store, `XStoreGameLicense` présente des attributs d'évaluation exacts. Le lancement de la build doit afficher l'interface de notification de la version d'évaluation.

### PC

La procédure est la même que pour activer des builds avec une licence complète : utilisez l'identité d'application correcte dans MicrosoftGame.config et vérifiez que le content ID approprié figure à l'emplacement du registre ; la build respecte alors la licence du compte connecté à l'application Microsoft Store, qu'il s'agisse d'une version d'évaluation ou non.

## Documentation de référence de l'API

* [XStore (contenu de l'API)](/fr/reference/system/xstore/xstore_members)
  * Structures
    * [XStoreGameLicense](/fr/reference/system/xstore/xstore_members)

## Voir aussi

[Vue d'ensemble du commerce](/fr/publishing/xstore-commerce/xstore-commerce-overview)

[Activation du développement et des tests XStore](/fr/publishing/xstore-commerce/xstore-product-testing-setup)

[Activation des tests de licence](/fr/publishing/xstore-commerce/xstore-licensing-setup)

[Référence de l'API XStore](/fr/reference/system/xstore/xstore_members)


## Related topics

- [XR-003 Qualité du titre pour la soumission](/fr/publishing/certification/xr/xr-003.md)
- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr-CA/publishing/certification/console-cert-tested-requirements.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
- [Intégration des partenaires XBOX : accès et publication](/fr/home/onboarding.md)
- [Exigences XBOX pour les jeux XBOX](/fr-CA/publishing/certification/xbox-requirements.md)
