Проблема: onRoomCreated возвращает STATUS_NETWORK_ERROR_NO_DATA 5% времени, без каких-либо причин, которые мы можем выяснить.Андроид в режиме реального времени: onRoomCreated получает неустойчивый STATUS_NETWORK_ERROR_NO_DATA
Игра проработана около 16 месяцев разработки (без проблем с отсутствием «разрешений» в манифесте или в консоли Google Play), но начиная с Google Play Service 29 (это «предположительно» ... это может быть несвязано), это непредсказуемое поведение началось, и оно блокирует любую дальнейшую попытку создать комнату (тот же самый неправильный код состояния снова, даже после перезапуска игры).
Единственный способ заставить его работать снова - либо перезапустить игру через 10-15 минут, либо перезапустить устройство (как правило, работает, но не всегда).
Проблема такая же на 3 различных устройствах (здесь нет эмуляторов).
Что мы обнаружили об этой проблеме (на SO и в других местах), так это то, что она может быть связана с тем, чтобы НЕ покидать комнату (RealTimeMultiplayer.leave (...)), прежде чем пытаться создать новую. Поэтому мы ожидаем ПОСЛЕДУЮТ конец «onLeftRoom» (плюс 3 секунды, на всякий случай), прежде чем пытаться создать новую комнату. Но безрезультатно.
Очевидно, что мы следуем рекомендациям по: инстанцирует GoogleApiClient в OnCreate, .Подайте в OnStart, .disconnect в OnStop (даже если .Подайте на своем пути) ...
Также обратите внимание, что, так как он должен чтобы быть «NETWORK_ERROR», мы проверяем подключение к Интернету (с помощью ping) перед каждой попыткой создать комнату.
Если у вас есть ЛЮБАЯ информация об этой проблеме или если вы знаете, как заставить Google Play создать комнату после этого кода состояния БЕЗ перезапуска устройства, сообщите нам об этом, потому что до тех пор наша дата выпуска, если навсегда отложена. Большое спасибо.
Как вы ожидаете вызова callback onleftroom() при вызове onstop? «Таким образом, мы ожидаем ПОСЛЕДУЮТ конец« onLeftRoom »(плюс 3 секунды, на всякий случай), прежде чем пытаться создать новую комнату». – skymedium
@skymedium: когда вызывается «onStop», комната «левая» (с .leave (...)), но мы не ожидаем onleftroom(), потому что бесполезно создавать новую комнату ... только когда один из двух игроков покидает комнату (и приложение продолжает работать), мы ждем onftftroom, потому что это сигнал о том, что все делается и заканчивается этой конкретной комнатой. –
Я выполнил все ваши инструкции, и я все еще получаю NETWORK_ERROR. Есть ли у вас другие предложения? Можете ли вы поделиться источником своего ответа? – skymedium