Steamworks-dokumentation
IGameNotificationsService grænseflade
Dette er grænsefladen, som bruges til at interagere med spilnotifikationer.

BEMÆRK: Dette er en tjenestegrænseflade. Metoder i denne grænseflade bør kaldes med parameteren input_json.

Se Web-API-oversigt for flere oplysninger om, hvordan du bruger Steamworks-web-API'en.

CreateSession

POST https://partner.steam-api.com/IGameNotificationsService/CreateSession/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
appiduint32App-ID'et, som sessionen skal oprettes til.
contextuint64Spilspecifik kontekstværdi, som spillet kan bruge til at tilknytte sessionen med nogle objekter i deres backend.
title{message}Titlen på sessionen, som bliver vist indenfor hver brugers liste over sessioner.
users{message}Den oprindelige tilstand for alle brugere i sessionen.
steamiduint64(Valgfrit) Steam-ID til at lave anmodningen på vegne af – hvis dette er angivet, skal brugeren være i sessionen, og alle brugere, som tilføjes til sessionen, skal være venner med brugeren.

Opretter en helt ny async-session med spillerne, som er angivet i anmodningen.

Dette unikke sessions-ID, som returneres i dette API-kald, bør gemmes med spillets sessionstilstand, da det vil blive brugt som reference til andre opkald i spillets notifikations-API.

BEMÆRK: Dette kald kræver en udgiver-API-nøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!

Eksempel på svar:
{ "response": { "sessionid": "10" } }

Eksempel på kald:
{ "context": "31415926" "title": { "token": "#MyToken", "variables": [ { "key": "username", "value": "SteamUser" } ] }, "users": [ { "steamid": "76561197960265729", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Bob" } { "key": "level", "value": "1" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Bellevue" } ] } } ] }

UpdateSession

POST https://partner.steam-api.com/IGameNotificationsService/UpdateSession/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
sessioniduint64SessionID'et, som skal opdateres.
appiduint32Sessions-app-ID, som skal opdateres.
title{message}(Valgfrit) Sessionens nye titel. Hvis dette ikke er angivet, ændres titlen ikke.
users{message}(Valgfrit) En liste ovre brugere, hvis tilstand vil blive opdateret for at afspejle den givne tilstand. Hvis brugerne ikke allerede er i sessionen, vil de blive tilføjet til den.
steamiduint64(Valgfrit) Steam-ID til at lave anmodningen på vegne af – hvis dette er angivet, skal brugeren være i sessionen.

Opdater en spilsession, når spillets tilstand ændres.

Sørg for at opdatere tilstanden for hver bruger i overensstemmelse hermed, da det, der sendes her, vil blive afspejlet i brugernotifikationer for alle brugere i spillet. Alle brugere, som var i sessionen, som ikke er angivet, vil blive fjernet fra sessionen, og alle brugere, som er angivet for nylig, vil blive tilføjet til sessionen. Du skal sende den komplette sessionstilstand – alle tidligere tilstande vil blive erstattet af den nyligt angivne tilstand.

BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!

Eksempel på svar:
{ "response": { } }

Eksempel på kald:
{ "sessionid": "1234", "title": { "token": "#MyToken", "variables": [ { "key": "username", "value": "SteamUser" } ] }, "users": [ { "steamid": "76561197960265729", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Bob" } { "key": "level", "value": "1" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Bellevue" } ] } }, { "steamid": "76561197960265730", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Greg" } { "key": "level", "value": "2" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Seattle" } ] } } ] }

EnumerateSessionsForApp

GET https://partner.steam-api.com/IGameNotificationsService/EnumerateSessionsForApp/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
appiduint32Sessions-ID'et, som der anmodes om detaljer til. Valgfri. Hvis dette ikke er angivet, returneres alle brugernes sessioner.
steamiduint64Brugeren, hvis sessioner optælles.
include_all_user_messagesbool(Valgfrit) Angiv, om beskeden til alle brugere bør være inkluderet. Standardindstilling er false.
include_auth_user_messagebool(Valgfrit) Angiv, om beskeden til den bekræftede bruger bør være inkluderet. Standardindstilling er false.
languagestring(Valgfrit) Sprog, teksten skal oversættes til.

Dette returnerer en liste over sessioner, som et Steam-ID indgår i.

De valgfrie bools returnerer yderligere detaljer om hver session, hvis angivet.

BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!

Eksempel på svar:
{ "response": { [ { "sessionid": "123", "appid": "100", "title": { "token": "#TitleToken", "variables": [ { "key": "keyName", "value": "keyValue" } ] }, "time_created": "100000", // Unix time "time_updated": "200000", //Unix time "user_status": [ { "steamid": "76561197960265729", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Bob" } { "key": "level", "value": "1" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Bellevue" } ] } }, { "steamid": "76561197960265730", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Greg" } { "key": "level", "value": "2" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Seattle" } ] } } ] } }

Eksempel på kald:
{ "steamid": "76561197960265729", "include_all_user_messages": "0", "include_auth_user_message": "1" }

GetSessionDetailsForApp

GET https://partner.steam-api.com/IGameNotificationsService/GetSessionDetailsForApp/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
sessions{message}Sessionerne, som der skal modtages detaljer for
appiduint32App-ID'et for sessionerne.
languagestringSprog, teksten skal oversættes til.

Returnerer detaljer omkring specifikke sessioner.

BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!

Eksempel på svar:
{ "response": { [ { "sessionid": "12", "appid": "100", "title": { "token": "#TitleToken", "variables": [ { "key": "keyName", "value": "keyValue" } ] }, "time_created": "100000", // Unix time "time_updated": "200000", //Unix time "user_status": [ { "steamid": "76561197960265729", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Bob" } { "key": "level", "value": "1" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Bellevue" } ] } }, { "steamid": "76561197960265730", "state": "waiting", "title": { "token": "#TitleToken", "variables": [ { "key": "username", "value": "Greg" } { "key": "level", "value": "2" } ] }, "message": { "token": "#StatusMessageToken", "variables": [ { "key": "city", "value": "Seattle" } ] } } ] } }

Eksempel på kald:
{ "sessions": [ { "sessionid": "12", "include_all_user_messages": "0" }, { "sessionid": "13", "include_all_user_messages": "0" } ] }

RequestNotifications

POST https://partner.steam-api.com/IGameNotificationsService/RequestNotifications/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
steamiduint64Steam-ID'et, som der anmodes om notifikationer for.
appiduint32App-ID'et, som der anmodes om notifikationer for.

Anmodninger, som en bruger modtager notifikationer for en app.

Når en bruger starter et spil, som kræver spilnotifikationer, skal serveren lave et RequestNotifications-kald for brugeren, som er logget på. Dette registrerer dit spil til at bruge offline-notifikationer for brugeren ved at anmode brugeren om at tilmelde sig spilnotifikationer for sit specifikke spil. Lav dette kald maksimalt én gang per lancering. Efterfølgende kald vil ikke anmode brugeren om at tilvælge, hvis brugeren allerede har besluttet at vælge dette fra.

BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!

Eksempel på svar:
{ "response": { } }

Eksempel på kald:
{ "steamid": "76561197960265729", "appid": 480 }

DeleteSession

POST https://partner.steam-api.com/IGameNotificationsService/DeleteSession/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
sessioniduint64SessionID'et, som skal slettes.
appiduint32Sessionens app-ID, som skal slettes.
steamiduint64(Valgfrit) Steam-ID til at lave anmodningen på vegne af – hvis dette er angivet, skal brugeren være i sessionen.

Slet en aktiv async spilsession. Dette fjerner alle notifikationer for alle brugere, som er med spilsessionen.

BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!

Eksempel på svar:
{ "response": { } }

Eksempel på kald:
{ "sessionid": "10" }

DeleteSessionBatch

POST https://partner.steam-api.com/IGameNotificationsService/DeleteSessionBatch/v1/
NavnTypePåkrævetBeskrivelse
keystringSteamworks-web-API – udgivergodkendelsesnøgle
sessioniduint64SessionID'et, som skal slettes.
appiduint32Sessionens app-ID, som skal slettes.

Sletter en gruppe af aktive async spilsessioner.

BEMÆRK: Dette kald kræver en API-udgivernøgle for at bruge denne metode. Derfor SKAL denne API kaldes fra en sikker server og må aldrig bruges direkte af klienter!