Copyright (c) 2014 Google Inc. Tous droits réservés.
Le plugin Google Play Games pour Unity® est un projet open source dont le but est de fournir un plugin permettant aux développeurs de jeux d'intégrer l'API Google Play Games à partir d'un jeu écrit dans Unity®. Cependant, ce projet n'est en aucun cas approuvé ou supervisé par Unity Technologies.
Unity® est une marque commerciale d'Unity Technologies.
iOS est une marque commerciale d'Apple, Inc.
Veuillez télécharger le package à partir de la page de version de Github.
Le plugin Google Play Games pour Unity vous permet d'accéder à l'API Google Play Games via l'interface sociale de Unity. Le plugin prend en charge les fonctionnalités suivantes de l'API Google Play Games :
se connecter
amis
débloquer/révéler/augmenter le succès
publier le score au classement
sauvegarde dans le cloud, lecture/écriture
afficher l'interface utilisateur intégrée des réalisations et des classements
événements
connexions à proximité
AVIS : Cette version du plugin ne supporte plus iOS. Les services de jeux Google Play pour iOS sont obsolètes et ne fonctionneront probablement pas comme prévu. N'utilisez pas les services de jeux Google Play pour iOS dans les nouvelles applications. Consultez le billet de blog annonçant la dépréciation pour plus de détails.
Caractéristiques:
configuration de projet facile orientée GUI (intégrée à l'interface graphique Unity)
pas besoin de remplacer/personnaliser l'activité du lecteur
pas besoin de remplacer/personnaliser AndroidManifest.xml
Pour obtenir des instructions sur l'utilisation du plugin, veuillez vous référer à ce guide du développeur.
Pour un exemple d'application montrant comment utiliser Google Play Games, voir le projet SmokeTest ;
Si vous avez déjà intégré votre projet avec une version précédente du plugin et souhaitez passer à une nouvelle version, veuillez vous référer aux instructions de mise à niveau.
Afin d'accéder aux API Google sur un serveur Web principal au nom du joueur actuel, vous devez obtenir un code d'authentification de l'application client et le transmettre à votre application de serveur Web. Ce code peut ensuite être échangé contre un jeton d'accès pour effectuer des appels vers les différentes API. Pour plus de détails sur ce flux, consultez : Google Sign-In pour les sites Web.
Pour obtenir le code d'authentification du serveur :
Configurez l'identifiant du client Web de l'application Web liée à votre jeu dans la console de jeu Play.
Appelez PlayGamesClientConfiguration.Builder.RequestServerAuthCode(false)
lors de la création de la configuration.
Appelez PlayGamesPlatform.Instance.GetServerAuthCode()
une fois le joueur authentifié.
Transmettez ce code à votre application serveur.
PlayGamesPlatform.Instance.RequestServerSideAccess(/* forceRefreshToken= */ false,code -> { // envoyer le code au serveur});
Il est possible de réduire la taille du plug-in Unity des services de jeux Play en supprimant le code des fonctionnalités des services de jeux Play que votre jeu n'utilise pas à l'aide de Proguard. Proguard supprimera le code du plugin Play Games Unity pour les fonctionnalités qui ne sont pas utilisées dans votre jeu, de sorte que votre jeu soit livré avec uniquement le code nécessaire et minimise l'impact de l'utilisation des services Play Games.
De plus, il est possible de réduire la taille de l'ensemble du projet Unity à l'aide du Managed Code Stripping de Unity, qui compressera l'intégralité de votre projet. Ceci peut être utilisé conjointement avec Proguard.
Accédez à File > Build Settings > Player Settings
et cliquez sur la section Publishing Settings
. Choisissez Proguard
pour Minify > Release
. Ensuite, activez User Proguard File
. Si vous souhaitez que le plugin soit également protégé pour les apks de débogage, vous pouvez choisir Proguard
pour Minify > Debug
.
Copiez le contenu de la configuration proguard dans Assets/Plugins/Android/proguard-user.txt
.
Lorsque vous appelez PlayGamesPlatform.Activate
, Google Play Games devient votre implémentation de plateforme sociale par défaut, ce qui signifie que les appels statiques aux méthodes dans Social
et Social.Active
seront effectués par le plugin Google Play Games. C'est le comportement souhaité pour la plupart des jeux utilisant le plugin.
Cependant, si pour une raison quelconque vous souhaitez conserver l'implémentation par défaut accessible (par exemple, pour l'utiliser pour soumettre des réalisations et des classements à une autre plateforme sociale), vous pouvez utiliser le plugin Google Play Games sans remplacer celui par défaut. Pour ce faire :
N'appelez pas PlayGamesPlatform.Activate
Si Xyz
est le nom d'une méthode que vous souhaitez appeler sur la classe Social
, n'appelez pas Social.Xyz
. Au lieu de cela, appelez PlayGamesPlatform.Instance.Xyz
N'utilisez pas Social.Active
lorsque vous interagissez avec Google Play Games. Utilisez plutôt PlayGamesPlatform.Instance
.
De cette façon, vous pouvez même soumettre des scores et des réalisations simultanément sur deux ou plusieurs plateformes sociales :
// Soumettre la réussite à la plateforme sociale par défaut d'origineSocial.ReportProgress("MyAchievementIdHere", 100.0f, callback);// Soumettre la réussite à Google PlayPlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
Cette section répertorie les personnes qui ont contribué à ce projet en écrivant du code, en améliorant la documentation ou en corrigeant des bugs.
Merci d'avoir compris que le paramètre JAVA_HOME est nécessaire sous Windows.
antonlicht pour avoir corrigé un bug avec le paramètre type de showErrorDialog sur la bibliothèque de support.
pR0P pour résoudre un problème où OnAchievementsLoaded n'acceptait pas un code de résultat OPERATION_DEFERRED comme un succès.
friikyeu pour avoir aidé à déboguer un problème qui entraînait la mise en file d'attente des appels d'API plutôt que leur exécution même lorsqu'ils étaient connectés.