Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
- Ein Titel im Game Manager von PlayFab.
- Eine App, die bereits in Steamworks erstellt und verfügbar ist.
- 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:
- Navigieren Sie zu Steamworks.
- Wählen Sie im oberen Navigationsmenü die Option "Apps & Pakete > " "Alle Anwendungen" aus.
- Wählen Sie ihre gewünschte App aus der Liste "Alle Apps" aus.
- Scrollen Sie nach unten, und wählen Sie unter "Technische Tools" die Option "Steamworks-Einstellungen bearbeiten" aus.
- Wählen Sie "Community" "Inventory Service" > aus.
- Navigieren Sie zum Abschnitt "Elementdefinitionen", und suchen Sie nach der gewünschten JSON-Elementdefinitionsdatei.
- 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:
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:
- Navigieren sie über die URL zur Seite "Inventory Service" für Ihre App:
https://partner.steamgames.com/apps/inventoryservice/{YourAppID}
. - Aktivieren des Inventurdiensts durch Aktivieren des Kontrollkästchens "Inventurdienst aktivieren".
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:
- Navigieren Sie auf der Registerkarte "Community" zu den "Economy-Einstellungen" Ihrer App, oder folgen Sie der URL.
https://partner.steamgames.com/apps/economy/{YourAppID}
- 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.
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.
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 200
EntityToken
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_redeemed
sein.
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 RedeemSteamInventoryItems
ausfü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 itemdefid
entspricht.
Notiz
Abonnements werden derzeit nicht unterstützt.
Notiz
Weitere Informationen zu Elementdefinitionen finden Sie unter Übersicht über das ItemDef-Schema.