1、官方文档
http://docs.bmob.cn/unity/faststart/index.html?menukey=fast_start&key=start_unity
2、官方文档2
https://docs.bmob.cn/data/CSharp/a_faststart/doc/index.html
3、类库
http://docs.bmob.cn/document/unity/index.html
步骤
1、注册bmob账号www.bmob.cn
2、后台创建应用,然后点击应用创建表
创建一张表,如表名MyTable
然后在表里创建字段列,如:
姓名:playername,分数:score
3、获取密钥Application ID和REST API key,下载SDK
SDK下载:
https://github.com/bmob/BmobSharp/releases
Demo下载:
https://github.com/bmob/bmob-demo-csharp/tree/master/examples/bmob-unity-demo
4、在Unity导入bmob
在你的项目Assets根目录下创建"libs"目录,将下载的BmobSDK(也就是Bmob-Unity.dll)文件放入该目录下
5、初始化BmobSDK
选中摄像机,把BmobUnity对象拖拽到摄像机上,然后在属性窗口中设置 ApplicationId 和 RestKey 。
6、创建表的对应模型类
创建一个脚本类,让它与你在bmob后台创建的表相对应,以理解为表的一个模型,该类需要继承自BmobTable,并实现字段的读写方法。(其实就是用来操作表的)
using UnityEngine;
using System.Collections;
using cn.bmob.io;
public class MyGameTable : BmobTable
{
//以下对应云端表的字段名称
public BmobInt score { get; set; }
public string playername { get; set; }
//读字段信息
public override void readFields(BmobInput input)
{
base.readFields(input);
this.score = input.getInt("score");
this.playername = input.getString("playername");
}
//写字段信息
public override void write(BmobOutput output, bool all)
{
base.write(output, all);
output.Put("score", this.score);
output.Put("playername", this.playername);
}
}
7、操作数据
这里只列举了插入数据,查询数据,更改数据的方法,其它方法参照官方文档
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using cn.bmob.api;
using cn.bmob.io;
using cn.bmob.tools;
using System.Net;
using cn.bmob.json;
using cn.bmob.response;
using cn.bmob.Extensions;
public class HelloBomb : MonoBehaviour {
private BmobUnity bmob;
void Start () {
//注册调试打印对象,这样才能用print方法
BmobDebug.Register(print);
//下面这句不知道什么意思,没有也可以
BmobDebug.level = BmobDebug.Level.TRACE;
//获取到组件
bmob = GetComponent<BmobUnity>();
}
void Update () {
if (Input.GetKeyDown(KeyCode.C))
{
Create();
}
if (Input.GetKeyDown(KeyCode.G))
{
Get();
}
}
//云端表的名字
string tableName = "MyGameTable";
//添加数据
void Create()
{
//创建数据对象
MyGameTable data = new MyGameTable();
//设置值
data.score = Random.Range(0, 100);
data.playername = "zhangsan";
//往表“MyGameTable”里添加一行数据data,
bmob.Create(tableName, data, (resp, exception) =>
{
if (exception != null)
{
//如果添加失败,输出错误原因
print("保存失败, 失败原因为: " + exception.Message);
return;
}
else
{
//如果添加成功,输出创建的是时间
print("保存成功, @" + resp.createdAt);
}
});
}
//获取数据
void Get()
{
bmob.Get<MyGameTable>(tableName, "6312fd1463", (resp, exception) =>
{
if (exception != null)
{
print("查询失败, 失败原因为: " + exception.Message);
return;
}
MyGameTable game = resp;
print("获取的对象为: " + game.ToString());
print(game.playername);
});
}
//更改数据
void ChangeTable()
{
MyGameTable game = new MyGameTable();
game.playername = "pn_123";
bmob.Update(tableName, "6312fd1463", game, (resp, exception) =>
{
if (exception != null)
{
print("保存失败, 失败原因为: " + exception.Message);
return;
}
print("保存成功, @" + resp.updatedAt);
});
}
}
备注:其它一些搭建服务器手段
1、大型服务器:用node.js+MySql搭建
2、轻量级服务器wamp,可以把自己电脑用作服务器,集成了各种服务器需要的环境,安装完成就可以使用,但是如果需要外网(不是局域网)访问,就需要用其它软件提供域名映射
3、如果是做Unity局域网对战用Unet,如果是做网络对战用Photon实时服务器
4、用作临时处理HTTP协议的简单数据处理,HttpListener
5、简单存储数据:redis和mongodb
6、简单的让外网访问自己的html,用iis或者tomcat搭建站点
7、Tomcat另外一种轻量级服务器
总之,Bmob可以说是一种非常简单服务器,基本上可以满足个人调试开发。也可以在网络搜索其它Baas服务产品。