Freigeben über


Hinzufügen von Bewertungen zu Ihren Inhalten

Wichtig

Economy v2 ist jetzt allgemein verfügbar. Unterstützung und Feedback erhalten Sie im PlayFab-Forum.

In diesem Leitfaden werden die API-Aufrufe erläutert, mit denen Sie Ihrem Spiel ein Bewertungs- und Überprüfungssystem hinzufügen können.

Überprüfen eines Elements

Eine Bewertung oder Überprüfung kann an ein Element angefügt werden, indem die ReviewItem API von einem Client aufgerufen wird. Damit ein Element überprüft werden kann, muss es im öffentlichen Katalog für alle Spieler sichtbar sein. Bewertungen und Rezensionen werden an den Spieler angefügt, der die API aufruft, und nur eine einzelne Rezension pro Spieler kann einem Element zugeordnet werden. Der Ersteller eines Elements kann keine Überprüfung für sein eigenes Element übermitteln. Die Überprüfung wird bei jedem Aufruf ReviewItem aktualisiert. Für den Aufruf sind die folgenden Daten erforderlich :

  • Id: Die eindeutige ID des zu überprüfenden Elements.
  • Rating: Eine numerische Bewertung der Form einer 1 , die skaliert werden soll 5 .

Darüber hinaus können auch optionale Parameter hinzugefügt werden:

  • Title: Der Titel für die Überprüfung.
  • ReviewText: Ein Freitextfeld für Rezensionen.
  • IsInstalled: Ein Flag, das angibt, ob der Prüfer über das Element verfügt.
  • ItemVersion: Die Versionsnummer für das zu überprüfende Element.
{
  "Review": {
    "ItemVersion": "2.4.1",
    "Rating": 5,
    "Title": "Best Game Ever",
    "ReviewText": "I play this game every day. It's my favorite game yet.",
    "IsInstalled": true
  },
  "Id": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9"
}

Ein Submitted Zeitstempel wird automatisch aufgefüllt und aktualisiert, wenn eine Überprüfung übermittelt wird.

Abrufen der Bewertung eines Spielers für ein Element

Sie können die Rezension eines Spielers für ein Element erhalten, indem Sie die GetEntityItemReview API von einem Client aufrufen. Ein Element Id oder AlternateId muss bereitgestellt werden. Eine bestimmte ReviewId , der Überprüfung zugeordnete wird zurückgegeben.

{
    "code": 200,
    "status": "OK",
    "data": {
        "Review": {
            "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
            "ItemId": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
            "ReviewerId": "title_player_account!218870DE55036998",
            "ItemVersion": "2.4.1",
            "Title": "Best Game Ever",
            "ReviewText": "I play this game every day. It's my favorite game yet.",
            "Rating": 5,
            "IsInstalled": true,
            "Locale": "NEUTRAL",
            "HelpfulnessVotes": 0,
            "HelpfulPositive": 0,
            "HelpfulNegative": 0,
            "Submitted": "2021-08-09T06:44:22.569Z"
        }
    }
}

Der Aufruf GetEntityItemReview von einem Spieler, der keine Überprüfung vorgenommen hat, gibt ein Review-Objekt mit nullen Werten zurück:

{
    "code": 200,
    "status": "OK",
    "data": {
        "Review": {
            "ReviewId": "00000000-0000-0000-0000-000000000000",
            "Rating": 0,
            "IsInstalled": false,
            "HelpfulnessVotes": 0,
            "HelpfulPositive": 0,
            "HelpfulNegative": 0,
            "Submitted": "0001-01-01T00:00:00Z"
        }
    }
}

Abrufen von Rezensionen für ein Element

Sie können auf alle Überprüfungen zugreifen, die Text für ein Element enthalten , indem Sie die GetItemReviews API aufrufen. Ein Element Id oder AlternateId muss bereitgestellt werden. Optionale Parameter können hinzugefügt werden:

  • ContinuationToken: Ein nicht transparentes Token, das zum Abrufen der nächsten Seite von Elementen verwendet wird, sofern verfügbar.
  • Count: Anzahl der abzurufenden Elemente. Die maximale Seitengröße beträgt 200. Wenn nicht angegeben, ist der Standardwert 10.
  • OrderBy: Ein OData orderBy-Wert, der verwendet wird, um die Ergebnisse der Abfrage zu sortieren. Mögliche Werte sind Helpfulness, Ratingund Submitted.
{
  "Count": 2,
  "Id": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
  "OrderBy": "Submitted desc"
}

Übermitteln einer Hilfreichkeitsabstimmung für eine Überprüfung

Spieler können eine Hilfreichkeitsabstimmung für eine Überprüfung übermitteln, indem sie die SubmitItemReviewVote API aufrufen. Das Übermitteln einer neuen Hilfreichkeitsstimme erhöht sich HelpfulPositive oder HelpfulNegative hängt vom booleschen Wert für den Vote Parameter ab.

{
  "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
  "Vote": "Helpful/UnHelpful"
}

Melden einer Überprüfung

Spieler können eine Überprüfung melden, indem sie die ReportItemReview API von einem Client aufrufen. Ein ReviewId muss bereitgestellt werden. Ein optionalerConcernCategory Parameter kann hinzugefügt werden.

{
  "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef",
  "ConcernCategory": "OffensiveContent"
}

Wenn nicht angegeben, ConcernCategory wird standardmäßig verwendet None. Die gültigen ConcernCategory Werte sind wie folgt:

  • None
  • OffensiveContent
  • ChildExploitation
  • MalwareOrVirus
  • PrivacyConcerns
  • MisleadingApp
  • PoorPerformance
  • ReviewResponse
  • SpamAdvertising
  • Profanity

Beim Aufrufen von ReportItemReview wird nur ein PlayStream-Ereignis unter dem Ereignisnamen ausgelöst item_reported. Abfragen mithilfe des Daten-Explorers im Game Manager. Beispielabfragen finden Sie unten:

Die folgende Abfrage gibt die Gesamtanzahl der Berichte nach ConcernCategory pro ItemId in den letzten 3 Tagen zurück.

['events.all']
| where Timestamp > ago (3d)
| where FullName_Name == "review_reported"
| project ReviewId = tostring(EventData.Payload.ReviewId), ConcernCategory = tostring(EventData.Payload.ConcernCategory)
| summarize TotalReportCount = count() by ReviewId, ConcernCategory
| sort by TotalReportCount desc
| render columnchart kind=stacked

Takedown a review

Sie können mithilfe der TakedownItemReviews API eine Anforderung zum Takedown einer oder mehrerer Überprüfungen übermitteln. Diese API kann nur von der Titelentität aufgerufen werden. Der Aufruf enthält eine Reihe von Überprüfungen, die abgenommen werden sollen.

{
  "Reviews": [
    {
      "ItemId": "3f5dd8d4-4ee1-4748-8855-56a8a0277bf9",
      "ReviewId": "730de69c-d6af-f313-4653-09fb14bedeef"
    }
  ]
}

Notiz

Es kann zu einer Verzögerung von bis zu 24 Stunden kommen, bis eine Überprüfung aufgrund der Anforderungsverarbeitung abgebrochen wird.

Bewertungsentwurf und Zwischenspeicherung

Wir haben zwei Methoden zum Abrufen von Bewertungen. Der Unterschied zwischen den beiden Pfaden besteht darin, ob Sie direkt mit der Überprüfung oder dem Katalogelement interagieren.

  1. Wir stellen Bewertungen direkt bereit (über GetItemReviews, etc.)
  2. Wir stellen Bewertungsaggregate in den Katalogelementen (über SearchItemsusw.) bereit.

Beide Routen sind asynchron und weisen Zeitliche Verzögerungen auf, die zu verstehen sind.

Direkte Bewertungen (GetItemReviews usw.)

Alle diese Bewertungen und Bewertungen werden direkt bereitgestellt. Hier gibt es zwei Latenzkategorien.

  1. Individuelle Bewertungen - nahezu in Echtzeit
    Einzelne Bewertungen sind nicht sofort verfügbar, sollten aber innerhalb weniger Sekunden angezeigt werden. Wir gehen davon aus, dass ein Wiederholungsversuch mit einem Backoff ausreicht, um eine brandneue Rezension zu lesen.
  2. Aggregatbewertungen : Unter 15 Minuten Es gibt einen Cache für Aggregate.

Katalogelementbewertungen (SearchItems usw.)

Alle diese Bewertungen werden als Teil des Katalogelements aus unserem veröffentlichten Katalog bereitgestellt.

  1. Aggregierte Bewertungen – Unter 8 Stunden
    Das System aggregiert die Bewertungen und pusht Updates in den Katalog. Updates können 4 bis 8 Stunden dauern.