Я пытаюсь подключиться через быстрый матч. У меня все включено. API включены, ключ отладки и производственный ключ добавляются в список Oauth2 в консоли API Google.
Реал-Мультиплеер включен, а игровое обслуживание опубликовано. Я пробую пример кода в своей игре, плюс я подписываю пользователя.
Я получаю ошибку 2 в onJoinedRoom
Я пытаюсь войти с помощью этого:
public void signInSilently() {
mGoogleSignInClient.silentSignIn().addOnCompleteListener(getActivity(),
new OnCompleteListener<GoogleSignInAccount>() {
@Override
public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
if (task.isSuccessful()) {
//onConnected(task.getResult());
Utils.logDebug("OnlineFragment.startSignInIntent()","onComplete, isSuccessful.");
onConnected(task.getResult());
} else {
startSignInIntent();
Utils.logDebug("OnlineFragment.startSignInIntent()","onComplete, NOT isSuccessful.");
task.getException().printStackTrace();
}
}
});
}
Он всегда onConnected
private void onConnected(GoogleSignInAccount googleSignInAccount){
mRealTimeMultiplayerClient = Games.getRealTimeMultiplayerClient(getActivity(), googleSignInAccount);
startQuickGame();
}
После подключения, я начинаю новый быстрый матч:
private void startQuickGame() {
if(getActivity() != null){
// auto-match criteria to invite one random automatch opponent.
// You can also specify more opponents (up to 3).
// TODO: Make the first param value 2
Bundle autoMatchCriteria = RoomConfig.createAutoMatchCriteria(1, 1, ROLE_ANY);
// build the room config:
RoomConfig roomConfig =
RoomConfig.builder(mRoomUpdateCallback)
.setOnMessageReceivedListener(mMessageReceivedHandler)
.setRoomStatusUpdateCallback(mRoomStatusCallbackHandler)
.setAutoMatchCriteria(autoMatchCriteria)
.build();
// prevent screen from sleeping during handshake
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// Save the roomConfig so we can use it if we call leave().
mJoinedRoomConfig = roomConfig;
// create room:
mRealTimeMultiplayerClient.create(mJoinedRoomConfig);
}
}
Затем я получаю сообщение об ошибке в слушателе (только эта функция из прослушивателя включена, другие функции не вызываются)
private RoomUpdateCallback mRoomUpdateCallback = new RoomUpdateCallback() {
@Override
public void onRoomCreated(int code, @Nullable Room room) {
// Update UI and internal state based on room updates.
if(room != null)
Log.d("SignInGoogleOnlineFrag", "Room isn't null");
if(code == GamesCallbackStatusCodes.OK)
Log.d("SignInGoogleOnlineFrag", "OK");
if (code == GamesCallbackStatusCodes.OK && room != null) {
Log.d("SignInGoogleOnlineFrag", "Room " + room.getRoomId() + " created.");
} else {
Log.w("SignInGoogleOnlineFrag", "Error creating room: " + code);
// let screen go to sleep
getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}