【第三方SDK接入汇总】免服务器做游戏Bmob云数据存储接入流程

本文介绍了如何在Unity游戏中接入Bmob云存储服务,无需服务器即可实现玩家数据存储。内容包括创建Bmob平台账号,创建Unity工程,编辑数据逻辑接口,如数据对象模型、数据增删改查等。示例代码展示了如何操作数据对象并查询、修改、删除数据,帮助开发者快速集成Bmob服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 一:创建第三方平台账号

​二:创建Unity工程 

 三:编辑常用数据逻辑接口

1.数据对象模型

2.添加表,添加用户数据

 3.查询数据

4.修改删除数据

5.其他用法


天地不仁 以万物为刍狗,大家好我是幻世界!今天介绍一个第三方的云数据库工具Bmob,这个工具主要用来存储玩家的账号数据和游戏数据,在弱联网的小游戏里面可以深度运用,维护成本极低。我们不用去部署一个完整的服务器及后端数据验证获取逻辑,只需要接入SDK运用构建好的api即可满足需求,来吧一起交流沟通吧。欢迎加入Unity业内qq交流群:956187480


 一:创建第三方平台账号

Bmob平台为您的移动应用提供了一个完整的后端解决方案,我们提供轻量级的SDK开发包,让开发者以最小的配置和最简单的方式使用Bmob平台提供的服务,进而完全消除开发者编写服务器代码以及维护服务器的操作。

创建账号,下载对应版平台的SDK,新建应用


二:创建Unity工程 

1.导入下载的sdk包
方式一:直接把bmob-unity-demo/Assets文件夹下的内容拖进unity工程即可,使用的是dll

方式二:直接把BmobSharp-master/core文件夹拖进unity即可,使用的是源码
https://github.com/bmob/BmobSharp

建议使用方式二可以了解源码逻辑,需要上传图片等信息的时候方式一有可能会出错。使用方式二的时候可能会提示BmobUnity
2.配置appID和key
把从平台上获取的新建应用的appid和key复制到BmobUnity脚本里面

 新建场景HSJ,新建object,HelloBmob并添加脚本HelloBmob

 三:编辑常用数据逻辑接口

HelloBmob脚本是官方写的示例我们可以参考使用。
每一个应用默认都有一个_User基础用户表,我们可以在此基础上增添删改用户,也可以新建其他类型的表,并通过增删改查等编辑目标表数据。BmobUser对象主要是针对应用中的用户功能而提供的,它对应着web端的User表,使用BmobUser对象可以很方便的在应用中实现用户的注册、登录、邮箱验证等功能,

1.数据对象模型

任何要操作的数据对象推荐继承自BmobTable类例如,游戏中可能会用到的分数对象GameScore,它可能包含score、playerName、cheatMode等属性,对应的数据对象模型的示例代码如下:

	public class BmobGameObject : BmobTable
	{
		public BmobInt score { get; set; }

		public String playerName { get; set; }

		public BmobBoolean cheatMode { get; set; }

		public override void readFields(BmobInput input)
		{
			base.readFields(input);

			this.score = input.getInt("score");
			this.cheatMode = input.getBoolean("cheatMode");
			this.playerName = input.getString("playerName");
		}

		public override void write(BmobOutput output, Boolean all)
		{
			base.write(output, all);

			output.Put("score", this.score);
			output.Put("cheatMode", this.cheatMode);
			output.Put("playerName", this.playerName);
		}
	}

2.添加表,添加用户数据

var data = new GameScore();
data.score = 25;
data.playerName = "幻世界";
data.cheatMode = false;

bmobUnity.Create(TABLENAME, data, (resp, exception) =>
{
	if(exception != null){
		print("保存失败, 失败原因为: " + exception.Message);
		return;
	}

	print("保存成功, @" + resp.createdAt);
});

 运行完以上代码后,数据即可保存到服务器端。为了确认数据是否真的已经保存成功,你可以在Bmob服务器端你应用程序的数据浏览项目中进行查看。你应该看到类似这样的结果:

objectId: "0c6db13c", score: 25, playerName: "bmob", cheatMode: false,createdAt:"2013-09-27 10:32:54", updatedAt:"2013-09-27 10:32:54"

这里需要注意几点:

  • 在运行以上代码时,如果服务器端你创建的应用程序中已经存在GameScore数据表和相应的score、playerName、cheatMode字段,那么你此时添加的数据和数据类型也应该和服务器端的表结构一致,否则将保存数据失败。
  • 如果服务器端不存在GameScore数据表,那么Bmob将根据你第一次(也就是运行的以上代码)保存的GameSocre对象在服务器为你创建此数据表并插入相应数据。
  • 每个BmobTable对象都有几个默认的键(数据列)是不需要开发者指定的,objectId是每个保存成功数据的唯一标识符。createdAt和updatedAt代表每个对象(每条数据)在服务器上创建和最后修改的时间。ACL是数据的操作权限,这个在没有指定的情况下为空。这些键(数据列)的创建和数据内容是由服务器端自主来完成的。

 3.查询数据

BmobUnity SDK提供了BmobQuery类,它提供了多样的方法来实现不同条件的查询,同时它的使用也是非常的简单和方便的。查看查询相关所有介绍

1.查询所有数据
2.查询单条数据
3.条件查询
4.分页查询
5.结果排序
6.统计对象数量
7.查询指定列

4.修改删除数据

更新一个对象也是非常简单。例如:将GameScore表中objectId为0c6db13c的游戏分数修改为77.

GameScore game = new GameScore();
game.score = 77;
bmobUnity.Update(TABLENAME, "68ee8131ca", game, (resp, exception) =>
{
    if (exception != null)
    {
        print("修改失败, 失败原因为: " + exception.Message);
        return;
    }

    print("修改成功, @" + resp.updatedAt);
 });

从服务器删除对象。例如:将GameScore表中objectId为68ee8131ca的数据删除。

bmobUnity.Delete("GameScore", "68ee8131ca", (resp, exception) =>
{
    if (exception != null)
    {
        print("删除失败, 失败原因为: " + exception.Message);
        return;
    }

    print("删除成功, @" + resp.msg);
});

5.其他用法


参考:

官网:https://www.bmob.cn/

官方文档: http://doc.bmob.cn/data/csharp/develop_doc/

GitHub文档:https://github.com/bmob/bmob-demo-csharp/wiki

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值