使用Unity登录webview的最佳方式

时间:2016-06-13 10:36:26

标签: php unity3d login webview game-engine

我希望这是这个问题的正确位置(我想是这样)。

我用php / html开发了一个浏览器游戏。它包含完整的用户界面和文本,数据库处理,身份验证,交互:它几乎包含所有内容,除了图形。我在Unity游戏引擎中创建了图形。

包括webview

我现在需要做的是在Unity中包含一个webview并在视觉效果之上显示它。我可以使用webview插件来做到这一点,但当然我需要在他能够看到游戏之前对用户进行身份验证。首次使用应用程序后,用户应登录Webview。但登录后他应该被记住。但我的问题是: 如何记住网页浏览中的登录信息?

问题

要记住用户的cookie /会话内容无效,因为webview会在关闭应用后删除Cookie。所以我的问题是:

  • 我是否应该使用oAuth /我应该向我的网络服务器询问令牌,将其存储在设备上,并将其添加到每个网址(使用https?)。然后在我的网站上,我检查令牌是否正常。
  • 我应该获取所有存储的Cookie并将其保存在设备本地吗?
  • 有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

  

我用php / html开发了一个浏览器游戏

如果这是真的那么坚持下去并且不要为Unity烦恼。如果你使用的是html,则不需要使用unity和webview。从Unity运行Unity html游戏效率不高。

通常情况下,如果这是一个网页游戏,您可以使用Unity制作完整的游戏,然后与php进行通信。您连接到服务器并使用php将图形从服务器发送到游戏。不应该涉及htmlwebview。您的游戏应使用C#进行编码。

  

如何记住网页浏览中的登录信息?

您需要开发自己的生成cookie的方法。以下解决方案要求您了解MySQL或任何其他数据库系统。

典型解决方案:在设备和服务器上保存Cookie。

1 。从用户界面使用InputField获取设备登录的电子邮件/用户名和密码。

2 。在Unity端获取设备Mac地址,序列号和型号。

3 。加密它们并在登录时发送到服务器。

4 。在服务器端,检查电子邮件/用户名和密码是否正确,然后使用这3个信息生成cookie。将cookie保存在服务器/数据库上,然后将cookie发送回设备。

5 。从服务器接收cookie并将其保存在PlayerPrefs的设备上。

6 。当向服务器发出请求时,加载已保存的cookie并将带有cookie的请求发送到服务器。如果cookie存在于服务器并且游戏应该继续,则服务器应该返回成功。否则,删除当前cookie并再次从步骤1开始登录过程。

您可以通过encryptingdecrypting从设备向服务器添加任何信息。