Пошаговые многопользовательские уведомления в Google Play Games - PullRequest
0 голосов
/ 04 мая 2019

Я использую встроенный пользовательский интерфейс Google Play для обработки матчей с многопользовательской игрой Google для Android и имею две проблемы с предоставленными уведомлениями.

Google-Play notification

  1. Между словом «с» и именем противника существует проблема с пробелами в тексте.В данном случае «garguno».
  2. Нажатие «Игнорировать» в этом уведомлении полностью удаляет игру из списка активных игр.Я не нашел способа вернуть игру в этом случае.

Я хотел бы выяснить, как решить обе эти проблемы, но мне очень трудно найти какую-либо документацию окак работают пошаговые уведомления и / или как настроить их функциональность.Спасибо за любую помощь.

Документация, предоставленная здесь описывает возможности dismissInvitation () и dismissMatch (), но ни один из этого кода не находится в моем собственном приложении, так как я просто используювстроенный пользовательский интерфейс для обработки совпадений, т. е. (из ссылки 1):

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {   super.onActivityResult(requestCode, resultCode, data);   if (requestCode == RC_SELECT_PLAYERS) {
    if (resultCode != Activity.RESULT_OK) {
      // Canceled or other unrecoverable error.
      return;
    }
    ArrayList<String> invitees = data.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS);

    // Get automatch criteria
    Bundle autoMatchCriteria = null;
    int minAutoPlayers = data.getIntExtra(Multiplayer.EXTRA_MIN_AUTOMATCH_PLAYERS, 0);
    int maxAutoPlayers = data.getIntExtra(Multiplayer.EXTRA_MAX_AUTOMATCH_PLAYERS, 0);

    TurnBasedMatchConfig.Builder builder = TurnBasedMatchConfig.builder()
        .addInvitedPlayers(invitees);
    if (minAutoPlayers > 0) {
      builder.setAutoMatchCriteria(
          RoomConfig.createAutoMatchCriteria(minAutoPlayers, maxAutoPlayers, 0));
    }
    Games.getTurnBasedMultiplayerClient(this, GoogleSignIn.getLastSignedInAccount(this))
        .createMatch(builder.build()).addOnCompleteListener(new OnCompleteListener<TurnBasedMatch>() {
      @Override
      public void onComplete(@NonNull Task<TurnBasedMatch> task) {
        if (task.isSuccessful()) {
          TurnBasedMatch match = task.getResult();
          if (match.getData() == null) {
            // First turn, initialize the game data.
            // (You need to implement this).
            initializeGameData(match);
          }

          // Show the turn UI.
          // (Game specific logic)
          showTurnUI(match);
        } else {
          // There was an error. Show the error.
          int status = CommonStatusCodes.DEVELOPER_ERROR;
          Exception exception = task.getException();
          if (exception instanceof ApiException) {
            ApiException apiException = (ApiException) exception;
            status = apiException.getStatusCode();
          }
          handleError(status, exception);
        }
      }
    });   } }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...