Google Play Игры достижение разблокирован всплывающее окно не отображается

Я открываю достижение, используя этот простой метод из документов разработчиков:

Games.Achievements.unlock(getApiClient(), "my_achievement_id");

достижение разблокируется, но всплывающее окно не появляется. Там также нет всплывающего окна при входе в Google Play Games-который подключен.

2 ответов


Я некоторое время боролся с этим, поэтому решил поделиться им на stackoverflow. Я описал простое решение этой проблемы на блог моего разработчика.

вот краткая версия:

просто добавьте представление к макетам, на которых вы хотите отображать достижения:

<FrameLayout
        android:id="@+id/gps_popup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp" />

когда у вас есть макет готов вы neet, чтобы выполнить это внутри вашей деятельности или фрагмента:

Games.setViewForPopups(getApiClient(), findViewById(R.id.gps_popup));

вы должны быть уверены, что ваш GoogleApiClient подключен, хотя, в противном случае ваше приложение будет сбой.


<FrameLayout
        android:id="@+id/gps_popup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp" />

это то же самое в Яцек Kwiecień ответ

GamesClient gamesClient = Games.getGamesClient(MainActivity.this, GoogleSignIn.getLastSignedInAccount(context));
gamesClient.setViewForPopups(findViewById(R.id.gps_popup));

это изменилось, потому что setViewForPopups с 2 параметрами устарел.