2017-02-23 139 views
0

我正在使用Google Play游戏服务实现多人游戏功能,目标是创建游戏应用程序。我遵循文档https://developers.google.com/games/services/ios/turnbasedMultiplayer。在我的应用程序中有两个选项自动匹配和邀请匹配。自动匹配功能正常工作。但邀请不匹配。 我按照下面的代码为这个在Google Play服务中邀请好友

- (int)minPlayersForPlayerPickerLauncher { 
    return 1; 
} 

- (int)maxPlayersForPlayerPickerLauncher { 
    return 2; 
} 
- (IBAction)inviteFriendsWasPressed:(id)sender 
{ 

    // This can be a 2-4 player game 
    [GPGLauncherController sharedInstance].playerPickerLauncherDelegate = self; 
    // This assumes your class has been declared a GPGPlayerPickerLauncherDelegate 
    [[GPGLauncherController sharedInstance] presentPlayerPicker]; 
} 

上单击此按钮操作如下屏幕打开 See here

之后,当我在文本框输入EMAILID没有采取行动进行搜索特定的用户。

请帮我
感谢

回答

-1
// request code for the "select players" UI 
// can be any number as long as it's unique 
final static int RC_SELECT_PLAYERS = 10000; 

// launch the player selection screen 
// minimum: 1 other player; maximum: 3 other players 
Intent intent = Games.RealTimeMultiplayer.getSelectOpponentsIntent(mGoogleApiClient, 1, 3); 
startActivityForResult(intent, RC_SELECT_PLAYERS); 

    @Override 
public void onActivityResult(int request, int response, Intent data) { 
    if (request == RC_SELECT_PLAYERS) { 
     if (response != Activity.RESULT_OK) { 
      // user canceled 
      return; 
     } 

     // get the invitee list 
     Bundle extras = data.getExtras(); 
     final ArrayList<String> invitees = 
      data.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS); 

     // get auto-match criteria 
     Bundle autoMatchCriteria = null; 
     int minAutoMatchPlayers = 
      data.getIntExtra(Multiplayer.EXTRA_MIN_AUTOMATCH_PLAYERS, 0); 
     int maxAutoMatchPlayers = 
      data.getIntExtra(Multiplayer.EXTRA_MAX_AUTOMATCH_PLAYERS, 0); 

     if (minAutoMatchPlayers > 0) { 
      autoMatchCriteria = RoomConfig.createAutoMatchCriteria(
        minAutoMatchPlayers, maxAutoMatchPlayers, 0); 
     } else { 
      autoMatchCriteria = null; 
     } 

     // create the room and specify a variant if appropriate 
     RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder(); 
     roomConfigBuilder.addPlayersToInvite(invitees); 
     if (autoMatchCriteria != null) { 
      roomConfigBuilder.setAutoMatchCriteria(autoMatchCriteria); 
     } 
     RoomConfig roomConfig = roomConfigBuilder.build(); 
     Games.RealTimeMultiplayer.create(mGoogleApiClient, roomConfig); 

     // prevent screen from sleeping during handshake 
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    } 
} 

// create a RoomConfigBuilder that's appropriate for your implementation 
private RoomConfig.Builder makeBasicRoomConfigBuilder() { 
    return RoomConfig.builder(this) 
     .setMessageReceivedListener(this) 
     .setRoomStatusUpdateListener(this); 
}