Le jeu multijoueur Google Play Game Services avec le changement d'activité

Dans mon jeu Android, j'ai un multijoueur tournant. Les utilisateurs attendent les adversaires dans le hall et chaque fois que les 3 correspondent, ils vont à une nouvelle salle de jeu ensemble, ce qui est une autre activité que le lobby.

Les documents suggèrent de laisser les activités étendre BaseGameActivity. Mais alors que je commute l'Activité pendant que les joueurs sont déjà connectés, ne dois-je placer les parties de connectivité dans un Service auquel mon activité se lie?

  • Quelle est l'utilisation de New String in toArray (nouvelle String );
  • Obtenez de la valeur de l'élément sur OnItemClick Listview
  • Npm WARN jest-react-native@17.0.0 nécessite un pair de whatwg-fetch@^1.0.0 mais aucun n'a été installé
  • Comment crée un contexte dans Android? Quel est le but de ContextThemeWrapper?
  • TLS 1.1, 1.2 dans WebView pour Android <= 4.3
  • Android ContentProvider getType () appelé quand et pourquoi
  • Quelqu'un at-il déjà essayé avec Game Services? Comment commencer si je ne peux pas utiliser BaseGameActivity?

  • La classe d'activité n'existe pas
  • Disposition relative Android avec largeur de bouton en utilisant le poids
  • API d'historique Android 4.0 et HTML5
  • Utilisation de gradle pour tester les applications Android dans un émulateur
  • Impossible d'intégrer la bibliothèque de rendu OpenGL
  • Comment obtenir la hauteur et l'largeur du périphérique au moment de l'exécution?
  • 3 Solutions collect form web for “Le jeu multijoueur Google Play Game Services avec le changement d'activité”

    Ainsi, l'une des raisons pour lesquelles nous avons écrit tous les exemples de services de jeux Google Play en tant que jeux d'activité unique est parce que le basculement entre les activités nécessite que vous vous déconnectez du GamesClient et connectez un nouveau de la nouvelle Activité.

    Donc, utiliser Fragments est probablement le moyen le plus simple d'y parvenir. Il est également assez propre et vous permet de créer une tablette en les combinant si vous le souhaitez.

    En particulier, si vous configurez un jeu multijoueur, la déconnexion vous déconnecte de la pièce, de sorte que vous ne pouvez pas passer à une Activité différente après avoir démarré la poignée de main 🙂

    Je suis en train de développer un jeu multijoueur utilisant ces nouveaux Google Play Game Services. Il comprend les réalisations et les tableaux de classement, ainsi que les multijoueurs.

    À partir du bouton, cliquez sur un exemple de projet, j'ai constaté qu'ils (Google) ont utilisé des fragments de manière exhaustive et sont restés dans les limites d'une seule activité. Dans mon jeu personnalisé, je saute entre les activités sans problème.

    Vous devrez conserver quelques parties des objets Google Play Game Services autour, mais un service peut être une overkill, à moins que votre jeu ne nécessite un code UI à longue durée d'exécution. D'après ce que j'ai connu, si vous basculez entre les activités, vous voudrez conserver l'identité de la (des) chambre (s) et des identifiants de participant (s) qui sont actuellement impliqués dans le jeu.

    Étant donné que les "parties de connectivité" sont apatrides, reliez-les au besoin. Vous pouvez même passer l'ID de la pièce / participant dans chaque activité via le faisceau d'intention (ou utiliser l'approche du modèle singleton). De cette façon, vous économiserez la durée de vie de la batterie, les performances, etc.

    La documentation explique comment utiliser Game Services sans BaseGameActivity chaque fois que cela est nécessaire.

    Par exemple, lors de la signature:

    https://developers.google.com/games/services/training/signin

    En cliquant sur le bouton Sign in, vous devez lancer le flux de connexion. Si vous utilisez la base de BaseGameActivity fournie dans les échantillons, appelez simplement la méthode beginUserInitiatedSignIn (). Sinon, vous devez appeler manuellement la méthode connect () de votre objet GamesClient.

    Pour votre question spécifique, je ne pense pas que ce soit un problème, tout le contrôle est dans Google Play, il vous suffit d'obtenir le GamesClient et, autant que j'ai compris, la connexion établie sur une activité sera là si vous y accédez D'une autre activité (mais je n'ai pas encore testé le multijoueur).

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.