Freigeben über


Einrichten von PlayFab und Steam zum Aktivieren von Käufen

In diesem Tutorial erfahren Sie, wie Sie sowohl PlayFab als auch Steam so integrieren, dass kaufflows funktionieren und gekaufte Artikel einlösen können.

Voraussetzungen

  1. Ein Titel im Game Manager von PlayFab.
  2. Eine App, die bereits in Steamworks erstellt und verfügbar ist.
  3. Eine vorhandene Integration zwischen dem ausgewählten Titel und Steam, für die Sie die Marketplace-Integration sehen können: Steam.

Notiz

Eine allgemeine Übersicht über die Schritte, die erforderlich sind, damit diese Integration aus Steams Sicht funktioniert, finden Sie in der Steam-Dokumentation.

Schritt 1: Erstellen von Elementdefinitionen

Sie müssen zunächst einige Elementdefinitionen erstellen und hochladen.

Nachdem Sie Ihre Elementdefinition erstellt und Ihre JSON-Datei gespeichert haben, können Sie zum Inventory Service Ihrer App navigieren und Ihre Elementdefinition hier hochladen, indem Sie die nächsten Schritte ausführen:

  1. Navigieren Sie zu Steamworks.
  2. Wählen Sie im oberen Navigationsmenü die Option "Apps & Pakete > " "Alle Anwendungen" aus.
  3. Wählen Sie ihre gewünschte App aus der Liste "Alle Apps" aus.
  4. Scrollen Sie nach unten, und wählen Sie unter "Technische Tools" die Option "Steamworks-Einstellungen bearbeiten" aus.
  5. Wählen Sie "Community" "Inventory Service" > aus.
  6. Navigieren Sie zum Abschnitt "Elementdefinitionen", und suchen Sie nach der gewünschten JSON-Elementdefinitionsdatei.
  7. Wählen Sie "Hochladen" aus.

Ihr Elementdefinitionsschema sollte in etwa wie folgt aussehen:

{
  "appid": "452820",
  "itemdefid": "300",
  "Timestamp": "2024-09-09T19:28:27Z",
  "modified": "20240909T192827Z",
  "date_created": "20240909T192827Z",
  "type": "item",
  "display_type": "",
  "name": "Bag of 300 Gold",
  "price": "1;VLV0",
  "quantity": 1,
  "description": "A super awesome bag of 300 gold!",
  "background_color": "3C352E",
  "name_color": "7D6D00",
  "promo": "owns:3223900",
  "tradable": false,
  "marketable": false,
  "commodity": false
}

Nachdem Ihre Elementdefinition hochgeladen wurde, sollte sie im nächsten Screenshot wie folgt angezeigt werden:

Definition des hochgeladenen Steam-Elements

Notiz

Weitere Informationen zu Elementdefinitionsschemas finden Sie in der Steamworks-Dokumentation.

Schritt 2: Aktivieren des Inventurdiensts

Nachdem Sie Ihre Elementdefinitionen hochgeladen haben, müssen Sie den Inventory Service Ihrer App aktivieren. Diese Aktion kann über dieselbe Seite ausgeführt werden, auf der Sie Ihre Elementdefinitionen hochgeladen haben, wie folgt:

  1. Navigieren sie über die URL zur Seite "Inventory Service" für Ihre App: https://partner.steamgames.com/apps/inventoryservice/{YourAppID}.
  2. Aktivieren des Inventurdiensts durch Aktivieren des Kontrollkästchens "Inventurdienst aktivieren".

Aktivieren des Kontrollkästchens

Schritt 3: Festlegen eines Ressourcenserverschlüssels

Nachdem der Bestandsdienst aktiviert wurde, müssen Sie sicherstellen, dass Ihr Asset Server-Schlüssel festgelegt ist. Dieser Schlüssel muss mit Ihrem Publisher-Web-API-Schlüssel übereinstimmen, der während der ersten Integration erstellt wurde, insbesondere Schritt 2 der Steam-Integrationsdokumentation.

Notiz

Sie können auch die Schritte ausführen, die in der Steam-Dokumentation zum Erstellen eines Publisher-Web-API-Schlüssels aufgeführt sind.

Sobald Sie über Ihren Herausgeber-Web-API-Schlüssel verfügen, führen Sie die nächsten Schritte aus, um ihn als Ressourcenserverschlüssel festzulegen:

  1. Navigieren Sie auf der Registerkarte "Community" zu den "Economy-Einstellungen" Ihrer App, oder folgen Sie der URL. https://partner.steamgames.com/apps/economy/{YourAppID}
  2. Scrollen Sie, bis das Feld Ressourcenserverschlüssel angezeigt wird, und fügen Sie Ihren Verleger-Web-API-Schlüssel hinzu.

Schritt 4: Erstellen und Zuordnen von PlayFab-Elementen

Nachdem Sie den Inventardienst für Ihre Steam-App aktiviert und Ihre Elementdefinition hochgeladen haben, können Sie in Game Manager ihre Elemente konfigurieren.

Weitere Informationen zum Erstellen eines neuen Elements finden Sie in unserer Dokumentation.

Nachdem Ihr Element erstellt wurde, müssen Sie dieses Element nun einem neuen (oder vorhandenen) Bundle hinzufügen. Wenn Sie zum ersten Mal ein Bundle erstellen, lesen Sie unser Tutorial Einrichten eines PlayFab-Bundles, das im Google Play Store erworben werden kann , um Informationen zum Erstellen eines neuen Bundles und zum Hinzufügen von Elementen zu einem Bundle zu erhalten.

Nachdem Ihr Element und Ihr Bundle erstellt wurden, müssen Sie das Bundle mit der Elementdefinition verknüpfen, die Sie an Steam übermittelt haben. Notieren Sie sich dazu das Element, das itemdefid Sie im JSON-Code der Elementdefinition angegeben haben.

itemdefid in der Elementdefinition

Auf dem obigen Screenshot können Sie sehen, dass der itemdefid unseres Elements ist 300, jetzt müssen Sie im Bearbeitungsmodus zu Ihrem Bundle in Game Manager navigieren und zum Abschnitt Marketplace-Zuordnung Ihres Bundles scrollen.

Hier müssen Sie Steam als Marketplace auswählen, 300 als Marketplace-ID eingeben und das Pluszeichen direkt neben dem Feld Marketplace-ID auswählen, um Ihre Änderungen zu sperren. Sobald dies abgeschlossen ist, können Sie speichern.

Marketplace-Zuordnung

Schritt 5: Authentifizieren Ihres Spielers

Bevor Sie mit dem Einlösen Ihres gekauften Artikels beginnen, müssen Sie sicherstellen, dass der Spieler, der den Artikel einlösen möchte, in Ihrer App ordnungsgemäß authentifiziert ist, wofür Sie LoginWithSteam verwenden müssen.

Nach einem erfolgreichen Aufruf von PlayFab erhalten LoginWithSteam Sie eine Antwort, die eine 200EntityToken enthält, die Sie in Ihrem Einlösungsaufruf verwenden müssen.

Schritt 6: Einlösen eines Kaufs

Nachdem Steam eingerichtet wurde, ihr Spieler mit der PLAYFab-API LoginWithSteam authentifiziert wurde und Ihr Bündel der Elementdefinition zugeordnet ist, können Sie jetzt den Einlösungsaufruf an Steam senden. Dazu verwenden wir den API-Aufruf RedeemSteamInventoryItems .

Damit dieser API-Aufruf erfolgreich funktioniert, müssen Sie den in Schritt 5 nach erfolgreicher Authentifizierung des Players zurückgegebenen als Teil der Header im API-Aufruf einschließenEntityToken.

Die Art und Weise, wie die Einlösung für Steam funktioniert, besteht darin, dass der Aufruf nach dem RedeemSteamInventoryItems gesamten Steam-Inventar durchläuft und nach dem Passenden itemdefid sucht und einlöst.

Eine erfolgreiche Antwort enthält einen 200 status Code zusammen mit anderen Datenteil von RedeemSteamInventoryItemsResponse, zTransactionIds. B. , und Listen mit fehlgeschlagenen oder erfolgreichen Einlösungsvorgängen.

Jede Einlösungsaktion löst auch ein entsprechendes Ereignis im Transaktionsverlauf des Spielers aus, das auf der Registerkarte Transaktionsverlauf (V2) auf der Übersichtsseite des angegebenen Spielers abgerufen werden kann.

Neben dem Datensatz im Transaktionsverlauf des Spielers wird auch ein PlaySteam-Ereignis ausgelöst und protokolliert. Sie können auf diese Protokolle für Ihren Titel zugreifen, indem Sie im Game Manager im Abschnitt Analysieren auf der linken Navigationsleiste zur Seite Daten wechseln. Hier können Sie Abfragen bearbeiten, um nach bestimmten Datensätzen zu suchen, oder sie mit den Standardeinstellungen ausführen, um alles abzurufen. Unter dem Ereignisnamen von sollte ein Datensatz vorhanden items_redeemedsein.

Notiz

Möglicherweise werden mehr als ein items_redeemed PlayStream-Ereignis protokolliert. Dies liegt daran, dass die Anzahl der Ereignisse der Anzahl der Elemente in jedem Bündel entspricht, obwohl Sie möglicherweise nur ein Bündel eingelöst haben.

Notiz

Wenn Sie sich andere Einlösungstutorials ansehen, z. B. Einrichten eines PlayFab-Bündels, das im Google Play Store erworben werden kann, oder Einrichten eines In-App Kauf mit PlayFab und dem Apple-App Store sehen Sie möglicherweise, dass nach der Einlösung ein zusätzlicher Schritt mit dem Namen Verbrauch bzw. Transaktion abschließen erfolgt.

Im Fall von Steam erfolgt die Nutzung, wenn der RedeemSteamInventoryItems API-Aufruf erfolgt, sodass nach dem Einlösen von Elementen keine weiteren Schritte erforderlich sind. Dennoch ist es erwähnenswert, dass die Artikel, die mit dem übereinstimmen, nicht mehr im Steam-Bestand verfügbar sind, da der itemdefid Verbrauch automatisch während einer erfolgreichen Einlösung erfolgt.

Schritt 7: DLC und Promo-Elemente

Steam DLC (Downloadable Content) ist ein System, mit dem PlayFab derzeit nicht integriert ist. Wir empfehlen Entwicklern, Steam-Promo-Regeln zu verwenden, um Inventarelemente aus sicht des App-Besitzes zu gewähren.

Dies bedeutet, dass Sie addPromoItems mit dem zugehörigen SDK vom Steam-Client aufrufen müssen, bevor Sie einen Einlösungsaufruf mit RedeemSteamInventoryItemsausführen.

AddPromoItems überprüft die promo:owns:ID und bestätigt, dass sie in den Apps des Spielers vorhanden ist (z. B. DLC). Wenn dies der Fall ist, wird das Element in itemdefs mit der Promo-Regel dem Steam-Bestand hinzugefügt. Die Einlösung fügt dann den Artikel im Steam-Bestand hinzu, der dem itemdefidentspricht.

Notiz

Abonnements werden derzeit nicht unterstützt.

Notiz

Weitere Informationen zu Elementdefinitionen finden Sie unter Übersicht über das ItemDef-Schema.

Weitere Informationen