这是用于与
游戏通知交互的接口。
注意: 注意:这是服务接口,此接口中的方法应使用
input_json
参数调用。
请参见
Web API 概览,对如何使用 Steamworks Web API 了解更多。
CreateSession
POST https://partner.steam-api.com/IGameNotificationsService/CreateSession/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
appid | uint32 | ✔ | 要为其创建会话的 App ID。 |
context | uint64 | ✔ | 游戏指定的上下文值,可供游戏用于将会话与其后端的某个对象相关联。 |
title | {message} | ✔ | 在各用户的会话列表中显示的会话标题。 |
users | {message} | ✔ | 会话中所有用户的初始状态。 |
steamid | uint64 | | (可选)代表其进行请求的 Steam ID。若指定,该用户必须在会话中,且添加入会话的所有用户必须为该用户的好友。 |
与请求中指定的玩家创建全新的异步会话。
此 API 调用返回的唯一会话 ID 将用于引用游戏通知 API 中的其他调用,因此应与此游戏的游戏会话状态一起存储。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"response": {
"sessionid": "10"
}
}
调用示例:{
"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/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
sessionid | uint64 | ✔ | 要更新的 sessionid。 |
appid | uint32 | ✔ | 要更新的会话的 App ID。 |
title | {message} | ✔ | (可选)会话的新标题。 若未指定,标题将不变。 |
users | {message} | ✔ | (可选)玩家列表,这些玩家的状态将更新以反映给定状态。 如果有玩家尚不在会话中,将会被加入会话。 |
steamid | uint64 | ✔ | (可选)代表其进行请求的 Steam ID。若指定,该用户必须在会话中。 |
每当游戏状态发生更改时,更新游戏会话。
务必相应地更新各用户的状态。这里发送的会话状态,将反映在针对此游戏中所有用户的用户通知中。 本来在会话中但未被指定的用户均将被移出会话,任何新指定的用户将被添加入会话。 您必须发送会话的丰富状态。所有之前的状态将被新指定的状态替代。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"response": {
}
}
调用示例:{
"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/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
appid | uint32 | ✔ | 要请求其详情的 sessionid。 为可选参数。 若未指定,将返回用户的所有会话。 |
steamid | uint64 | ✔ | 其会话将被枚举的用户。 |
include_all_user_messages | bool | ✔ | (可选)设置是否包含对所有用户的消息。 默认为 false。 |
include_auth_user_message | bool | ✔ | (可选)设置是否包含对验证过的用户的消息。 默认为 false。 |
language | string | ✔ | (可选)文本要使用的本地化语言。 |
返回一个 Steam ID 所参与的会话的列表。
如果设置了可选用的 bool 参数,将返回各会话的更多详情。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"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" }
]
}
}
]
}
}
调用示例:{
"steamid": "76561197960265729",
"include_all_user_messages": "0",
"include_auth_user_message": "1"
}
GetSessionDetailsForApp
GET https://partner.steam-api.com/IGameNotificationsService/GetSessionDetailsForApp/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
sessions | {message} | ✔ | 要收到其详情的会话。 |
appid | uint32 | ✔ | The appid for the sessions. |
language | string | ✔ | 文本要使用的本地化语言。 |
返回指定会话的详情。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"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" }
]
}
}
]
}
}
调用示例:{
"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/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
steamid | uint64 | ✔ | 请求其通知的 Steam ID。 |
appid | uint32 | ✔ | 请求其通知的 App ID。 |
为一个应用请求用户接受游戏通知。
每当用户开始一个要求游戏通知的游戏时,服务器必须为登录用户调用 RequestNotifications。 这将询问用户选择接受您的特定游戏的通知,从而使您的游戏对用户使用离线通知。 每次游戏启动时,对此 API 最多调用一次。 如果用户决定不接受通知,接下来的调用将不会询问用户是否接受。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"response": {
}
}
调用示例:{
"steamid": "76561197960265729",
"appid": 480
}
DeleteSession
POST https://partner.steam-api.com/IGameNotificationsService/DeleteSession/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
sessionid | uint64 | ✔ | 要删除的 sessionid。 |
appid | uint32 | ✔ | 要删除的会话的 App ID。 |
steamid | uint64 | ✔ | (可选)代表其进行请求的 Steam ID。若指定,该用户必须在会话中。 |
删除进行中的异步游戏会话。 这将移除对此游戏会话中全部用户的所有通知。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"response": {
}
}
调用示例:{
"sessionid": "10"
}
DeleteSessionBatch
POST https://partner.steam-api.com/IGameNotificationsService/DeleteSessionBatch/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 发行商验证密钥。 |
sessionid | uint64 | ✔ | 要删除的 sessionid。 |
appid | uint32 | ✔ | 要删除的会话的 App ID。 |
批量删除异步游戏会话。
注意: 此调用需要发行商 API 密钥以使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!