PlayerId () возвращает разные значения для одного и того же игрока - PullRequest
0 голосов
/ 07 апреля 2020

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

Для того, чтобы совпадение было добавлено на сервер, я нужны 2 идентификатора игрока игроков в матче.

Локальный идентификатор игрока получается с помощью playersClient.getCurrentPlayer() и player->getPlayerId().

Идентификатор игрока противника получается игроком A с помощью playersClient.getPlayerSearchIntent() для поиска игрока и успешно возвращается из ArrayList<Player>plist, а затем plist.get(0).getPlayerId()

Все это завершается без ошибок.

К сожалению, значения не совпадают между двумя игроками поэтому я не могу использовать их для управления матчами. Игрок B думает, что его playerId отличается от того, что думает игрок A.

Вот пример.

Игрок A

playersClient.getCurrentPlayer()->player->getPlayerId() возвращает playerId a_7674078903545749486

getPlayerSearchIntent(Player B) возвращает ID игрока g03545126365615724180 для игрока (B).

Итак, на сервере создается игра между игроками a_7674078903545749486 и g03545126365615724180

Игрок B

playersClient.getCurrentPlayer()->player->getPlayerId() возвращается playerId 100452365691239690498

Затем они просматривают сервер, чтобы найти игры для 100452365691239690498, но ничего не находят, несмотря на то, что в них запущена игра.

Есть ли способ получить надежные идентификаторы игроков? Это то же самое для всех пользователей. Я прочитал статью о миграции с G +, но это не помогло в этой ситуации.

Спасибо,

Стив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...