谷歌游戏服务成就不弹出

Posted

技术标签:

【中文标题】谷歌游戏服务成就不弹出【英文标题】:Google Game Play Service Achievement does not pop up 【发布时间】:2017-02-12 13:33:00 【问题描述】:

我尝试在我的游戏中实现 Game Play Service 成就,但是当成就解锁时,它不会弹出(显示成就已解锁)但是当我打开所有成就列表时它显示已解锁。所以我的问题是,解锁后如何弹出成就?

MainActivity.class

 public static GoogleApiClient mGoogleApiClient;
  private void callGooglePlay()  
        mGoogleApiClient = new GoogleApiClient.Builder(getApplicationContext())
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(Games.API).addScope(Games.SCOPE_GAMES)
                .build();
    

PlayActivity.class

 Games.Achievements.unlock(MainMenu.mGoogleApiClient, getResources().getString(R.string.e));

【问题讨论】:

你在 UIThread 上运行它吗? 另外,弹窗仅在您第一次解锁时出现,它是基于云的,您需要在 Play Games Console 服务器端重置它。 是的,它在 UIThread 上运行。即使第一次解锁也完全不会出现。 【参考方案1】:

你需要调用getAchievementsIntent()创建默认成就UI,然后调用startActivityForResult

startActivityForResult(Games.Achievements.getAchievementsIntent(mGoogleApiClient),REQUEST_ACHIEVEMENTS);

有关displaying achievements 的更多信息可以在文档中找到。

如果您需要特定于正在解锁的成就的通知,您可以尝试按照this question 中的建议使用 [setViewForPopups](https://developers.google.com/android/reference/com/google/android/gms/games/Games.html#setViewForPopups(com.google.android.gms.common.api.GoogleApiClient, android.view.View))。

【讨论】:

以上是关于谷歌游戏服务成就不弹出的主要内容,如果未能解决你的问题,请参考以下文章

关于IDM弹出窗口问题,怎么设置让IDM弹出来,求助。

如何让EasyUI弹出层跳出框架

有没有办法省略谷歌游戏服务中的成就?

如何让EasyUI弹出层跳出框架 WEB开发分享

我可以在谷歌玩游戏中使用相同的排行榜和成就安卓游戏

向谷歌报告成就时如何解决“CLIENT_RECONNECT_REQUIRED”问题