Google Play 游戏服务:显示解锁成就

Posted

技术标签:

【中文标题】Google Play 游戏服务:显示解锁成就【英文标题】:Google Play Game Service: show unlocked achievement 【发布时间】:2014-01-11 00:05:30 【问题描述】:

这可能是一个愚蠢的问题,但我还没有在 Google 上找到答案,所以这取决于你 :)

我正在使用 Google Play 服务在我的 android 应用中提供成就和排行榜。我用

unlockAchievement(getResources().getString(R.string.achievement_id));

虽然成就已正确解锁并显示在成就列表中,但它在解锁时不会立即显示给用户,即没有显示如下屏幕截图中的“成就解锁”:

任何想法为什么这不会弹出?

提前致谢!

【问题讨论】:

(1) 成就已经解锁了吗? UI 只会在成就真正从锁定状态解锁时第一次触发,而不是在后续请求时触发。 (2) 你确定resulting_id是正确的吗? 嗨插件。 (1) 我检查了这个并创建了一个新的成就,只是为了测试。解锁时,新创建的成就不显示而是解锁,显示时在Google Play的成就列表中列为解锁。所以 (2) 是的,ID 已正确提交到 Google Play。弹出窗口是否可能不会出现在测试中?不过,我正在使用真实 Google Plus 帐户的真实设备上进行测试。 您是否将弹出窗口的视图设置为非默认视图? 【参考方案1】:

我明白了。我曾经在我的主要活动中实例化 GameClient 并在游戏活动中引用它。所以解锁弹出窗口绑定到主要而不是游戏活动。所以我改变了

MainActivity.gamesClient.unlockAchievement(...);

getGamesClient().unlockAchievement(...);

就是这样!

【讨论】:

以上是关于Google Play 游戏服务:显示解锁成就的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 游戏服务 - 隐藏/取消隐藏成就

在 Play 游戏服务中显示“解锁”增量成就的弹出窗口

成就未显示在 Google Play 游戏应用中

如何在 Google Play 游戏服务中获取排行榜和成就信息

在 Google Play 游戏中分享成就

Google Play 游戏服务成就活动立即结束