背景
我正在处理已在Google Play商店发布的android game
现在我计划添加Cloud Save功能作为更新
(仅供参考:我正在使用Unity和Play Games plugin)
问题
经过数小时的研究和实验,我目前仍然坚持如何自动保存游戏。
我的游戏是迷你游戏的集合,玩家可以继续玩,直到他的生命耗尽 我希望在玩家输掉时自动发生保存。
根据插件,这是我保存到云端的方式:
char* array = "String";
我需要2个函数int* array = 1;
的参数,第一个是元数据,第二个是数据本身。
我搜索的所有地方(即使在谷歌),我都找不到自动生成元数据的方法 根据我的研究,我可以从下面的函数中获取元数据:
public void SaveGame (ISavedGameMetadata game, byte[] savedData) {
/* code omitted */
savedGameClient.CommitUpdate(game, updatedMetadata, savedData, OnSavedGameWritten);
}
这样用户需要打开一个对话框,然后自己创建一个新的保存 这在我的游戏中不可能发生,因为我需要在每次玩家输掉时保存。
参考
我知道它应该是可能的,一个名为Get Bigger! Mola的游戏可以在每次玩家失败时保存进度,而无需打开保存对话框。
问题
谁能给我任何关于此的线索?
我花了整整一天的时间没有回答......
任何形式的帮助将不胜感激。
答案 0 :(得分:0)
我个人不熟悉您尝试保存统计信息的资产。 但是,我确实使用了我个人可以推荐的资产Stan's Native。
如果您想免费获得其他内容,可以使用以下链接Search Native
无论如何,你应该查看有关使用theie云的Google Tutorials,Android网站上有很多不涉及Unity的信息。 Android Developer
答案 1 :(得分:0)
如上所述here,你可以打开一个新的快照,而不必从列表中选择一个,只需指定文件名,如果它存在,它将使用它,否则它将创建一个新的。
这样的事情:
ISavedGameClient savedGameClient = PlayGamesPlatform.Instance.SavedGame;
savedGameClient.OpenWithAutomaticConflictResolution(filename, DataSource.ReadCacheOrNetwork,
ConflictResolutionStrategy.UseLongestPlaytime, delegate(SavedGameRequestStatus status, ISavedGameMetadata metadata) {
// your code here ....
});