gpg:: SnapshotManager
#include <snapshot_manager.h>
รับและตั้งค่าข้อมูลต่างๆ ที่เกี่ยวข้องกับสแนปชอต
สรุป
หากแอปไม่เปิดใช้สแนปชอตขณะตรวจสอบสิทธิ์ (โปรดดู GameServices::Builder::EnableSnapshots) เมธอดส่วนใหญ่ใน SnapshotManager
จะล้มเหลว
ประเภทสาธารณะ |
|
---|---|
CommitCallback
|
Typedefstd::function< void(const CommitResponse &)>
กำหนดประเภท Callback ที่ได้รับ CommitResponse |
FetchAllCallback
|
Typedefstd::function< void(const FetchAllResponse &)>
กำหนดประเภท Callback ที่ได้รับ FetchAllResponse |
MaxSizeCallback
|
Typedefstd::function< void(const MaxSizeResponse &)>
กำหนดประเภท Callback ที่ได้รับ MaxSizeResponse |
OpenCallback
|
Typedefstd::function< void(const OpenResponse &)>
กำหนดประเภท Callback ที่ได้รับ OpenResponse |
ReadCallback
|
Typedefstd::function< void(const ReadResponse &)>
กำหนดประเภท Callback ที่ได้รับ ReadResponse |
SnapshotSelectUICallback
|
Typedefstd::function< void(const SnapshotSelectUIResponse &)>
กำหนด Callback ที่สามารถรับ SnapshotSelectUIResponse จาก ShowSelectUIOperation |
ฟังก์ชันสาธารณะ |
|
---|---|
Commit(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback)
|
void
ซิงค์ข้อมูลที่ให้ไว้กับสแนปชอตแบบไม่พร้อมกัน และอัปเดตข้อมูลเมตาของสแนปชอตโดยใช้ออบเจ็กต์ข้อมูลเมตาที่มีให้
|
CommitBlocking(const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
คอมมิตข้อมูลที่ให้ไว้กับสแนปชอตแบบพร้อมกัน และอัปเดตข้อมูลเมตาของสแนปชอตโดยใช้ออบเจ็กต์ข้อมูลเมตาที่มีให้
|
CommitBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
คอมมิตข้อมูลที่ให้ไว้กับสแนปชอตและอัปเดตข้อมูลเมตาของสแนปชอตโดยใช้ออบเจ็กต์ข้อมูลเมตาที่มีให้
|
Delete(const SnapshotMetadata & snapshot_metadata)
|
void
ลบสแนปชอตที่ระบุ
|
FetchAll(FetchAllCallback callback)
|
void
โหลดข้อมูลสแนปชอตทั้งหมดแบบไม่พร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้ในปัจจุบัน
|
FetchAll(DataSource data_source, FetchAllCallback callback)
|
void
โหลดข้อมูลสแนปชอตทั้งหมดแบบไม่พร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้ในปัจจุบัน
|
FetchAllBlocking()
|
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล
FetchAllResponse โดยตรง |
FetchAllBlocking(DataSource data_source)
|
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล
FetchAllResponse โดยตรง |
FetchAllBlocking(Timeout timeout)
|
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล
FetchAllResponse โดยตรง |
FetchAllBlocking(DataSource data_source, Timeout timeout)
|
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล
FetchAllResponse โดยตรง |
GetMaxSize(MaxSizeCallback callback) const
|
void
แบบไม่พร้อมกันจะได้รับขนาดข้อมูลสูงสุดและขนาดภาพหน้าปกสูงสุดต่อสแนปชอตในหน่วยไบต์
|
GetMaxSizeBlocking() const
|
รับข้อมูลขนาดภาพสูงสุดและขนาดภาพหน้าปกสูงสุดต่อสแนปชอตในหน่วยไบต์แบบพร้อมกัน โดยจะแสดงผล
MaxSizeResponse โดยตรง |
GetMaxSizeBlocking(Timeout timeout) const
|
รับข้อมูลขนาดภาพสูงสุดและขนาดภาพหน้าปกสูงสุดต่อสแนปชอตในหน่วยไบต์แบบพร้อมกัน โดยจะแสดงผล
MaxSizeResponse โดยตรง |
Open(const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
แบบไม่พร้อมกันจะเปิดสแนปชอตที่มีชื่อตัวนั้น
|
Open(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback)
|
void
data_source โปรดใช้ Open(file_name, conflict_policy, callback) แทน แบบไม่พร้อมกันจะเปิดสแนปชอตที่มีชื่อตัวนั้น |
OpenBlocking(const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส
|
OpenBlocking(Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส
|
OpenBlocking(DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
เลิกใช้งานแล้ว
ระบบจะไม่สนใจ data_source โปรดใช้ OpenBlocking(file_name, conflict_policy) แทน เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส |
OpenBlocking(DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy)
|
เลิกใช้งานแล้ว
ระบบจะไม่สนใจ data_source โปรดใช้ OpenBlocking(timeout, file_name, conflict_policy) แทน เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส |
Read(const SnapshotMetadata & snapshot_metadata, ReadCallback callback)
|
void
ไม่พร้อมกันจะอ่านสแนปชอตจากดิสก์และคัดลอกไปยังหน่วยความจำ
|
ReadBlocking(const SnapshotMetadata & snapshot_metadata)
|
แบบซิงโครนัสอ่านสแนปชอตจากดิสก์และคัดลอกลงในหน่วยความจำ
|
ReadBlocking(Timeout timeout, const SnapshotMetadata & snapshot_metadata)
|
การอ่านสแนปชอตจากดิสก์พร้อมกันและคัดลอกลงในหน่วยความจำ
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback)
|
void
แก้ไขข้อขัดแย้งแบบไม่พร้อมกันโดยใช้ข้อมูลจากสแนปชอตที่ระบุ
|
ResolveConflict(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback)
|
void
แก้ไขข้อขัดแย้งแบบไม่พร้อมกันโดยใช้ข้อมูลที่ให้ไว้
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลจากสแนปชอตที่ระบุ
|
ResolveConflictBlocking(const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลที่ให้ไว้
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata)
|
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลจากสแนปชอตที่ระบุ
|
ResolveConflictBlocking(Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents)
|
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลที่ให้ไว้
|
ShowSelectUIOperation(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback)
|
void
แสดง UI สแนปชอตแบบไม่พร้อมกันเพื่อให้โปรแกรมเล่นเลือกสแนปชอตหรือขอสแนปชอตใหม่
|
ShowSelectUIOperationBlocking(Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
กำลังบล็อกเวอร์ชัน ShowSelectUIOperation
|
ShowSelectUIOperationBlocking(bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title)
|
ShowSelectUIOperationBlocking มากเกินไป ซึ่งใช้ระยะหมดเวลาเริ่มต้น 10 ปี
|
โครงสร้าง |
|
---|---|
gpg:: |
เก็บข้อมูลสำหรับสแนปชอตที่อัปเดต พร้อมกับสถานะการตอบกลับ |
gpg:: |
เก็บข้อมูลทั้งหมดสำหรับสแนปชอตทั้งหมด รวมถึงสถานะการตอบกลับ |
gpg:: |
คงขนาดสูงสุดสำหรับข้อมูลภาพรวมและสำหรับภาพหน้าปกของสแนปชอต |
gpg:: |
เก็บข้อมูลสำหรับสแนปชอตที่ขอหนึ่งๆ พร้อมกับสถานะการตอบกลับ |
gpg:: |
อ่านสถานะการตอบกลับและข้อมูลสแนปชอตที่ได้จากการดำเนินการอ่านสแนปชอต |
gpg:: |
|
ประเภทสาธารณะ
CommitCallback
std::function< void(const CommitResponse &)> CommitCallback
กำหนดประเภท Callback ที่ได้รับ CommitResponse
ประเภทการติดต่อกลับนี้ใช้ได้กับฟังก์ชัน Commit(*)
และ ResolveConflict(*)
ด้านล่าง
FetchAllCallback
std::function< void(const FetchAllResponse &)> FetchAllCallback
กำหนดประเภท Callback ที่ได้รับ FetchAllResponse
ประเภท Callback นี้ใช้ได้กับฟังก์ชัน FetchAll(*)
ด้านล่าง
MaxSizeCallback
std::function< void(const MaxSizeResponse &)> MaxSizeCallback
กำหนดประเภท Callback ที่ได้รับ MaxSizeResponse
ประเภท Callback นี้มีไว้สำหรับ GetMaxSize
OpenCallback
std::function< void(const OpenResponse &)> OpenCallback
กำหนดประเภท Callback ที่ได้รับ OpenResponse
ประเภท Callback นี้ใช้ได้กับฟังก์ชัน Open(*)
ด้านล่าง
ReadCallback
std::function< void(const ReadResponse &)> ReadCallback
กำหนดประเภท Callback ที่ได้รับ ReadResponse
ประเภท Callback นี้ใช้ได้กับฟังก์ชัน Read(*)
ด้านล่าง
SnapshotSelectUICallback
std::function< void(const SnapshotSelectUIResponse &)> SnapshotSelectUICallback
กำหนด Callback ที่สามารถรับ SnapshotSelectUIResponse
จาก ShowSelectUIOperation
ฟังก์ชันสาธารณะ
คอมมิต
void Commit( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > data, CommitCallback callback )
ซิงค์ข้อมูลที่ให้ไว้กับสแนปชอตแบบไม่พร้อมกัน และอัปเดตข้อมูลเมตาของสแนปชอตโดยใช้ออบเจ็กต์ข้อมูลเมตาที่มีให้
โทรหา CommitCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น
CommitBlocking
CommitResponse CommitBlocking( const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
คอมมิตข้อมูลที่ให้ไว้กับสแนปชอตแบบพร้อมกัน และอัปเดตข้อมูลเมตาของสแนปชอตโดยใช้ออบเจ็กต์ข้อมูลเมตาที่มีให้
CommitBlocking
CommitResponse CommitBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
คอมมิตข้อมูลที่ให้ไว้กับสแนปชอตและอัปเดตข้อมูลเมตาของสแนปชอตโดยใช้ออบเจ็กต์ข้อมูลเมตาที่มีให้
ระบุ timeout
เป็นมิลลิวินาที
ลบ
void Delete( const SnapshotMetadata & snapshot_metadata )
ลบสแนปชอตที่ระบุ
การดำเนินการนี้จะลบข้อมูลของสแนปชอตในเครื่องและในเซิร์ฟเวอร์
FetchAll
void FetchAll( FetchAllCallback callback )
โหลดข้อมูลสแนปชอตทั้งหมดแบบไม่พร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้ในปัจจุบัน
โทรหา FetchAllCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น การไม่ระบุ data_source
จะทำให้การเรียกใช้ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ FetchAll(DataSource data_source, FetchAllCallback callback)
ซึ่งมีการระบุ data_source
เป็น CACHE_OR_NETWORK.
FetchAll
void FetchAll( DataSource data_source, FetchAllCallback callback )
โหลดข้อมูลสแนปชอตทั้งหมดแบบไม่พร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้ในปัจจุบัน
โทรหา FetchAllCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น ระบุ data_source
เป็น CACHE_OR_NETWORK
หรือ NETWORK_ONLY
FetchAllBlocking
FetchAllResponse FetchAllBlocking()
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล FetchAllResponse
โดยตรง
การระบุทั้ง data_source
และ timeout
จะทำให้การเรียกใช้ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
โดยที่ data_source
ระบุเป็น CACHE_OR_NETWORK
และ timeout
ระบุเป็น 10 ปี
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source )
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล FetchAllResponse
โดยตรง
ระบุ data_source
เป็น CACHE_OR_NETWORK
หรือ NETWORK_ONLY
การไม่ระบุ timeout
จะทำให้การเรียกใช้ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ FetchAllBlocking FetchAllResponse(DataSource data_source,
Timeout timeout)
ซึ่งมีค่า data_source
ที่คุณระบุ และ timeout
ระบุเป็น 10 ปี
FetchAllBlocking
FetchAllResponse FetchAllBlocking( Timeout timeout )
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล FetchAllResponse
โดยตรง
ระบุ timeout
เป็นมิลลิวินาที การไม่ระบุ data_source
จะทำให้การเรียกใช้ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ FetchAllResponse FetchAllBlocking(DataSource data_source,
Timeout timeout)
โดยมีการระบุ data_source
เป็น CACHE_OR_NETWORK
และ timeout
มีค่าที่ระบุ
FetchAllBlocking
FetchAllResponse FetchAllBlocking( DataSource data_source, Timeout timeout )
การโหลดข้อมูลสแนปชอตทั้งหมดแบบพร้อมกันสำหรับโปรแกรมเล่นที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และแสดงผล FetchAllResponse
โดยตรง
ระบุ data_source
เป็น CACHE_OR_NETWORK
หรือ NETWORK_ONLY
ระบุ timeout
เป็นมิลลิวินาที
GetMaxSize
void GetMaxSize( MaxSizeCallback callback ) const
แบบไม่พร้อมกันจะได้รับขนาดข้อมูลสูงสุดและขนาดภาพหน้าปกสูงสุดต่อสแนปชอตในหน่วยไบต์
โทรหา MaxSizeCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น
ขนาดข้อมูลสูงสุดต่อสแนปชอตที่รับประกันว่ามีขนาดอย่างน้อย 3 MB อาจเพิ่มขึ้นในอนาคต
ขนาดสูงสุดต่อภาพหน้าปกสแนปชอตต้องมีขนาดอย่างน้อย 800 KB อาจเพิ่มขึ้นในอนาคต
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking() const
รับข้อมูลขนาดภาพสูงสุดและขนาดภาพหน้าปกสูงสุดต่อสแนปชอตในหน่วยไบต์แบบพร้อมกัน โดยจะแสดงผล MaxSizeResponse
โดยตรง
ขนาดข้อมูลสูงสุดต่อสแนปชอตที่รับประกันว่ามีขนาดอย่างน้อย 3 MB อาจเพิ่มขึ้นในอนาคต
ขนาดสูงสุดต่อภาพหน้าปกสแนปชอตต้องมีขนาดอย่างน้อย 800 KB อาจเพิ่มขึ้นในอนาคต
GetMaxSizeBlocking
MaxSizeResponse GetMaxSizeBlocking( Timeout timeout ) const
รับข้อมูลขนาดภาพสูงสุดและขนาดภาพหน้าปกสูงสุดต่อสแนปชอตในหน่วยไบต์แบบพร้อมกัน โดยจะแสดงผล MaxSizeResponse
โดยตรง
ขนาดข้อมูลสูงสุดต่อสแนปชอตที่รับประกันว่ามีขนาดอย่างน้อย 3 MB อาจเพิ่มขึ้นในอนาคต
ขนาดสูงสุดต่อภาพหน้าปกสแนปชอตต้องมีขนาดอย่างน้อย 800 KB อาจเพิ่มขึ้นในอนาคต
ระบุ timeout
เป็นมิลลิวินาที
เปิด
void Open( const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
แบบไม่พร้อมกันจะเปิดสแนปชอตที่มีชื่อตัวนั้น
ระบบจะสร้างสแนปชอตที่ระบุหากยังไม่มี โทรหา OpenCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น
ชื่อสแนปชอตต้องมีความยาวระหว่าง 1 ถึง 100 อักขระที่ไม่ได้สงวน URL ไว้ (a-z, A-Z, 0-9 หรือสัญลักษณ์ "-", ".", "_" หรือ "~")
การขัดแย้งอาจเกิดขึ้นหากอุปกรณ์อื่นบันทึกสแนปชอตระหว่างการโหลดและคอมมิตสแนปชอตในอุปกรณ์ปัจจุบัน คุณต้องแก้ไขความขัดแย้งเหล่านี้ ดูรายละเอียดเพิ่มเติมเกี่ยวกับข้อขัดแย้งได้ที่ OpenResponse ด้านบน
conflict_policy
อาจเป็นค่าใดค่าหนึ่งต่อไปนี้
SnapshotConflictPolicy::MANUAL
- ในกรณีที่มีความขัดแย้ง การตอบกลับจะมีสถานะ OpenResponse::VALID_WITH_CONFLICT
คุณต้องแก้ไขความขัดแย้งโดยใช้ SnapshotManager::ResolveConflict
อาจเห็นข้อขัดแย้งหลายรายการในแถวเดียวกัน ดังนั้นโปรดตรวจสอบทุกครั้งที่คุณโทรหา Open
คุณจะเห็นข้อขัดแย้งนี้เป็นเพียงนโยบายเดียว ความละเอียดของแฮนเดิลที่เหลือสำหรับคุณ นโยบายนี้ช่วยให้แน่ใจว่าการเปลี่ยนแปลงสถานะของเกมที่บันทึกไว้ของผู้ใช้จะไม่สูญหายไป
SnapshotConflictPolicy::LONGEST_PLAYTIME
- ในกรณีที่มีข้อขัดแย้ง ระบบจะใช้สแนปชอตที่มีค่าเวลาเล่นมากที่สุด นโยบายนี้เป็นตัวเลือกที่ดีหากระยะเวลาการเล่นเหมาะสมพอสมควรสำหรับรายการที่ "ดีที่สุด" บันทึกเกม โปรดทราบว่าคุณต้องใช้ SnapshotMetadataChange::Builder::SetPlayedTime()
ขณะบันทึกเกมเพื่อให้นโยบายนี้มีความหมาย
SnapshotConflictPolicy::LAST_KNOWN_GOOD
- ในกรณีที่มีความขัดแย้ง ระบบจะใช้สแนปชอตพื้นฐาน นโยบายนี้เป็นทางเลือกที่สมเหตุสมผลหากเกมของคุณต้องการความเสถียรจากข้อมูลภาพรวม นโยบายนี้ทำให้แน่ใจว่าโปรแกรมเล่นจะเห็นเฉพาะการเขียนที่ไม่มีการโต้แย้งเท่านั้น ซึ่งเป็นการรับประกันว่าไคลเอ็นต์ทั้งหมดจะต้องมาบรรจบกัน หมายเหตุ: ก่อนหน้านี้ SnapshotManager::BASE_WINS
SnapshotConflictPolicy::MOST_RECENTLY_MODIFIED
- ในกรณีที่ขัดแย้งกัน ระบบจะใช้รีโมต นโยบายนี้เป็นทางเลือกที่สมเหตุสมผลหากเกมของคุณสามารถยอมให้ผู้เล่นเปลี่ยนแปลงการเปลี่ยนแปลงของตนในอุปกรณ์หลายเครื่องได้ เนื่องจากนโยบายนี้จะเลือกข้อมูลล่าสุดแบบสุ่ม การเปลี่ยนแปลงของโปรแกรมเล่นอาจสูญหายได้ หมายเหตุ: ก่อนหน้านี้ SnapshotManager::REMOTE_WINS
SnapshotConflictPolicy::HIGHEST_PROGRESS
ในกรณีที่มีข้อขัดแย้ง ระบบจะใช้สแนปชอตที่มีค่าความคืบหน้าสูงสุด ในกรณีที่เสมอกัน ระบบจะเลือกสแนปชอตที่ดีล่าสุดแทน นโยบายนี้เป็นตัวเลือกที่ดีหากเกมใช้ค่าความคืบหน้าของภาพรวมเพื่อกำหนดเกมที่บันทึกไว้ที่ดีที่สุด โปรดทราบว่าคุณต้องใช้ SnapshotMetadataChange::Builder::SetPlayedTime()
ขณะบันทึกเกมเพื่อให้นโยบายนี้มีความหมาย
เปิด
void Open( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy, OpenCallback callback )
แบบไม่พร้อมกันจะเปิดสแนปชอตที่มีชื่อตัวนั้น
เลิกใช้งานแล้ว
ระบบจะไม่สนใจ data_source
โปรดใช้ Open(file_name, conflict_policy, callback)
แทน
OpenBlocking
OpenResponse OpenBlocking( const std::string & file_name, SnapshotConflictPolicy conflict_policy )
เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส
ระบบจะสร้างสแนปชอตที่ระบุหากยังไม่มี
ดูรายละเอียดเพิ่มเติมได้ที่เปิด
OpenBlocking
OpenResponse OpenBlocking( Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส
ระบบจะสร้างสแนปชอตที่ระบุหากยังไม่มี
ระบุ timeout
เป็นมิลลิวินาที
ดูรายละเอียดเพิ่มเติมได้ที่เปิด
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส
เลิกใช้งานแล้ว
ระบบจะไม่สนใจ data_source
โปรดใช้ OpenBlocking(file_name, conflict_policy)
แทน
OpenBlocking
OpenResponse OpenBlocking( DataSource data_source, Timeout timeout, const std::string & file_name, SnapshotConflictPolicy conflict_policy )
เปิดสแนปชอตชื่อดังกล่าวแบบซิงโครนัส
เลิกใช้งานแล้ว
ระบบจะไม่สนใจ data_source
โปรดใช้ OpenBlocking(timeout, file_name, conflict_policy)
แทน
อ่าน
void Read( const SnapshotMetadata & snapshot_metadata, ReadCallback callback )
ไม่พร้อมกันจะอ่านสแนปชอตจากดิสก์และคัดลอกไปยังหน่วยความจำ
ระบบจะส่งข้อมูลกลับมาตามค่าเพื่อให้แก้ไขได้ง่ายขึ้น การเรียกฟังก์ชันนี้แต่ละครั้งจะแสดงผลการอ่านแบบเต็ม ซึ่งหมายความว่าคุณควรอ่านภาพรวมเพียงครั้งเดียวเท่านั้น โทรหา ReadCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น
ReadBlocking
ReadResponse ReadBlocking( const SnapshotMetadata & snapshot_metadata )
แบบซิงโครนัสอ่านสแนปชอตจากดิสก์และคัดลอกลงในหน่วยความจำ
ระบบจะส่งข้อมูลกลับมาตามค่าเพื่อให้แก้ไขได้ง่ายขึ้น การเรียกฟังก์ชันนี้แต่ละครั้งจะแสดงผลการอ่านแบบเต็ม ซึ่งหมายความว่าคุณควรอ่านภาพรวมเพียงครั้งเดียวเท่านั้น การไม่ระบุ timeout
จะทำให้การเรียกใช้ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ ReadBlocking ReadBlocking(Timeout timeout,
const SnapshotMetadata& snapshot_metadata)
ซึ่งมีการระบุ timeout
เป็น 10 ปี
ReadBlocking
ReadResponse ReadBlocking( Timeout timeout, const SnapshotMetadata & snapshot_metadata )
การอ่านสแนปชอตจากดิสก์พร้อมกันและคัดลอกลงในหน่วยความจำ
ระบบจะส่งข้อมูลกลับมาตามค่าเพื่อให้แก้ไขได้ง่ายขึ้น การเรียกใช้แต่ละครั้งจะดำเนินการอ่านอย่างเต็มรูปแบบ ดังนั้นโดยทั่วไปจึงอ่านภาพรวมเพียงครั้งเดียว ระบุ timeout
เป็นมิลลิวินาที
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, OpenCallback callback )
แก้ไขข้อขัดแย้งแบบไม่พร้อมกันโดยใช้ข้อมูลจากสแนปชอตที่ระบุ
การดำเนินการนี้จะแทนที่ข้อมูลในเซิร์ฟเวอร์ด้วยสแนปชอตที่ระบุ โปรดทราบว่าการดำเนินการนี้อาจทำให้เกิดความขัดแย้งได้ ซึ่งจะต้องแก้ปัญหาเคสซ้ำ
การเรียกใช้วิธีนี้ที่มีสแนปชอตที่คอมมิตแล้วหรือที่ไม่ได้เปิดผ่าน Open จะล้มเหลวโดยมีสถานะ BaseStatus::ERROR_INTERNAL
โทรหา OpenCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น
ResolveConflict
void ResolveConflict( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents, OpenCallback callback )
แก้ไขข้อขัดแย้งแบบไม่พร้อมกันโดยใช้ข้อมูลที่ให้ไว้
การดำเนินการนี้จะแทนที่ข้อมูลในเซิร์ฟเวอร์ด้วยการเปลี่ยนแปลงข้อมูลเมตาที่ระบุและ contents
โปรดทราบว่าการดำเนินการนี้อาจทำให้เกิดความขัดแย้งได้ ซึ่งจะต้องแก้ปัญหาเคสซ้ำ
ค่าที่ไม่ได้อยู่ในการเปลี่ยนแปลงข้อมูลเมตาจะได้รับการแก้ไขให้เป็นเวอร์ชันปัจจุบันในเซิร์ฟเวอร์
โปรดทราบว่าขนาดรวมของ contents
ต้องไม่เกิน maxDataSize
ที่ GetMaxSize ระบุไว้
การเรียกใช้วิธีนี้ที่มีสแนปชอตที่คอมมิตแล้วหรือที่ไม่ได้เปิดผ่าน Open จะล้มเหลวโดยมีสถานะ BaseStatus::ERROR_INTERNAL
โทรหา OpenCallback
ที่ระบุไว้เมื่อการดำเนินการเสร็จสิ้น
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลจากสแนปชอตที่ระบุ
การดำเนินการนี้จะแทนที่ข้อมูลในเซิร์ฟเวอร์ด้วยสแนปชอตที่ระบุ โปรดทราบว่าการดำเนินการนี้อาจทำให้เกิดความขัดแย้งได้ ซึ่งจะต้องแก้ปัญหาเคสซ้ำ
การเรียกใช้วิธีนี้ที่มีสแนปชอตที่คอมมิตแล้วหรือที่ไม่ได้เปิดผ่าน Open จะล้มเหลวโดยมีสถานะ BaseStatus::ERROR_INTERNAL
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลที่ให้ไว้
การดำเนินการนี้จะแทนที่ข้อมูลในเซิร์ฟเวอร์ด้วยการเปลี่ยนแปลงข้อมูลเมตาที่ระบุและ contents
โปรดทราบว่าการดำเนินการนี้อาจทำให้เกิดความขัดแย้งได้ ซึ่งจะต้องแก้ปัญหาเคสซ้ำ
ค่าที่ไม่ได้อยู่ในการเปลี่ยนแปลงข้อมูลเมตาจะได้รับการแก้ไขให้เป็นเวอร์ชันปัจจุบันในเซิร์ฟเวอร์
โปรดทราบว่าขนาดรวมของ contents
ต้องไม่เกิน maxDataSize
ที่ GetMaxSize ระบุไว้
การเรียกใช้วิธีนี้ที่มีสแนปชอตที่คอมมิตแล้วหรือที่ไม่ได้เปิดผ่าน Open จะล้มเหลวโดยมีสถานะ BaseStatus::ERROR_INTERNAL
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata )
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลจากสแนปชอตที่ระบุ
การดำเนินการนี้จะแทนที่ข้อมูลในเซิร์ฟเวอร์ด้วยสแนปชอตที่ระบุ โปรดทราบว่าการดำเนินการนี้อาจทำให้เกิดความขัดแย้งได้ ซึ่งจะต้องแก้ปัญหากรณีซ้ำ
การเรียกใช้วิธีนี้ที่มีสแนปชอตที่คอมมิตแล้วหรือที่ไม่ได้เปิดผ่าน Open จะล้มเหลวโดยมีสถานะ BaseStatus::ERROR_INTERNAL
ระบุ timeout
เป็นมิลลิวินาที
ResolveConflictBlocking
OpenResponse ResolveConflictBlocking( Timeout timeout, const std::string & conflict_id, const SnapshotMetadata & snapshot_metadata, const SnapshotMetadataChange & metadata_change, std::vector< uint8_t > contents )
แก้ไขข้อขัดแย้งแบบพร้อมกันโดยใช้ข้อมูลที่ให้ไว้
การดำเนินการนี้จะแทนที่ข้อมูลในเซิร์ฟเวอร์ด้วยการเปลี่ยนแปลงข้อมูลเมตาที่ระบุและ contents
โปรดทราบว่าการดำเนินการนี้อาจทำให้เกิดความขัดแย้งได้ ซึ่งจะต้องแก้ปัญหาเคสซ้ำ
ค่าที่ไม่ได้อยู่ในการเปลี่ยนแปลงข้อมูลเมตาจะได้รับการแก้ไขให้เป็นเวอร์ชันปัจจุบันในเซิร์ฟเวอร์
โปรดทราบว่าขนาดรวมของ contents
ต้องไม่เกิน maxDataSize
ที่ GetMaxSize ระบุไว้
การเรียกใช้วิธีนี้ที่มีสแนปชอตที่คอมมิตแล้วหรือที่ไม่ได้เปิดผ่าน Open จะล้มเหลวโดยมีสถานะ BaseStatus::ERROR_INTERNAL
ระบุ timeout
เป็นมิลลิวินาที
ShowSelectUIOperation
void ShowSelectUIOperation( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title, SnapshotSelectUICallback callback )
แสดง UI สแนปชอตแบบไม่พร้อมกันเพื่อให้โปรแกรมเล่นเลือกสแนปชอตหรือขอสแนปชอตใหม่
เมื่อเสร็จสมบูรณ์แล้ว สแนปชอตที่เลือกหรือคำขอสแนปชอตใหม่จะแสดงผลผ่าน SnapshotSelectUICallback
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( Timeout timeout, bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
กำลังบล็อกเวอร์ชัน ShowSelectUIOperation
อนุญาตให้ผู้โทรระบุการหมดเวลาเป็นมิลลิวินาที หลังจากพ้นเวลาที่ระบุ ฟังก์ชันจะแสดงผล ERROR_TIMEOUT
ShowSelectUIOperationBlocking
SnapshotSelectUIResponse ShowSelectUIOperationBlocking( bool allow_create, bool allow_delete, uint32_t max_snapshots, const std::string & title )
ShowSelectUIOperationBlocking มากเกินไป ซึ่งใช้ระยะหมดเวลาเริ่มต้น 10 ปี