Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity/C#-是否可以通过EnityFramework将Azure(云)数据库连接到Unity游戏?_C#_Mysql_Entity Framework_Azure_Unity3d - Fatal编程技术网

Unity/C#-是否可以通过EnityFramework将Azure(云)数据库连接到Unity游戏?

Unity/C#-是否可以通过EnityFramework将Azure(云)数据库连接到Unity游戏?,c#,mysql,entity-framework,azure,unity3d,C#,Mysql,Entity Framework,Azure,Unity3d,我有一个需要云数据库的Unity游戏。(您可以从游戏内部连接到数据库。) 它不需要任何疯狂的东西。大多数情况下,只需在表中读写简单的列,还可以进行简单的登录 这是否可以使用实体框架在Unity中实现 如果没有,是否有解决办法?(例如,改用MySQL) 请让我知道 谢谢, Benji以下是使用的解决方法。基本步骤是: 添加到项目中 在中创建Firebase项目 从Firebase控制台下载配置文件。Unity3D的文件可能是以下一个或两个文件:GoogleService-Info.plist(用

我有一个需要云数据库的Unity游戏。(您可以从游戏内部连接到数据库。)

它不需要任何疯狂的东西。大多数情况下,只需在表中读写简单的列,还可以进行简单的登录

这是否可以使用实体框架在Unity中实现

如果没有,是否有解决办法?(例如,改用MySQL)

请让我知道

谢谢,
Benji

以下是使用的解决方法。基本步骤是:

  • 添加到项目中
  • 在中创建Firebase项目
  • 从Firebase控制台下载配置文件。Unity3D的文件可能是以下一个或两个文件:GoogleService-Info.plist(用于iOS)、Google-services.json(用于Android)
然后,您可以使用以下简单代码段访问数据操作:

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set this before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://xyz.firebaseio.com/");
    // Get the root reference location of the database.
    DatabaseReference reference = FirebaseDatabase.DefaultInstance.RootReference;
  }
}
例如,数据的格式如下所示。

将数据写入数据库:

private void writeNewUser(string userId, string name, string email) {
    User user = new User(name, email);
    string json = JsonUtility.ToJson(user);

    reference.Child("users").Child(userId).SetRawJsonValueAsync(json);
}
读取数据:

reference.GetReference("users")
         .GetValueAsync().ContinueWith(task => {
             if (task.IsFaulted) {

             }
             else if (task.IsCompleted) {          
               // Do something with snapshot...
             }
  });
更酷的是Firebase支持用户身份验证(即登录)等,这对于Unity3D开发人员来说非常方便


关于如何将Unity3D与Firebase链接的教程是,尽管它没有使用Firebase数据库,但作为示例,Firebase消息传递可能会对您有所帮助。

以下是使用的解决方法。基本步骤是:

  • 添加到项目中
  • 在中创建Firebase项目
  • 从Firebase控制台下载配置文件。Unity3D的文件可能是以下一个或两个文件:GoogleService-Info.plist(用于iOS)、Google-services.json(用于Android)
然后,您可以使用以下简单代码段访问数据操作:

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set this before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://xyz.firebaseio.com/");
    // Get the root reference location of the database.
    DatabaseReference reference = FirebaseDatabase.DefaultInstance.RootReference;
  }
}
例如,数据的格式如下所示。

将数据写入数据库:

private void writeNewUser(string userId, string name, string email) {
    User user = new User(name, email);
    string json = JsonUtility.ToJson(user);

    reference.Child("users").Child(userId).SetRawJsonValueAsync(json);
}
读取数据:

reference.GetReference("users")
         .GetValueAsync().ContinueWith(task => {
             if (task.IsFaulted) {

             }
             else if (task.IsCompleted) {          
               // Do something with snapshot...
             }
  });
更酷的是Firebase支持用户身份验证(即登录)等,这对于Unity3D开发人员来说非常方便


关于如何将Unity3D与Firebase链接的教程是,尽管它没有使用Firebase数据库,但作为示例,Firebase消息传递可能会对您有所帮助。

Firebase developer here。谢谢你的插拔,大卫


您可以在此处找到更多文档,包括使用Firebase实时数据库和Unity的指南。谢谢你的插拔,大卫


您可以找到更多文档,包括使用Firebase实时数据库和Unity的指南

谢谢您的回答,是的,如果您需要实时/实时数据,Firebase是一个非常好的解决方案。(就像多人在线游戏中的玩家位置)

然而,如果你需要一个简单的东西,有一个更好的(免费)方法。(如保存玩家的高分并显示)

(至少这是我真正需要的,以下是我所做的)

步骤1)创建您的数据库(Azure或其他)

步骤2)创建网站/应用程序,托管它,然后连接数据库

步骤3)将API“端点”添加到应用程序中。(与数据库交互)

步骤4)使用Unity的“WWW”类与端点交互(生成RESTful get/post)

就这样!
对我来说,它就像一个符咒!(也很快!)

谢谢您的回答,是的,如果您需要实时/实时数据,Firebase是一个非常好的解决方案。(就像多人在线游戏中的玩家位置)

然而,如果你需要一个简单的东西,有一个更好的(免费)方法。(如保存玩家的高分并显示)

(至少这是我真正需要的,以下是我所做的)

步骤1)创建您的数据库(Azure或其他)

步骤2)创建网站/应用程序,托管它,然后连接数据库

步骤3)将API“端点”添加到应用程序中。(与数据库交互)

步骤4)使用Unity的“WWW”类与端点交互(生成RESTful get/post)

就这样!
对我来说,它就像一个符咒!(速度也相当快!)

您如何防止有人对您的应用程序进行反编译以获取应用程序的API凭据,例如您的应用程序机密?这样,他们就可以调用您的API并可能窃取数据。Firebase内置了一个安全模型,支持第三方身份验证的验证规则,允许您完全控制哪些用户可以访问您数据库的不同部分。您如何防止有人对您的应用进行反编译以获取应用的API凭据,例如您的应用机密?这样,他们就可以调用您的API并可能窃取数据。Firebase内置了一个安全模型,支持第三方身份验证的验证规则,让您完全控制哪些用户可以访问数据库的不同部分。