Unity:如何在移动设备上保持登录状态

3
我对Unity还比较陌生。目前我正在为iOS和Android开发自己的第一个游戏。现在需要让用户注册并登录,我将存储他们的数据到mysql数据库中,这一部分已经实现了。但是,我在移动应用程序方面缺乏一些基本知识。
如果用户注册并登录后关闭应用程序,我该如何处理他的会话?在像Clash of Clans这样的游戏中,您只需要注册一次,并且即使您删除并重新下载应用程序,您也会永久保持登录状态。
Unity如何处理移动应用程序中的这种情况呢?在PHP中,我可以使用会话和/或Cookie来实现。但正如我所说,我对移动游戏如何处理此类问题缺乏一些基本知识。
基本上,我想知道如何通过玩家的ID进行区分,并让他们使用手机注册一次并永久保持登陆状态(至少在未退出登录之前)。我该如何创建这些会话?
非常感谢您的帮助!
祝您拥有愉快的一天!
2个回答

1
在iOS和Android系统中,当你按下Home键时,在Android系统中,当你按下圆形按钮时,它会触发。
 void OnApplicationPause(bool pauseStatus) {
        paused = pauseStatus;
        //do your sign in and sign out work
    }

当你在游戏中运行该方法时,如果用户离开一段时间,通常会自动退出登录,因此你需要一个方法来检查你的服务是否已登录。
isSignedIn();

使用if语句,你可以在OnApplicationPause()方法中自动登录或退出登录。

对于安卓设备,如果用户按下返回按钮。

if(Input.GetKeyDown(KeyCode.Escape)){}

如果这样做,将会彻底结束您的应用程序,因此当他们重新打开应用程序时,它将从初始加载屏幕开始,然后您可以在签到过程中为他们进行静默身份验证,如果您正在使用iOS也是如此。
Application.Quit() 

int your game


你好!感谢您的回复。但是,“被登录服务”是什么意思呢?我的意思是,是的,我可以让用户输入他们的用户名和密码,并在我的msql服务器上进行检查,但我如何知道游戏内是否存在会话?在我的PHP脚本中创建会话/cookie并没有太多意义,对吧?此致敬礼 - user2669261
这完全取决于你,无论你打算如何使用你的登录。 - JRowan
在移动游戏中是如何完成的?你会怎么做呢?很抱歉,但我似乎错过了一些东西。 - user2669261
从我提供的信息中可以了解到我如何在应用程序中处理Google Play游戏服务,如果要从PHP创建自己的服务,我不知道该怎么做。我只是给你一个Unity方面的基本概述,很抱歉我无法帮助你处理PHP,因为我没有相关经验。 - JRowan
谢谢你!祝你有美好的一天。 - user2669261

-1
public class Remember : MonoBehaviour
{
    public Toggle tog;

    // Use this for initialization
    void Awake()
    {
        if (PlayerPrefs.HasKey("select"))
        {
            if (PlayerPrefs.GetInt("select") == 1)
            {
                tog.isOn = true;
            }
            else
            {
                tog.isOn = false;
            }

        }
    }

    // Update is called once per frame
    void Update()
    {
        if (tog.isOn == true)
        {

            PlayerPrefs.SetInt("select", 1);
        }
        else
        {

            PlayerPrefs.SetInt("select", 0);
        }

    }
}

它保存切换值,因此请使用playerperf将您的用户名和密码保持登录状态


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接