เอกสาร Steamworks
อินเตอร์เฟซ IGameNotificationsService
นี่เป็นอินเตอร์เฟซที่ใช้สำหรับโต้ตอบกับ การแจ้งเตือนเกม

หมายเหตุ: นี่คืออินเตอร์เฟซให้บริการ การเรียกเมธอดในอินเตอร์เฟซนี้ควรใช้พารามิเตอร์ input_json

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีใช้ Steamworks Web API กรุณาอ่าน ภาพรวมของ Web API

CreateSession

POST https://partner.steam-api.com/IGameNotificationsService/CreateSession/v1/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
appiduint32ไอดีแอปที่ใช้สร้างเซสชัน
contextuint64ค่าบริบทเฉพาะที่เกมระบุไว้ ซึ่งเกมสามารถใช้เชื่อมโยงกับเซสชันที่มีออบเจ็กต์บางอย่างในแบ็กเอนด์
title{message}ชื่อเซสชันที่จะแสดงในรายการเซสชันของผู้ใช้แต่ละคน
users{message}สถานะเริ่มต้นของผู้ใช้ทุกคนในเซสชัน
steamiduint64(ตัวเลือกเสริม) ไอดี Steam สำหรับใช้แทนตัวผู้ส่งคำขอ -- ถ้าระบุไว้ ผู้ใช้จะต้องอยู่ในเซสชัน และผู้ใช้ทุกคนที่เพิ่มเข้ามาในเซสชันจะต้องเป็นเพื่อนกับผู้ใช้

สร้างเซสชันอะซิงโครนัสใหม่ล่าสุด ด้วยผู้เล่นทุกคนที่ระบุในคำขอ

ควรเก็บ Session ID จำเพาะที่คืนค่าจากการเรียก API นี้กับสถานะของเซสชันเกม เนื่องจากจะนำไปใช้อ้างอิงการเรียกอื่นใน Game Notifications API

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส 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/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
sessioniduint64Sessionid ที่จะอัปเดต
appiduint32ไอดีแอปของเซสชันที่จะอัปเดต
title{message}(ตัวเลือกเสริม) ชื่อใหม่ของเซสชัน ถ้าไม่ระบุ ชื่อจะไม่เปลี่ยนแปลง
users{message}(ตัวเลือกเสริม) รายการผู้ใช้ซึ่งจะได้รับการสถานะเพื่อสะท้อนให้เห็นถึงสถานะที่ได้รับ หากผู้ใช้ไม่ได้อยู่ในเซสชันอยู่แล้ว พวกเขาจะถูกเพิ่มไปยังเซสชัน
steamiduint64(ตัวเลือกเสริม) ไอดี Steam สำหรับใช้แทนตัวผู้ส่งคำขอ -- ถ้าระบุไว้ ผู้ใช้จะต้องอยู่ในเซสชัน

อัปเดตเซสชันเกมทุกครั้งที่สถานะของเกมเปลี่ยนแปลง

อย่าลืมอัปเดตสถานะของผู้ใช้แต่ละคนด้วย เนื่องจากสิ่งที่ส่งในฟังก์ชันนี้จะปรากฏในการแจ้งเตือนของผู้ใช้ทุกคนในเกม ผู้ใช้ทุกคนที่อยู่ในเซสชันที่ไม่ได้ระบุไว้จะถูกนำออกจากเซสชัน และผู้ใช้ที่เพิ่งระบุไว้ใหม่จะถูกเพิ่มไปยังเซสชัน คุณจะต้องส่งสถานะที่สมบูรณ์ของเซสชัน -- สถานะก่อนหน้าทั้งหมดจะถูกแทนที่ด้วยสถานะใหม่ที่ระบุ

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะต้องเรียก 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/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
appiduint32Sessionid ที่ต้องการขอรายละเอียด เป็นทางเลือกเสริม ถ้าไม่ได้ระบุ จะคืนเซสชันทั้งหมดของผู้ใช้
steamiduint64ผู้ใช้ซึ่งเป็นเจ้าของเซสชันที่ได้รับการอีนิวเมอเรต
include_all_user_messagesbool(ตัวเลือกเสริม) ตั้งค่าว่าควรระบุข้อความสำหรับผู้ใช้ทุกคนหรือไม่ ค่าเริ่มต้นคือ false
include_auth_user_messagebool(ตัวเลือกเสริม) ตั้งค่าว่าควรระบุข้อความสำหรับผู้ใช้ที่ได้รับการยืนยันสิทธิ์หรือไม่ ค่าเริ่มต้นคือ false
languagestring(ตัวเลือกเสริม) ภาษาที่ใช้แปลข้อความ

ฟังก์ชันนี้จะคืนรายการเซสชันที่ไอดี Steam เข้าร่วมเป็นส่วนหนึ่งด้วย

บูลีนเสริมจะคืนรายละเอียดเพิ่มเติมเกี่ยวกับแต่ละเซสชัน ถ้าตั้งค่าไว้

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะต้องเรียก 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/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
sessions{message}เซสชันที่ต้องการรับรายละเอียด
appiduint32Appid สำหรับเซสชัน
languagestringภาษาที่ใช้แปลข้อความ

คืนรายละเอียดเกี่ยวกับเซสชันที่ระบุ

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะต้องเรียก 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/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
steamiduint64ไอดี Steam ที่จะขอรับการแจ้งเตือน
appiduint32ไอดีแอปที่จะขอรับการแจ้งเตือน

ขอให้ผู้ใช้ได้รับการแจ้งเตือนของแอป

ทุกครั้งที่ผู้ใช้เริ่มเกมที่ต้องใช้การแจ้งเตือนจากเกม เซิร์ฟเวอร์จะต้องเรียก RequestNotifications เพื่อผู้ใช้ที่ลงชื่อเข้าใช้ ฟังก์ชันนี้จะลงทะเบียนเกมของคุณเพื่อใช้การแจ้งเตือนออฟไลน์กับผู้ใช้ โดยขอให้ผู้ใช้เลือกรับการแจ้งเตือนจากเกมที่ระบุ ให้เรียกฟังก์ชันนี้ไม่เกินหนึ่งครั้งต่อการเรียกใช้เกม การเรียกครั้งต่อไปจะไม่ขอให้ผู้ใช้เลือกรับ ถ้าผู้ใช้ตัดสินใจเลือกรับไปแล้ว

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้คีย์ API ของผู้จัดจำหน่าย ดังนั้น จะต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!

ตัวอย่างคำตอบ:
{ "response": { } }

ตัวอย่างการเรียก:
{ "steamid": "76561197960265729", "appid": 480 }

DeleteSession

POST https://partner.steam-api.com/IGameNotificationsService/DeleteSession/v1/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
sessioniduint64Sessionid ที่จะลบ
appiduint32ไอดีแอปของเซสชันที่จะลบ
steamiduint64(ตัวเลือกเสริม) ไอดี Steam สำหรับใช้แทนตัวผู้ส่งคำขอ -- ถ้าระบุไว้ ผู้ใช้จะต้องอยู่ในเซสชัน

ลบเซสชันเกมแบบอะซิงโครนัสที่กำลังทำงานอยู่ การทำเช่นนี้จะลบการแจ้งเตือนทั้งหมดที่ส่งถึงผู้ใช้คนใดก็ตามที่เป็นส่วนหนึ่งของเซสชันเกม

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!

ตัวอย่างคำตอบ:
{ "response": { } }

ตัวอย่างการเรียก:
{ "sessionid": "10" }

DeleteSessionBatch

POST https://partner.steam-api.com/IGameNotificationsService/DeleteSessionBatch/v1/
ชื่อประเภทที่ต้องการคำอธิบาย
keystringคีย์การตรวจสอบสิทธิ์ของผู้จัดจำหน่าย Steamworks Web API
sessioniduint64Sessionid ที่จะลบ
appiduint32ไอดีแอปของเซสชันที่จะลบ

ลบแบตช์ของเซสชันเกมแบบอะซิงโครนัส

หมายเหตุ: การเรียกเมธอดนี้จำเป็นต้องใช้รหัส API ของผู้จัดจำหน่าย ดังนั้น จะต้องเรียก API นี้จากเซิร์ฟเวอร์ที่ปลอดภัย และไคลเอนต์จะไม่มีทางใช้งาน API นี้ได้โดยตรง!