困惑:在多人游戏中使用用户数据的最佳方式是什么?

时间:2015-10-21 10:58:35

标签: android

我一直在研究如何制作多人游戏,而我却在努力了解如何做到这一点。我知道谷歌在建立客户端ID和链接到谷歌播放控制台方面有很好的建议但是我看不到关于如何将手机中的数据链接到(我不确定)谷歌服务器的建议?到目前为止,我已使用共享首选项保存所有数据。这是一个坏主意吗?我应该使用sql吗?你怎么转移。我应该拥有自己的服务器还是可以使用Google Play?这个想法是我的角色的统计数据与对手相比,更好的统计数据获胜。

请帮忙。谢谢

1 个答案:

答案 0 :(得分:1)

您需要一个API才能执行此操作。您不想使用SharedPreferences,因为如果用户重新安装该应用程序,则会删除这些内容。

我建议使用Parse,因为它是免费的,直到你获得一个庞大的用户群并且它非常容易使用。

https://www.parse.com/

请参阅此处的教程:

https://parse.com/docs/android/guide

简单的登录教程可以帮助您入门,您可以对其进行整合,以便每位用户都拥有一个帐户,如果他们更换手机或重新安装您的应用,他们的数据仍会存在。

http://www.androidbegin.com/tutorial/android-parse-com-simple-login-and-signup-tutorial/

抓取您在Parse API中使用的Google帐户电子邮件地址:

public void selectUser() {
    Intent googlePicker = AccountPicker.newChooseAccountIntent(null, null,
    new String[]{GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE}, true, null, null, null, null);
    startActivityForResult(googlePicker, PICK_ACCOUNT_REQUEST);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PICK_ACCOUNT_REQUEST) {
        if (resultCode == getActivity().RESULT_OK) {
            String selectedEmailAccount = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
            emailSelected(selectedEmailAccount); // do something with the users email address in this method

        } else if (resultCode == getActivity().RESULT_CANCELED) {
            // user cancelled request
        }
    }
}