> ## 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 l'utilisateur (UGC)

> Démarrage rapide de PlayFab UGC utilisant des appels de service à service pour se connecter aux articles de contenu brouillons, les publier et exposer le contenu créé par les joueurs dans le jeu.

# Démarrage rapide du contenu généré par l'utilisateur (UGC)

L'objectif de ce guide est 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 articles de contenu UGC brouillons, publier ces articles, 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 l'ensemble du contenu (fichiers et images) associé au contenu UGC de votre titre. Pour charger 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 de fichiers (en octets) pour créer les nouveaux blobs. Par exemple, si vous souhaitez charger un fichier texte et une image PNG, vous transmettez 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 inclut 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 article UGC brouillon

Vous créez des articles 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 articles brouillons et y accéder avant de les publier. Pour créer un article brouillon, vous avez besoin des éléments suivants :

* 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'article.
* Le `TitleId` du titre dans le sourceId de l'article.

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 renvoie l'article brouillon créé avec un `Id`. Enregistrez l'`Id` afin de pouvoir l'utiliser ultérieurement.

```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'articles brouillons d'un joueur

Pour obtenir les ID d'articles brouillons d'un joueur 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 renvoie la liste des articles brouillons de 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 renvoie la liste des articles 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 article UGC

Une fois qu'un article 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 article UGC est publié, il est disponible publiquement et peut être recherché. Vous devez utiliser l'`Id` d'article renvoyé dans la réponse de `CreateDraftItem`.

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

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

À l'aide de l'`Id` de l'article, vous pouvez obtenir l'état de publication d'un article de votre catalogue UGC à l'aide 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 article met à jour l'article publié pour qu'il corresponde à l'article brouillon actuel.

## Effectuer une recherche

Une fois l'appel de publication réussi, tous les joueurs peuvent accéder à l'article 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 articles UGC) à l'aide des paramètres fournis et renvoie 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 l'utilisateur](/fr/services/playfab/economy-monetization/economy-v2/tutorials/publish-ugc)


## Related topics

- [Publier votre premier contenu généré par l'utilisateur](/fr/services/playfab/economy-monetization/economy-v2/tutorials/publish-ugc.md)
- [XR-018 : Contenu généré par l'utilisateur](/fr/publishing/certification/xr/xr-018.md)
- [XR018 Contenu généré par l'utilisateur](/fr/publishing/certification/fma/xr-018.md)
- [Modérer votre contenu généré par l'utilisateur](/fr/services/playfab/economy-monetization/economy-v2/ugc/moderation.md)
- [XBOX Requirements pour les jeux XBOX](/fr/publishing/certification/xbox-requirements.md)
