This question already has an answer here:
PlayerPrefs not saving on Android
                                
                                    (1个答案)
                                
                        
                                2年前关闭。
            
                    
帮助,PlayerPrefs似乎不起作用,无法弄清原因。

我有一个简单的游戏,开头是:

void Start()
{

    if (PlayerPrefs.GetInt("IsReturningUser") == 1)
    {
        ScoreLabel.text = "Welcome back, friend!";
    }
    else
    {
        PlayerPrefs.SetInt("IsReturningUser", 1);
        ScoreLabel.text = "Welcome new player";
    }


从Unity Editor在Android设备上进行测试(在连接状态下构建并运行)时,它可以按预期工作-当我第二次返回应用程序时,它检测到我正在返回。

但是,当我将相同的代码发布到Google Play商店并从那里进行干净安装时,当我第二次返回应用时,它永远不会检测到我是老用户。

同样奇怪的是,尽管它在我的Android手机上不起作用,但是在我妻子从Play商店安装的手机上,当她第二次打开它时,它确实会检测为回头用户。

有任何想法吗?

Unity 5.3.6
我的手机-Redmi Note 3,Android 6.0.1 MIUI 8.2稳定
妻子电话-OnePlusX

最佳答案

我以前也有类似的问题。我通过在调用其他PlayerPrefs.Set *方法之后添加PlayerPrefs.Save()来解决。这会强制所有写入磁盘。

10-06 06:43