GameCenter - обработка входящих звонков и т. Д. - PullRequest
1 голос
/ 15 октября 2010

Что бы вы сделали в следующем сценарии:

  1. При реализации многопользовательской игры вы используете GKMatchmaker для поиска игроков.
  2. Когда подключено необходимое количество игроков, выначать матч.
  3. Теперь один из игроков получает входящий звонок.

Что теперь?Если пользователь ответит на звонок, приложение переместится в фоновый режим, соединение с GameCenter будет потеряно, верно?

Что делать с игроком и что делать с матчем?

Полагаю, вам придется оценить эту игру как проигранную для игрока, который отключился, и попытаться продолжить матч с оставшимися игроками.

Кто-нибудь придумал лучший способ справиться с этим?

1 Ответ

0 голосов
/ 30 июня 2011

Соединение с Game Center не «теряется» сразу, я не уверен в фактическом периоде ожидания и не рассчитывал бы на то, что это какой-то конкретный период, если он где-то не указан в документации. Вы всегда можете протестировать его для определенного выпуска / версии, используя два подключенных игрока.

В нашей игре Tic Tac Toe Twist, когда игрок отключается из-за тайм-аута или другой проблемы с сетью, мы сообщаем игрокам, кто отключился с сообщением на экране в течение пяти секунд, оставляем матч, в котором мы находимся, сбрасываем состояние игры а затем перетащите их обратно на экран запуска игры.

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

Обязательно ознакомьтесь с информацией на WWDC 2011, чтобы узнать, как Game Center будет справляться с этим в будущем, на случай, если Apple решит что-то изменить ...

...