Articles of 谷歌玩游戏

Android API IsConnected退出后返回TRUE

我正在使用Xamarin开发使用Google Play游戏服务的Android游戏。 我正在使用Genymotion Android模拟器进行testing。 我遇到了一个似乎是Google Play或Xamarin实施中的bug的问题。 如果我退出Google帐户 ,那么对IGoogleApiClient.IsConnected()的调用将继续返回true (即使我已明确退出)。 如果我然后尝试使用该API对象,我会得到如下exception: java.lang.SecurityException:调用API时未login 例如,如果在注销后执行以下代码,则会导致上述exception: public void StartNewMatch() { if (!mGoogleApiClient.IsConnected) { return; } Intent intent = GamesClass.TurnBasedMultiplayer.GetSelectOpponentsIntent(mGoogleApiClient, 1, 1, true); StartActivityForResult(intent, RC_SELECT_PLAYERS); } 我正在退出Google Play游戏收件箱(匹配选取器); 如下图所示。 任何人都遇到过这个? 我错过了什么吗? 有任何变通? 注意:只有通过Google的用户界面退出才会发生这种情况。 如果我用mGoogleApiClient.Disconnect()这样的mGoogleApiClient.Disconnect()手动签名用户,问题就不会发生; mGoogleApiClient.IsConnected()现在返回false(如预期的那样)。

Android玩游戏:自定义房间configuration与灵活的玩家数量

我正在开发一个实时多人游戏。 游戏本身工作正常。 我正在与房间configuration挣扎。 我使用谷歌玩游戏作为一个框架。 游戏概念是pipe理从2到7个单人房间的玩家数量。 游戏是一个棋盘游戏的时尚。 因此,如果有许多玩家连接起来会更好。 否则游戏会很无聊。 我有可能使用Google AutoMatchCriteria进行配对: final int MIN_OPPONENTS = 1, MAX_OPPONENTS = 6; Bundle autoMatchCriteria = RoomConfig .createAutoMatchCriteria(MIN_OPPONENTS, MAX_OPPONENTS, 0); RoomConfig.Builder rtmConfigBuilder = RoomConfig.builder(this); …. 如果我设置MIN_OPPONENTS = 1和MAX_OPPONENTS = 6,游戏将在大多数情况下由2名玩家开始。 在一个SO-Thread中,一位谷歌开发人员提到: 自动匹配algorithm不会尽力使匹配中的玩家数量最大化。 我也有可能使用MIN_OPPONENTS = 6和MAX_OPPONENTS = 6。 通过这个设置,只有当7个玩家连接到一个房间时,游戏才会开始。 我的游戏提供了许多游戏变种和大量的难度级别。 因此,我认为并不总是有7名球员可用。 我需要一个灵活的解决scheme,始终保证游戏的开始。 同样的谷歌家伙描述使用计时器的解决scheme: SO线程 我不知道从哪里开始这个概念。 我应该在哪里启动计时器? 有没有人成功实施这个概念? 如果这个人可以分享一些代码片段或提供一些进一步的解释,这将是非常好的。 其他build议也欢迎。

应用程序未正确configuration为使用Google Play游戏服务

我正在使用BaseGameActivity类连接到谷歌玩游戏服务。 问题是,以某种方式validation不起作用。 我在网上search了几个小时的解决scheme,但没有find任何有助于我解决问题的方法。 当我启动BaseGameActivity时,我在LogCat中得到以下输出: 03-19 14:22:36.126: W/GameHelper(15312): **** 03-19 14:22:36.126: W/GameHelper(15312): **** 03-19 14:22:36.126: W/GameHelper(15312): **** APP NOT CORRECTLY CONFIGURED TO USE GOOGLE PLAY GAME SERVICES 03-19 14:22:36.126: W/GameHelper(15312): **** This is usually caused by one of these reasons: 03-19 14:22:36.126: W/GameHelper(15312): **** (1) Your package name and certificate fingerprint do not match 03-19 14:22:36.126: […]

更改标题后,Google Play排行榜图表应用不再排名吗?

几天前,我在游戏控制台中得到了一个提醒,他们在应用程序标题上添加了更多的字符。 我有一个非常高的评价和高性能的多人游戏,在一个非常有竞争力的游戏类别中排名在数以千计的顶级排行榜中,并且经常在热门排行榜中排名第一。 在改变标题一小时之内,它就完全从排行榜上走了,根本没有排名。 我所做的只是在游戏标题的末尾添加了“多人游戏”一词,所以从“游戏名称”改为“游戏名称多人游戏”。 这个游戏每天有数千次的有机下载,而且在这个事件发生后的24小时之内,已经有200次下载,我们正处于恐慌之中,因为这明显地在一夜之间杀死了货币化的消息。 这个顶级图表多人游戏现在已经死了。 任何人都可以在这一点上作出解释,并可能解释为什么在游戏标题中添加多人游戏引起它甚至没有排名,并在2天后不回来? 这似乎是一个非常苛刻的惩罚,并对戏剧店的健康产生反作用。 有没有人经历过这个?

当“成就”选项卡出现时,“排行榜”选项卡不会在Google Play游戏中显示

我已经启用并添加了排行榜和成就,我的游戏。 Google Play游戏中没有显示排行榜标签,但成就标签是。 我读过的应用程序需要获得足够的关注? 那究竟是什么意思? 我该如何testing这个function? 这是一个来自networking的例子 它显示了成就选项卡,但正如你所看到的,右边是一个排行榜选项卡。

使用Google Play游戏服务在一轮游戏中决定谁是玩家一,二

我有一个基于Android的多人游戏,之前一直在使用XMPP,我想切换到Google Play游戏服务。 在旧版本中,有一个XMPP机器人,决定哪个玩家将成为玩家1或2,这对了解哪个玩家应该首先采取行动很重要。 借助Google Play游戏服务,我发现了一个几乎可行的解决scheme: @Override public void onRoomConnected(int statusCode, Room room) { ArrayList<Participant> participants = room.getParticipants(); Participant first = participants.get(0); if (first.getPlayer() == null || !first.getPlayer().getPlayerId().equals(myPlayerId)) { LaskaField.HUMAN_PLAYER = 2; LaskaField.OTHER_PLAYER = 1; opponent = first.getDisplayName(); } else { LaskaField.HUMAN_PLAYER = 1; LaskaField.OTHER_PLAYER = 2; opponent = participants.get(1).getDisplayName(); } setPlayerNames(); } 邀请其他玩家时,这种方式很好。 但是,当双方select自动匹配时,这往往会失败。 在这种情况下,两个玩家在参与者ArrayList中位于相同的位置。 […]

GameHelper在onConnectionFailed()上崩溃

我在GameHelper.java遇到了以下故障: [main] com.google.android.gms.common.ConnectionResult.startResolutionForResult(Unknown Source)上的java.lang.NullPointerException,com.google.example.games.basegameutils.GameHelper.resolveConnectionResult(GameHelper.java:752) google.example.games.basegameutils.GameHelper.onConnectionFailed(GameHelper.java:729) 我认为可能发生的唯一原因是如果在GameHelper.java:752 : mConnectionResult.startResolutionForResult(mActivity, RC_RESOLVE); mActivity onStop()是否有可能GameHelper.java有bug,并可以崩溃,如果onConnectionFailed()发生在onStop()后被调用? 谢谢。 编辑:更新到最新的Play API(Rev 15)以及更新后的GameHelper.java。

无法login。请检查您的networking连接,然后重试

我正在尝试与Google Play游戏服务进行简单的游戏,但是我未能loginGoogle Play游戏。 我得到这个错误 : 无法login。请检查您的networking连接,然后重试。 我有MainActivity,和三个fragmenets(MainFragment,GameFragment和ResultFragment)。 MainFragment是主菜单的片段,使用有button点击开始游戏。 授权? 我已经在Google Play开发者控制台中将我的游戏与SHA-1链接并授权。 在使用Android Studio时,我的软件包名称如下所示:aplikacijezaandroid.thebuttonchallenge,并在Google Play开发者控制台的链接应用程序中添加了两个应用程序版本。 所以我有com.aplikacijezaandroid.buttontonchallenge,和aplikacijezaandorid.buttontonchallenge 应用程序ID? 我添加了应用程序ID和排行榜id到strings.xml,并为Android Manifest添加了meta标签。 我在AndroidManifest.xml中添加了Internet权限 testing? 我使用物理设备从Android Studio中testing和debugging应用程序,并且在Google Play开发者控制台中添加了作为testing用户的自己的gmail。 这是我的AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="aplikacijezaandroid.thebuttonchallenge" > <uses-permission android:name="android.permission.INTERNET"></uses-permission> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id"/> […]

如何从谷歌玩游戏服务的当前球员排行榜得分?

目前我正在做与Google Game Play Service整合的游戏,我想在得分和最佳得分之间进行压缩评分,所以我很容易告诉玩家他们获得了新的高分。 但我不知道如何从谷歌游戏服务排行榜获得核心,谁能请指导我如何做呢? 我能够显示排行榜,但我无法find如何获得用户打比分的方式。 我的代码显示排行榜: if (isSignedIn()) { if(inScore<=50) { Games.Leaderboards.submitScore(getApiClient(), getString(R.string.leaderboard_easy), inScore); } else { Games.Leaderboards.submitScore(getApiClient(), getString(R.string.leaderboard_hard), inScore); } } else { Log.d("not signed", "Not signed in"); } 我想从用户的设备上玩得分,请帮助我。

重置我的Android应用程序的成就/排行榜

我是否可以使用Google Play游戏服务中使用的Android应用程序重置我的成就/排行榜结果?