我一直在研究使用LibGDX框架的游戏,现在我想用google play服务设置它来使用排行榜和设置一些成就等。
第一个问题:
要使用gamesclient库,是否需要请求令牌或某种登录到google?
第二个问题:
我已经使用调试键创建了我的客户机id,因此可以通过eclipse轻松地测试游戏。但我总是被拒绝连接(gamesclient.connect())。我通过它的生成器来构建gamesclient:
GamesClient.Builder gcb = new GamesClient.Builder(adView.getContext(), this, this);
gcb.setAccountName(accounts[0].name);
gcb.setViewForPopups(adView);
GamesClient gc = gcb.create();
稍后当它调用gc.connect()时,它只调用重写的onconnectionfailed();
我已经将元数据添加到我的android清单中,如下所示:
<application
....
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
....
app_id内容是我为游戏创建的客户端id中的大约12位数字(我也尝试过使用完整的id)。
所以我认为这不是问题所在。
更多信息:
Client ID screenshot
提前谢谢你的帮助!
最佳答案
准备就绪!最后,在一些没有结果的尝试之后,这里是方法(适用于libgdx用户)。
回答第一个问题:根本不需要获取请求,甚至不需要使用google提供的authutil类。
回答第二个问题:
请务必阅读一些关于gamesclient及其实现的教程。
步骤1:获取google提供的basegameutils库,here。
步骤2:在主活动上实现gamehelper.gamehelperListener,例如:
public class MainActivity extends AndroidApplication implements GameHelper.GameHelperListener
并声明一个将为您完成所有登录工作的gamehelper。(不要忘记调用它的构造函数和setup方法,更多信息请参见gamehelper类)。
步骤3:调用beginuserinitiatedsignin()(从gamehelper实例)启动登录流。
就是这样!
建议:按照A-Number游戏教程了解登录流程(自述文件中的说明)here。