有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
注意
目前云游戏存档能力,仅支持端游方案。

基本使用

1. 对象存储控制台 新建一个 bucket,详情请参见 创建存储桶
2. 使用主账号把此 bucket 给腾讯云存档托管账号(大账号 ID: 100011897175 , AppId: 1300543852 )授权读写。详细操作说明请参见 设置访问权限
3. 通知腾讯云云游戏运营人员,为您的游戏内容配置存档。
4. 游戏配置好存档后,不再需要任何开发工作或人工干预,每次启动前都会下载存档,关闭游戏后也会自动上传存档,实现云存档功能。

获取存档记录

云游戏支持两种方式获取用户存档记录。

通过腾讯云云函数获取用户存档记录

云游戏存档上传到腾讯云对象存储后,都会触发一次云函数事件,客户可以实现自定义云函数来响应事件,以获取存档记录。 此方式需要另外购买腾讯云云函数产品,只能获取成功上传的通知。
上传和下载时存档在COS保存路径为:userData/${GameId}/${UserId}
每次上传完成后, 会在保存一个的备份存档,路径为:userData/${GameId}/${UserId}-${TimeStamp}-tx
参数
说明
UserId
CreateSession 时传的用户 ID
GameId
云游戏的游戏 ID
TimeStamp
Unix 时间戳,单位秒
说明
更多具体详情,请参见 COS触发器

通过腾讯云 CKafka 获取用户存档记录

云游戏服务下载或上传存档时,都会通过 CKafka 发送通知,客户可以从 CKafka 中读取存档实。 此方法需要另外购买 CKafka 实例,能够获取下载/上传成功或者失败的通知。
1. 购买 CKafka 实例,详细操作请参见 创建实例
2. 分配公网域名: 在 CKafka 实例详情里,选择 接入方式 模块中的 添加路由策略,新增一条公网路由。完成后就能得到一个公网访问域名。详细操作请参见 添加公网路由
3. 创建 Topic: 在实例详情页,单击页面顶部的 Topic 管理,单击 新建,新建一个用来收发消息的 Topic。更多详情请参见 创建 Topic
4. 创建用户,并给用户授权读写 Topic: 在实例详情页,选择 用户管理,单击 新建,添加一个用户,设置好用户名和密码。并且在 ACL 策略管理 页面,为用户添加 Topic 的读写权限。详细操作请参见 配置 ACL 策略。 结束上述步骤后,可将 CKafka 的实例名、域名、Topic、用户名、密码给云游戏运营人员做好配置。
5. 接收消息:
存档下载通知格式:
{
"Type":"DownloadArchive",
"AppId":123456,
"UserId":"user123",
"GameId":"game-cloudgame",
"RequestId":"95d11eb6-24df-47f4-a3dc-31c7007c83c1",
"Data":{
"ArchiveName":"userData/game-cloudgame/user123",
"Result":"Success", // 结果:Success、Fail
"Size":36335,
"Timestamp":1622100110
}
}
存档上传通知格式:
{
"Type":"UploadArchive",
"AppId":123456,
"UserId":"user123",
"GameId":"game-cloudgame",
"RequestId":"95d11eb6-24df-47f4-a3dc-31c7007c83c1",
"Data":{
"ArchiveName":"userData/game-cloudgame/user123",
"BackupName":"userData/game-cloudgame/user123-1622114014-tx
"Result":"Success", // 结果:Success、Fail、Skip
"Size":36335,
"Timestamp":1622114022
}
}
字段
说明
RequestId
触发存档操作的云 API RequstId
ArchiveName
存档在 COS 保存的名字
BackupName
存档上传时在 COS 中生成的备份
Size
存档大小
GameId
云游戏的游戏 ID
Result
上传结果,返回 Success、Fail 或 Skip。 Skip 只有在上传事件出现,表示本地没有存档文件可上传。
TimeStamp
Unix 时间戳,单位秒

通过 SDK 获取存档下载/上传的进度和结果

腾讯云云游戏SDK提供了存档相关事件通知,可以用来获取存档下载/上传进度和结果,具体见 JS SDK 文档Android SDK 文档

进阶用法

除默认的自动存档功能,为了让客户能更加灵活控制存档,腾讯云云游戏平台还提供了运行时切换存档,运行中主动保存存档等进阶功能。

运行时切换存档

通过 GameContext的ArchiveUrl 传递新存档下载链接即可。 示例
"GameContext":"{\\"ArchiveUrl\\":\\"https://gamearchive.cos.myqcloud.com/archive.zip\\"}"
详细说明请参见 切换游戏存档

运行时保存存档

详细说明请参见 保存游戏存档

常见问题

什么是可重连状态?

“可重连”状态表示在这台机器上,用户已断开连接,但游戏还在运行;如果该用户在一定时间内(默认120秒)请求相同的游戏,可以重新连接上这台机器,继续体验。


http://www.vxiaotou.com