如何在小游戏制作工具中使用云数据库持久保存用户的数据

简介: 前言这可能是你能从网上找到的唯一一篇在微信小游戏制作工具中使用云数据库的教程了。通过这篇教程你将能学会如何在小游戏制作工具中使用云数据库添加,更新和查询玩家的数据。使用云数据库保存玩家数据的好处是,当你每次更新小游戏时,玩家都能够获取到之前保存的游戏数据,继续进行游戏。

上一节我们讲了如何在小游戏制作工具中使用云函数,这一节我们继续拓展一下,通过使用云函数调用数据库来实现玩家数据的持久存储。


一个游戏中包含各种类型的数据,有些数据不需要持久存储,如玩家的偏好设置,选择的背景音乐,主题等等,这些数据我们可以通过使用缓存插件来将数据存储在本地(有关缓存插件的使用方法,可以参考这篇文章),但是有些数据就需要持久存储,例如玩家的获得的最高分,以及玩家闯过的关卡等。


对于微信小游戏来讲,缓存在本地的数据会在游戏更新时被清除掉,如果每次更新游戏,玩家之前的游戏数据都被抹除,都需要重新玩的话,体验非常的不好。


所以今天我们就来讲一下云开发中的数据库的使用,通过使用云数据我们可以持久的存储玩家的数据,这样每次游戏更新时,玩家都可以从云数据库中获取到自己的游戏数据,继续进行游戏了。


本教程的学习前提需要你已经了解如何在小游戏制作工具中使用云函数,如果不了解的话请移步这里学习。


首先,我们登陆云开发的后台,选择数据库新建一个集合,命名为playerdata,用于存储玩家的数据。

image.png

接下来我们需要了解几个重要的概念,一个是集合,一个是集合中的数据 id,可以把集合想象成一个大筐子,你可以往这个筐子里装任何的东西,对于装进去的每一样东西我们都需要给它打一个标识,并把这个标识记录下来,便于之后的查找。当你想要在这筐子里找到某一件东西时,最好的方式就是先知道这个东西的标识,然后去看一下在记录中有没有这个标识,如果有的话那么这个东西就一定在筐子里,你也就一定能够通过标识找到它。


数据id就是标识,这个标识最好是唯一的,即通过一个标识只能找到唯一的一样东西(数据)。如果每一位玩家都有一个唯一的标识的话,我们就可以通过这个唯一的标识来添加或者查找这位玩家的数据了。


这个唯一的标识,微信已经为我们提供了,叫做OpenlD(用户唯一标识),对于微信小游戏来讲,每一位玩家都会有一个唯一的 OpenlD,只要我们获取到OpenlD,就可以通过它来记录或者查找玩家的数据了。

说一下具体的实现思路:首先我们在微信小游戏制作工具中使用微信登陆积木获取到登陆凭证,接着将登陆凭证传递给要调用的云函数,在云函数中对登陆凭证进行校验,获得唯一的标识 openid,最后再将openid回传到小游戏制作工具中。

image.png

接下来我们就实现一下这个完整的过程。


首先,在小游戏制作工具中布置一个测试场景,用于显示各种操作的返回结果。

image.png

接着在“获取唯一标识”的文本上增加如下的积木块

image.png

使用“微信登陆”积木块获得登陆凭证,然后将登陆凭证作为参数传递给云函数,如果云调用成功返回了,那么就将用户的唯一标识openid缓存在本地。这样只要本地有缓存的openid,就不需要每次都去调用云函数获取了。


接下来,我们看一下云函数的实现。新建一个云函数,命名为"login"

image.png

相关文章
|
10月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
10月前
|
数据可视化 BI API
无缝对接云数据库:自定义报表生成工具在混合云环境下的部署指南
自定义报表生成工具通过拖拽设计、多数据源整合及自动化输出,帮助业务人员零代码创建个性化报表,解决传统工具灵活性不足、技术门槛高的问题。文章对比其与传统报表差异,列举行业应用场景(如财务、零售),并给出选型建议与主流工具(如FineReport、Power BI、板栗看板)的优劣势分析。
361 0
|
8月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
9月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
8月前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
219 11
|
8月前
|
人工智能 数据库 iOS开发
DBeaver Ultimate Edtion 25.2 发布 - 通用数据库工具
DBeaver Ultimate Edtion 25.2 Multilingual (macOS, Linux, Windows) - 通用数据库工具
782 0
|
9月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
912 0
|
10月前
|
SQL 存储 数据库
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
1424 0
|
11月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。

热门文章

最新文章