Premiers pas avec les services de jeux Google Play

Les technologies de jeu évoluent constamment. Néanmoins, de nombreux éléments de base du gameplay sont restés inchangés depuis des décennies. Les scores élevés, les classements, les quêtes, les réalisations et le support multijoueur en sont des exemples. Si vous développez un jeu pour la plate-forme Android, vous n’avez à implémenter aucun de ces éléments manuellement. Vous pouvez simplement utiliser le Services de jeux Google Play API à la place.

Dans ce didacticiel, je vais vous montrer comment créer un jeu Android simple, y ajouter des services de jeux Google Play et utiliser les classements et les API de succès.

Conditions préalables

Pour pouvoir suivre ce didacticiel, vous aurez besoin des éléments suivants:

1. Créez un jeu simple

Il n’est pas amusant d’ajouter les API des services de jeux Play à un projet Android Studio vide. Par conséquent, créons maintenant un jeu où l’utilisateur gagne des points en cliquant simplement sur un bouton. Plus précisément, l’objectif du jeu sera de cliquer sur un bouton le plus souvent possible en 60 secondes.

Étape 1: créer la disposition du jeu

La disposition du jeu en aura un Button widget, sur lequel l’utilisateur cliquera pour gagner des points, et deux TextView widgets pour afficher le score et le temps restant. Si vous les mettez tous dans un RelativeLayout et centrez-les horizontalement et verticalement, vous devriez avoir un fichier de mise en page qui ressemble à ceci:

Notre jeu aura un écran de classement et un écran de réalisations. Pour permettre à l’utilisateur de naviguer vers ces écrans, ajoutez deux autres Button widgets à la fin du fichier de mise en page.

Notez que les deux boutons ont onClick les attributs. Nous créerons les méthodes Java auxquelles elles se réfèrent dans les étapes ultérieures.

Étape 2: implémenter la logique de jeu

Dans l’activité, créez des variables membres pour le gameplay widgets que nous avons définis dans le fichier XML de mise en page. De plus, créez un int variable pour le score et un boolean variable pour l’état du jeu.

Initialisez les widgets à l’intérieur de l’activité onCreate() méthode utilisant la findViewById() méthode.

Pour écouter les clics sur le Button widget, créez et ajoutez un OnClickListener à lui.

Nous devons maintenant implémenter les exigences suivantes:

  • La première fois que l’utilisateur clique sur le bouton, le jeu doit démarrer.
  • Chaque clic suivant doit incrémenter le score variable.
  • Le jeu doit se terminer lorsque 60 secondes se sont écoulées.

Nous pouvons utiliser le playing variable pour différencier le premier clic de tous les clics suivants. Pour garder une trace du temps, nous pouvons utiliser le résumé CountDownTimer classe, ce qui est idéal pour nos exigences. Il a un onTick() méthode à l’intérieur, qui peut mettre à jour avec précision timeView pour afficher le nombre de secondes restantes. Il a également un onFinish() méthode, qui est appelée lorsque le compte à rebours est terminé.

En conséquence, ajoutez le code suivant au onClick() méthode:

À ce stade, vous pouvez exécuter le projet pour jouer au jeu.

Interface de jeu

2. Ajouter des dépendances de services de jeux

La configuration d’un projet pour utiliser les API des services de jeux Play implique de nombreuses étapes. En utilisant l’assistant Firebase d’Android Studio, vous pouvez en automatiser certains.

Ouvrez la fenêtre de l’assistant en accédant à Outils> Firebase. Ensuite, dans le Analytique section, cliquez sur la Consigner un événement Analytics lien. Vous pouvez maintenant connecter votre projet Android Studio à un projet Firebase en cliquant sur le bouton Relier à Firebase bouton. Assurez-vous de choisir le Créer un nouveau projet Firebase option dans la boîte de dialogue qui apparaît.

En relation :  Vous pouvez maintenant précommander Mario Kart Tour sur mobile
Boîte de dialogue Connexion à Firebase

Une fois la connexion établie, appuyez sur le Ajoutez Analytics à votre application pour ajouter toutes les modifications requises au build.gradle des dossiers.

Vous devez ajouter manuellement la dépendance pour les services de jeux Play. Par conséquent, allez à la build.gradle dossier du app module et ajoutez ce qui suit compile dépendance:

De plus, les API des services de jeux nécessitent un fichier de configuration XML. Créez-en un appelé games-ids.xml à l’intérieur de res / valeurs dossier. Nous y ajouterons du contenu dans une étape ultérieure.

3. Enregistrez le jeu

Tous les jeux qui utilisent les services de jeux Google Play doivent être enregistrés sur le Play Developer Console. Vous devrez payer des frais d’inscription uniques de 25 $ pour pouvoir accéder à la console.

Dans la console, cliquez sur l’icône de la manette de jeu pour ouvrir le Services de jeux écran.

Écran des services de jeu

Ensuite, cliquez sur le Configurer les services de jeux Google Play pour commencer à enregistrer le jeu.

Dans la boîte de dialogue qui apparaît, choisissez le deuxième onglet car notre jeu utilise déjà les API Google. Vous devez maintenant pouvoir voir le nom de votre projet Firebase dans la liste des projets disponibles. Après l’avoir sélectionné, choisissez une catégorie pour le jeu. Pour l’instant, vous pouvez aller avec Décontractée Catégorie.

Choisissez votre projet de console

Après avoir appuyé sur Continuer, vous pouvez associer les services Firebase Analytics et Play games en cliquant sur le Lier Firebase bouton.

Ensuite, allez à la Applications liées pour lier votre projet Android Studio à la console développeur Play. Dans la boîte de dialogue qui apparaît, appuyez sur le bouton Android et tapez le nom du package de votre projet dans le Nom du paquet champ.

Associer un écran d'application Android

appuyez sur la Sauvegarder et continuer pour générer un identifiant client pour votre jeu.

Écran d'affichage de l'ID client

Notre jeu a maintenant été enregistré avec succès sur la console développeur de Google Play.

4. Ajouter un utilisateur test

Les API des services de jeux Play ne fonctionneront que si votre jeu est publié sur Google Play. Cependant, pour vous permettre de tester votre jeu, la console développeur vous permet d’associer quelques comptes utilisateurs de test. En allant au Essai section, vous pouvez ajouter ou supprimer des comptes d’utilisateurs de test. Assurez-vous d’ajouter ici le compte Google que vous utilisez sur votre téléphone ou votre émulateur.

Test de l'écran d'accès

5. Créer un classement

Un classement n’est rien d’autre qu’un écran qui affiche les meilleurs scores des utilisateurs. Les classements des services de jeux Play permettent aux utilisateurs de voir leurs meilleurs scores quotidiens, hebdomadaires et de tous les temps.

La création d’un classement sur la console des développeurs Play ne prend que quelques clics. Aller au Classements section et appuyez sur Ajouter un classement bouton. Dans l’écran suivant, donnez un nom significatif au classement et appuyez sur sauvegarder bouton.

Écran de création de classement

Notre classement est maintenant prêt.

6. Créer une réussite

Les réalisations sont des récompenses en jeu que les utilisateurs obtiennent pour avoir réussi à faire quelque chose de spécial. Un jeu qui a beaucoup de succès à débloquer est généralement plus amusant que celui qui n’en a pas. Par conséquent, la plupart des jeux populaires sur Google Play ont aujourd’hui des dizaines, voire des centaines de réalisations.

Dans ce didacticiel, nous ajouterons une seule réalisation à notre jeu. Son nom sera Rapide comme l’éclair, et il sera déverrouillé lorsque l’utilisateur parvient à appuyer sur le bouton plus de 100 fois par minute. Pour créer la réalisation, accédez à la Réalisations section et appuyez sur Ajouter une réussite bouton. Après avoir saisi le nom et la description de la réalisation, appuyez sur la touche sauvegarder bouton.

Écran de création de succès

sept. Mettre à jour le XML de configuration du jeu

Le classement et la réussite ont des identifiants uniques. Nous devons maintenant ajouter ces identifiants à notre projet Android Studio, ainsi que l’ID d’application qui a été généré lors de l’inscription. Vous pouvez le faire en mettant à jour manuellement le games-ids.xml fichier que nous avons créé plus tôt. Cependant, je vous suggère d’utiliser le code de configuration généré automatiquement disponible dans la console développeur.

En relation :  6 détails importants à prendre en compte lors du choix de votre prochain téléphone Android

Pour obtenir le code de configuration généré automatiquement, vous pouvez accéder au Réalisations section ou le Classements section, et appuyez sur Obtenez des ressources lien. Vous verrez du code XML qui ressemble à ceci:

Copiez tout le code et collez-le dans votre projet games-ids.xml fichier.

8. Connectez-vous aux services Play Games

Avant d’utiliser les API de classements et de réalisations, nous devons créer un GoogleApiClient instance et connectez-la aux services de jeux Play. Par conséquent, ajoutez un GoogleApiClient objet comme variable membre de votre activité.

Nous devons utiliser le GoogleApiClient.Builder classe pour construire le GoogleApiClient exemple. Lors de la création du client, nous pouvons spécifier l’API et la portée de l’API qui nous intéressent en utilisant le addApi() et addScope() méthodes.

De plus, je vous suggère d’appeler le enableAutoManage() méthode pour vous assurer que le client gère automatiquement la connexion aux services de jeux. La méthode, cependant, a besoin d’un OnConnectionFailedListener, qui sera appelée lorsque la connexion échoue. Pour l’instant, nous appellerons simplement le finish() méthode pour fermer l’application en cas d’échec de connexion.

En conséquence, ajoutez le code suivant au début de la onCreate() méthode:

Si vous exécutez l’application maintenant, vous serez invité à créer un ID de joueur pour vous-même. Tapez un ID de joueur de votre choix et appuyez sur le se connecter bouton.

Connexion à la boîte de dialogue Play Jeux

9. Utilisez le classement

Soumettre un score au classement ne prend qu’une seule ligne de code. Tout ce que vous avez à faire est d’appeler le submitScore() méthode de la Games.Leaderboards classe. UNEs ses arguments, il attend le GoogleApiClient instance, l’ID du classement et le score.

Dans notre jeu, nous devons soumettre le score à la fin des 60 secondes. Par conséquent, ajoutez le code suivant au onFinish() méthode:

Pour afficher le classement, nous devons démarrer une nouvelle activité avec une intention de classement. Pour récupérer l’intention du classement, appelez le getLeaderboardIntent() méthode de la Games.Leaderboards classe et passer le GoogleApiClient ID de l’instance et du classement.

La mise en page de notre jeu comporte déjà un bouton sur lequel vous pouvez appuyer pour ouvrir le classement. La valeur de son onClick l’attribut est showLeaderboard. Par conséquent, ajoutez le code suivant à votre activité:

Vous pouvez exécuter l’application maintenant et rejouer au jeu. Cette fois, à la fin du jeu, votre score sera soumis au classement. Voici à quoi ressemble le classement par défaut:

Fenêtre de classement

dix. Utilisez la réussite

En appelant le unlock() méthode de la Games.Achievements classe, vous pouvez débloquer n’importe quelle réussite. La méthode attend le GoogleApiClient instance et l’ID de la réussite comme seuls arguments.

Le succès Lightning Fast que nous avons défini dans la console doit être déverrouillé lorsque le score de l’utilisateur dépasse 100 points. Par conséquent, juste après le code pour incrémenter le score, ajoutez le code suivant:

Le code nécessaire pour afficher les écrans de réalisations est très similaire à celui que nous avons écrit pour afficher l’écran de classement. Tout ce que vous avez à faire est de transmettre la valeur de retour du getAchievementsIntent() méthode à la startActivityForResult() méthode.

Si vous exécutez votre application et rejouez le jeu, vous verrez un succès apparaître lorsque votre score franchit 100 points pour la première fois.

Réalisation pop-up

Conclusion

Vous savez maintenant utiliser les API des services de jeux Google Play dans votre projet Android Studio. Les services de jeux Play ne se limitent pas à la seule plate-forme Android. Ils peuvent être utilisés tout aussi facilement sur les plates-formes Web et iOS. Les services de jeux So Play vous permettent de créer des jeux multiplateformes et d’offrir des expériences de jeu cohérentes aux utilisateurs sur plusieurs plateformes.

Pour en savoir plus sur les API des services de jeux Google Play, vous pouvez consulter leur guides officiels ou, encore mieux, consultez certains de nos tutoriels ici sur Envato Tuts +!

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.