2017-02-23 2 views
0

Ich erstelle eine Spiele-App in objective-c, die Google Play Game-Dienste für Echtzeit-Multiplayer-Funktionen verwendet. Ich folge der Dokumentation unter https://developers.google.com/games/services/ios/turnbasedMultiplayer. In meiner App gibt es zwei Optionen Auto Match und Invite Match. Auto Match-Funktionalität funktioniert gut. Aber Einladung nicht übereinstimmen. ich folge folgenden Code für dieseFreund in Google Play-Dienste einladen

- (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]; 
} 

auf Klick auf diese Schaltfläche Aktion folgen Bildschirm geöffnet ist See here

Danach, als ich EMAILID in Textfeld betreten gibt es keine Aktion ausführen bestimmten Benutzer zu suchen.

Bitte helfen Sie mir
Dank

Antwort

-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); 
}