Schnellstart: User-Generated Content (UGC)

In diesem Leitfaden wird erläutert, wie Sie schnell mit UGC beginnen, indem Sie direkte Service-to-Service-Aufrufe verwenden. Wir zeigen Ihnen Schritt für Schritt, wie Sie eine Verbindung mit den entwurfsbezogenen UGC-Inhaltselementen herstellen, diese Elemente veröffentlichen und sie dann suchen und finden.

Abrufen eines Entitätstokens

UGC ist für die Arbeit mit PlayFab-Entitäten konzipiert. Daher besteht der erste Schritt darin, ein Entitätstoken mithilfe von LoginWithCustomIDabzurufen. Als Dienstaufruf sieht das in etwa wie folgt aus:

{
  "CustomId": "exampleUser",
  "CreateAccount": true,
  "TitleId": "DC7B"
}

Erstellen eines UGC-Entwurfselements

Sie erstellen UGC-Elemente zum Entwurf, indem Sie die CreateDraftItem API mit dem "Type":"ugc" Parameter aufrufen. Entwurfselemente sind so konzipiert, dass sie von ihren Erstellern überprüft und darauf zugegriffen werden, bevor sie in einen veröffentlichten Zustand verschoben werden. Zum Erstellen eines Entwurfselements benötigen Sie Folgendes:

  • Die EntityToken aus dem vorherigen Aufruf im X-EntityToken-Header.
  • Die Entity.Id aus dem vorherigen Aufruf im -Element CreatorEntityKey.Id.
  • Der TitleId für den Titel in der sourceId des Elements.

Dieser Aufruf sieht in etwa wie folgt aus.

{
  "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"
  }
}

Dadurch wird das erstellte Entwurfselement mit einem Idzurückgegeben. Wir möchten dies Id für später nachverfolgen.

       "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"
            },
          ...
        }

Abrufen von Entwurfselement-IDs für einen Spieler

Um Entwurfselement-IDs für einen bestimmten Player abzurufen, kann die GetEntityDraftItems API verwendet werden. Titelentitäten können diese API mit der Entity Spieler-ID im Parameter aufrufen, und die API gibt eine Liste von Entwurfselementen für diesen bestimmten Spieler zurück. Nur Titelentitäten können einen Entity Parameter übergeben. Spielerentitäten können die API ohne Parameter Entity aufrufen, und die API gibt eine Liste von Entwurfselementen zurück, die vom aufrufenden Spieler erstellt wurden.

{
  "Count": 2,
  "Entity": {
    "Id": "C88F55C6A734B1DC",
    "Type": "title_player_account",
    "TypeString": "title_player_account"
  }
}

Veröffentlichen eines UGC-Elements

Sobald sich ein Element im Entwurf befindet, können Sie es mithilfe von in einen veröffentlichten Zustand pushen PublishDraftItem. Sobald ein UGC-Element veröffentlicht wurde, ist es in der Regel durchsuchbar und öffentlich verfügbar. Sie müssen das von der CreateDraftItem Antwort zurückgegebene Element Id verwenden.

{
"Id": "44857e2b-c93b-4054-80be-7890028201ff"
}

Abrufen der veröffentlichten status eines UGC-Elements

Mithilfe des Elements Idkönnen Sie die status einer Veröffentlichung für ein Element in Ihrem UGC-Katalog mithilfe der GetItemPublishStatus API abrufen.

{
"Id": "44857e2b-c93b-4054-80be-7890028201ff"
}

Die möglichen Veröffentlichungswerte Result sind wie folgt:

  • Unknown
  • Pending
  • Succeeded
  • Failed
  • Canceled

Durch die erneute Veröffentlichung eines Elements wird das veröffentlichte Element aktualisiert, damit es mit dem aktuellen Entwurfselement übereinstimmt.

Sobald der Veröffentlichungsaufruf erfolgreich war, kann für alle Spieler über den öffentlichen Katalog auf das Element zugegriffen werden. Die SearchItems API führt eine Suche nach einem veröffentlichten Katalog (einschließlich UGC-Elementen) unter Verwendung der bereitgestellten Parameter aus und gibt einen Satz paginierter Ergebnisse zurück. Die FilterFelder , OrderByund Select verwenden OData als Abfragestandard.

{
  "Search": "Test",
  "Count": 2
}