> ## 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.

# Démarrage rapide du contenu généré par les utilisateurs (UGC)

> Démarrage rapide de PlayFab UGC à l'aide d'appels de service à service pour se connecter aux objets de contenu brouillons, les publier et présenter le contenu créé par les joueurs en jeu.

# Démarrage rapide du contenu généré par les utilisateurs (UGC)

Ce guide a pour but d'expliquer comment démarrer rapidement avec UGC à l'aide d'appels directs de service à service. Nous vous montrons étape par étape comment vous connecter aux objets de contenu UGC brouillons, publier ces objets, puis les rechercher et les trouver.

## Obtenir un jeton d'entité

UGC est conçu pour fonctionner avec les entités PlayFab; la première étape consiste donc à obtenir un jeton d'entité à l'aide de [LoginWithCustomID](https://learn.microsoft.com/en-us/rest/api/playfab/client/authentication/login-with-custom-id). Cet exemple montre un appel de service.

```json theme={null}
{
  "CustomId": "exampleUser",
  "CreateAccount": true,
  "TitleId": "DC7B"
}
```

## Créer des URL de blob

Le système UGC utilise [Stockage Blob Azure](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) pour stocker tout le contenu (fichiers et images) associé au contenu UGC de votre titre. Pour téléverser le contenu, nous devons d'abord appeler l'API [CreateUploadUrls](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/create-upload-urls) en transmettant les noms et les tailles (en octets) des fichiers pour créer les nouveaux blobs. Par exemple, si vous souhaitez téléverser un fichier texte et une image PNG, vous transmettriez ce qui suit dans le corps de la requête :

```json theme={null}
{
  "Files": [
    {
      "FileName": "HelloWorld.txt",
      "FileSize": 12
    },
    {
      "FileName": "PlayFabLogo.png",
      "FileSize": 20725
    }
  ]
}
```

La réponse comprend un `Id` et une `Url` pour chaque élément de contenu :

```json theme={null}
{
    "code": 200,
    "status": "OK",
    "data": {
        "UploadUrls": [
            {
                "Id": "[Content ID]",
                "Url": "[Content Url + '?' + Token]",
                "FileName": "HelloWorld.txt"
            },
            {
                "Id": "[Image ID]",
                "Url": "[Image Url + '?' + Token]",
                "FileName": "PlayFabLogo.png"
            }
        ]
    }
}
```

## Créer un objet UGC brouillon

Vous créez des objets UGC « brouillons » en appelant l'API [CreateDraftItem](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/create-draft-item) avec le paramètre `"Type":"ugc"`. Les créateurs peuvent examiner les objets brouillons et y accéder avant de les publier. Pour créer un objet brouillon, vous avez besoin de :

* L'`EntityToken` de l'appel précédent dans l'en-tête X-EntityToken.
* L'`Entity.Id` de l'appel précédent dans le `CreatorEntityKey.Id` de l'objet.
* Le `TitleId` du titre dans le sourceId de l'objet.

Cet appel ressemble à ce qui suit.

```json theme={null}
{
  "Item": {
   "Type": "ugc",
    "Title": {
      "NEUTRAL": "Neutral Title Test",
      "en-GB": "en-gb Title",
      "en-US": "en-us Title"
    },
    "Description": {
      "NEUTRAL": "Neutral Description Test",
      "en-GB": "en-gb Description",
      "en-US": "en-us Description"
    },
    "startDate": "2018-10-18T20:01:26.1520582Z"
  }
}
```

Cet appel retourne l'objet brouillon créé avec un `Id`. Enregistrez l'`Id` pour pouvoir l'utiliser plus tard.

```json theme={null}
       "Item": {
            "SourceEntity": {
                "Id": "1184A",
                "Type": "title",
                "TypeString": "title"
            },
            "SourceEntityKey": {
                "Id": "1184A",
                "Type": "title",
                "TypeString": "title"
            },
            "Id": "44857e2b-c93b-4054-80be-7890028201ff",
            "Type": "ugc",
            "Title": {
              "NEUTRAL": "Neutral Title Test",
              "en-GB": "en-gb Title",
              "en-US": "en-us Title"
            },
          ...
        }
```

## Obtenir les ID d'objets brouillons d'un joueur

Pour obtenir les ID d'objets brouillons d'un joueur en particulier, vous pouvez utiliser l'API [GetEntityDraftItems](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/get-entity-draft-items). Les entités de titre peuvent appeler cette API avec l'ID du joueur dans le paramètre `Entity`, et l'API retourne une liste d'objets brouillons pour ce joueur. Seules les entités de titre peuvent transmettre un paramètre `Entity`. Les entités de joueur peuvent appeler l'API sans paramètre `Entity`, et l'API retourne alors une liste des objets brouillons créés par le joueur appelant.

```json theme={null}
{
  "Count": 2,
  "Entity": {
    "Id": "C88F55C6A734B1DC",
    "Type": "title_player_account",
    "TypeString": "title_player_account"
  }
}
```

## Publier un objet UGC

Une fois qu'un objet est à l'état brouillon, vous pouvez le faire passer à l'état publié à l'aide de [PublishDraftItem](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/publish-draft-item). Une fois qu'un objet UGC est publié, il peut être recherché et est accessible publiquement. Vous devez utiliser l'`Id` d'objet retourné dans la réponse de `CreateDraftItem`.

```json theme={null}
{
"Id": "44857e2b-c93b-4054-80be-7890028201ff"
}
```

## Obtenir l'état de publication d'un objet UGC

À l'aide de l'`Id` de l'objet, vous pouvez obtenir l'état de publication d'un objet de votre catalogue UGC au moyen de l'API [GetItemPublishStatus](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/get-item-publish-status).

```json theme={null}
{
"Id": "44857e2b-c93b-4054-80be-7890028201ff"
}
```

Les valeurs `Result` de publication possibles sont les suivantes :

* `Unknown`
* `Pending`
* `Succeeded`
* `Failed`
* `Canceled`

La republication d'un objet met à jour l'objet publié pour qu'il corresponde à l'objet brouillon actuel.

## Effectuer une recherche

Une fois l'appel de publication réussi, tous les joueurs peuvent accéder à l'objet dans le catalogue public. L'[API `SearchItems`](https://learn.microsoft.com/en-us/rest/api/playfab/economy/catalog/search-items) exécute une recherche dans le catalogue publié (y compris les objets UGC) à l'aide des paramètres fournis et retourne un ensemble de résultats paginés. Les champs `Filter`, `OrderBy` et `Select` utilisent OData comme norme de requête.

```json theme={null}
{
  "Search": "Test",
  "Count": 2
}
```

## Voir aussi

[Publier votre premier contenu généré par les utilisateurs](/fr-CA/services/playfab/economy-monetization/economy-v2/tutorials/publish-ugc)


## Related topics

- [Publier votre premier contenu généré par les utilisateurs](/fr-CA/services/playfab/economy-monetization/economy-v2/tutorials/publish-ugc.md)
- [XR-018 : Contenu généré par l'utilisateur](/fr-CA/publishing/certification/xr/xr-018.md)
- [Modérer votre contenu généré par les utilisateurs](/fr-CA/services/playfab/economy-monetization/economy-v2/ugc/moderation.md)
- [Qu'est-ce que PlayFab?](/fr-CA/services/playfab/get-started/what-is-playfab.md)
- [Démarrage rapide](/fr-CA/services/playfab/economy-monetization/economy-v2/quickstart.md)
