Google Play Games Services
Transcription
Google Play Games Services
Google Play Games Services Friday, June 21, 13 Google Play Games Services Boostez vos jeux ! Friday, June 21, 13 Loïc Kempf Friday, June 21, 13 Loïc Kempf • Développeur et chef de projet chez Magma Mobile Friday, June 21, 13 Loïc Kempf • Développeur et chef de projet chez Magma Mobile • Android lover Friday, June 21, 13 Loïc Kempf • Développeur et chef de projet chez Magma Mobile • Android lover • Ex hardcore gamer qui se soigne Friday, June 21, 13 Friday, June 21, 13 • Plus de 70 jeux sur Android, 30 sur iOS Friday, June 21, 13 • Plus de 70 jeux sur Android, 30 sur iOS • 200 millions de téléchargements sur Android, 10 millions sur iOS Friday, June 21, 13 • Plus de 70 jeux sur Android, 30 sur iOS • 200 millions de téléchargements sur Android, 10 millions sur iOS • Plusieurs hits : Burger, Bubble Blast 2, Plumber, Smash... Friday, June 21, 13 Aujourd’hui, les joueurs veulent... Friday, June 21, 13 Aujourd’hui, les joueurs veulent... Des jeux funs ! Friday, June 21, 13 Aujourd’hui, les joueurs veulent... Des jeux funs ! Friday, June 21, 13 Aujourd’hui, les joueurs veulent... Des jeux funs ! Friday, June 21, 13 Aujourd’hui, les joueurs veulent... Des jeux funs ! Friday, June 21, 13 Aujourd’hui, les joueurs veulent... Des jeux funs ! Friday, June 21, 13 Mais aussi... Friday, June 21, 13 Mais aussi... • De continuer de jouer partout, sur n’importe quel terminal Friday, June 21, 13 Mais aussi... • • De continuer de jouer partout, sur n’importe quel terminal D’être récompensé et se sentir valorisé Friday, June 21, 13 Mais aussi... • • • De continuer de jouer partout, sur n’importe quel terminal D’être récompensé et se sentir valorisé De se mesurer aux autres joueurs et montrer leurs exploits Friday, June 21, 13 Mais aussi... • • • De continuer de jouer partout, sur n’importe quel terminal D’être récompensé et se sentir valorisé De se mesurer aux autres joueurs et montrer leurs exploits Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Cloud Save : Pour conserver la progression sur plusieurs terminaux Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Cloud Save : Pour conserver la progression sur plusieurs terminaux Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Cloud Save : Pour conserver la progression sur plusieurs terminaux Multiplayer : Pour que les joueurs s’affrontent entre eux Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Cloud Save : Pour conserver la progression sur plusieurs terminaux Multiplayer : Pour que les joueurs s’affrontent entre eux Friday, June 21, 13 Les Google Play Game Services vous permettent de faire tout cela Leaderboards : Classements des joueurs dans le monde et dans leurs cercles Google+ Achievements : Récompensez les joueurs lorsqu’il réalisent des exploits Cloud Save : Pour conserver la progression sur plusieurs terminaux Multiplayer : Pour que les joueurs s’affrontent entre eux Et plus encore... Friday, June 21, 13 Friday, June 21, 13 Un jeu fun + Friday, June 21, 13 Un jeu fun + Google Play Games Services = Friday, June 21, 13 Un jeu fun + Google Play Games Services = WIN Friday, June 21, 13 Un jeu fun + Google Play Games Services = WIN Friday, June 21, 13 Configurer votre jeu Friday, June 21, 13 Configurer votre jeu Une seule adresse : http://goo.gl/yH6ED Friday, June 21, 13 Mais comme je suis sympa... Friday, June 21, 13 Mais comme je suis sympa... Friday, June 21, 13 Mais comme je suis sympa... • Friday, June 21, 13 Importer le projet google-play-services-lib en tant que librairie Mais comme je suis sympa... • • Friday, June 21, 13 Importer le projet google-play-services-lib en tant que librairie Ajouter le certificat dans la console Google API Mais comme je suis sympa... • • • Importer le projet google-play-services-lib en tant que librairie Ajouter le certificat dans la console Google API 2 lignes à ajouter dans la partie <application> de l'AndroidManifest.xml : <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id"/> Friday, June 21, 13 Mais comme je suis sympa... • • • Importer le projet google-play-services-lib en tant que librairie Ajouter le certificat dans la console Google API 2 lignes à ajouter dans la partie <application> de l'AndroidManifest.xml : <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id"/> <meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="@string/app_id"/> Friday, June 21, 13 Mais comme je suis sympa... • • • Importer le projet google-play-services-lib en tant que librairie Ajouter le certificat dans la console Google API 2 lignes à ajouter dans la partie <application> de l'AndroidManifest.xml : <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id"/> <meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="@string/app_id"/> • Friday, June 21, 13 Ajouter les comptes de test dans la console Google Play Le sign-in Friday, June 21, 13 Le sign-in • Friday, June 21, 13 Une ligne de code ! Le sign-in • • Friday, June 21, 13 Une ligne de code ! A faire une seule fois, puis login automatique Le sign-in • • • Friday, June 21, 13 Une ligne de code ! A faire une seule fois, puis login automatique Spécifique à un jeu Le sign-in • • • • Friday, June 21, 13 Une ligne de code ! A faire une seule fois, puis login automatique Spécifique à un jeu Options de visibilité pour le joueur Le sign-in Friday, June 21, 13 Le sign-in • Friday, June 21, 13 Indiquer que le joueur est connecté Le sign-in • • Friday, June 21, 13 Indiquer que le joueur est connecté Et lui permettre de se déconnecter Le sign-in • • • Friday, June 21, 13 Indiquer que le joueur est connecté Et lui permettre de se déconnecter Expliquer l’intérêt du login Le sign-in • • • • Friday, June 21, 13 Indiquer que le joueur est connecté Et lui permettre de se déconnecter Expliquer l’intérêt du login Inciter au login ! Le sign-in • • • • • Friday, June 21, 13 Indiquer que le joueur est connecté Et lui permettre de se déconnecter Expliquer l’intérêt du login Inciter au login ! C’est aussi le moment de pusher les meilleurs scores et les achievements existants Leaderboards Friday, June 21, 13 Leaderboards • Friday, June 21, 13 Encore une ligne de code ! Leaderboards • • Friday, June 21, 13 Encore une ligne de code ! Classements : - Mondial - Par cercle Google+ Leaderboards • • Encore une ligne de code ! • Filtres : - Depuis le début - Cette semaine - Aujourd’hui Friday, June 21, 13 Classements : - Mondial - Par cercle Google+ Leaderboards • • Encore une ligne de code ! • Filtres : - Depuis le début - Cette semaine - Aujourd’hui • 3 types de données : - points - temps - devise Friday, June 21, 13 Classements : - Mondial - Par cercle Google+ Leaderboards • • Encore une ligne de code ! • Filtres : - Depuis le début - Cette semaine - Aujourd’hui • 3 types de données : - points - temps - devise • Le service indique que le record du joueur est battu Friday, June 21, 13 Classements : - Mondial - Par cercle Google+ Leaderboards Friday, June 21, 13 Leaderboards • Un leaderboard par mode de jeu Friday, June 21, 13 Leaderboards • • Un leaderboard par mode de jeu Si MAJ : Pousser les meilleurs scores déjà établis par le joueur Friday, June 21, 13 Leaderboards • • • Un leaderboard par mode de jeu Si MAJ : Pousser les meilleurs scores déjà établis par le joueur Vérifier l’ordre des classements avant la publication Friday, June 21, 13 Achievements Friday, June 21, 13 Achievements • Friday, June 21, 13 Toujours une ligne de code... Achievements • • Friday, June 21, 13 Toujours une ligne de code... Possibilité d’avoir des achievements incrémentaux Achievements • • • Friday, June 21, 13 Toujours une ligne de code... Possibilité d’avoir des achievements incrémentaux Achievements cachés ! Achievements • • • • Friday, June 21, 13 Toujours une ligne de code... Possibilité d’avoir des achievements incrémentaux Achievements cachés ! Distribuez des points, les joueurs en raffolent ! Achievements Friday, June 21, 13 Achievements • Objectif = rejouabilité : actions hors schéma normal Friday, June 21, 13 Achievements • • Objectif = rejouabilité : actions hors schéma normal Des achievements funs Friday, June 21, 13 Achievements • • • Objectif = rejouabilité : actions hors schéma normal Des achievements funs Des achievements pour les loosers ! Friday, June 21, 13 Achievements • • • • Objectif = rejouabilité : actions hors schéma normal Des achievements funs Des achievements pour les loosers ! Si MAJ : Pousser les achievements déjà accomplis Friday, June 21, 13 Achievements • • • • • Objectif = rejouabilité : actions hors schéma normal Des achievements funs Des achievements pour les loosers ! Si MAJ : Pousser les achievements déjà accomplis Possibilité de traduire les achievements Friday, June 21, 13 Achievements • • • • • • Objectif = rejouabilité : actions hors schéma normal Des achievements funs Des achievements pour les loosers ! Si MAJ : Pousser les achievements déjà accomplis Possibilité de traduire les achievements Une image pour chaque achievement Friday, June 21, 13 Achievements • • • • • • • Objectif = rejouabilité : actions hors schéma normal Des achievements funs Des achievements pour les loosers ! Si MAJ : Pousser les achievements déjà accomplis Possibilité de traduire les achievements Une image pour chaque achievement 5 achievements minimum... 50 conseillés ! Friday, June 21, 13 Cloud Save Friday, June 21, 13 Cloud Save • Quelques lignes de code... Friday, June 21, 13 Cloud Save • • Quelques lignes de code... Gratuit ! Friday, June 21, 13 Cloud Save • • • Quelques lignes de code... Gratuit ! Cross platform ! Friday, June 21, 13 Cloud Save • • • • Quelques lignes de code... Gratuit ! Cross platform ! 4 slots disponibles par jeu Friday, June 21, 13 Cloud Save Friday, June 21, 13 Cloud Save • Charger les données du cloud au lancement du jeu Friday, June 21, 13 Cloud Save • • Charger les données du cloud au lancement du jeu Sauvegarder dès que possible Friday, June 21, 13 Cloud Save • • • Charger les données du cloud au lancement du jeu Sauvegarder dès que possible Gérer les conflits Friday, June 21, 13 Cloud Save • • • • Charger les données du cloud au lancement du jeu Sauvegarder dès que possible Gérer les conflits Attention aux mises à jour Friday, June 21, 13 Cloud Save Friday, June 21, 13 Cloud Save Nexus 4 : Score Arcade 1000, level 10 challenge iPad 3 : Score Arcade 1337, level 8 challenge Friday, June 21, 13 Cloud Save Nexus 4 : Score Arcade 1000, level 10 challenge iPad 3 : Score Arcade 1337, level 8 challenge Friday, June 21, 13 Cloud Save Nexus 4 : Score Arcade 1000, level 10 challenge iPad 3 : Score Arcade 1337, level 8 challenge public void onStateConflict(int stateKey, String resolvedVersion, byte[] localData, byte[] serverData) { ... } Friday, June 21, 13 Cloud Save Nexus 4 : Score Arcade 1000, level 10 challenge iPad 3 : Score Arcade 1337, level 8 challenge public void onStateConflict(int stateKey, String resolvedVersion, byte[] localData, byte[] serverData) { ... } Friday, June 21, 13 Cloud Save Nexus 4 : Score Arcade 1000, level 10 challenge iPad 3 : Score Arcade 1337, level 8 challenge public void onStateConflict(int stateKey, String resolvedVersion, byte[] localData, byte[] serverData) { ... } Score Arcade 1337, level 10 challenge Friday, June 21, 13 Customisation Friday, June 21, 13 Customisation • Données de classements récupérables facilement Friday, June 21, 13 Customisation • • Données de classements récupérables facilement Personnaliser et intégrer à votre application Friday, June 21, 13 Customisation • • • Données de classements récupérables facilement Personnaliser et intégrer à votre application Garder les fonctionnalités Friday, June 21, 13 Raw data Friday, June 21, 13 Raw data • Quelques lignes de code pour avoir toute les infos sur un joueur Friday, June 21, 13 Raw data • • Quelques lignes de code pour avoir toute les infos sur un joueur Indiquer lorsque le joueur bat un de ses amis... Friday, June 21, 13 Raw data • • • Quelques lignes de code pour avoir toute les infos sur un joueur Indiquer lorsque le joueur bat un de ses amis... Situer le joueur dans les classements Friday, June 21, 13 Raw data • • • • Quelques lignes de code pour avoir toute les infos sur un joueur Indiquer lorsque le joueur bat un de ses amis... Situer le joueur dans les classements Afficher le score restant pour battre le record du monde Friday, June 21, 13 Raw data • • • • • Quelques lignes de code pour avoir toute les infos sur un joueur Indiquer lorsque le joueur bat un de ses amis... Situer le joueur dans les classements Afficher le score restant pour battre le record du monde Vers l’infini et au delà ! Friday, June 21, 13 Multiplayer Friday, June 21, 13 Multiplayer • Friday, June 21, 13 Gratuit ! Multiplayer • • Friday, June 21, 13 Gratuit ! Pas de serveur à gérer Multiplayer • • • Friday, June 21, 13 Gratuit ! Pas de serveur à gérer Solution (presque) clé en main Multiplayer • • • • Friday, June 21, 13 Gratuit ! Pas de serveur à gérer Solution (presque) clé en main Jusqu’à 4 joueurs Multiplayer • • • • • Friday, June 21, 13 Gratuit ! Pas de serveur à gérer Solution (presque) clé en main Jusqu’à 4 joueurs Le cross platform pour bientôt? Anti piracy Friday, June 21, 13 Anti piracy • Friday, June 21, 13 Activable en un clic dans la console Google Play Anti piracy Friday, June 21, 13 • Activable en un clic dans la console Google Play • Marche aussi pour les jeux gratuits Anti piracy Friday, June 21, 13 • Activable en un clic dans la console Google Play • Marche aussi pour les jeux gratuits • Fonctionnement similaire à l’Application Licensing Anti piracy Friday, June 21, 13 • Activable en un clic dans la console Google Play • Marche aussi pour les jeux gratuits • Fonctionnement similaire à l’Application Licensing • Possibilité d’éduquer le joueur au lieu de le punir Anti piracy Friday, June 21, 13 • Activable en un clic dans la console Google Play • Marche aussi pour les jeux gratuits • Fonctionnement similaire à l’Application Licensing • Possibilité d’éduquer le joueur au lieu de le punir • Par exemple avec un (faux) achievement? Anti piracy Friday, June 21, 13 • Activable en un clic dans la console Google Play • Marche aussi pour les jeux gratuits • Fonctionnement similaire à l’Application Licensing • Possibilité d’éduquer le joueur au lieu de le punir • Par exemple avec un (faux) achievement? Conclusion Friday, June 21, 13 Conclusion • Friday, June 21, 13 Un vrai + pour vos jeux Conclusion • • Friday, June 21, 13 Un vrai + pour vos jeux Une vraie demande des joueurs Conclusion • • • Friday, June 21, 13 Un vrai + pour vos jeux Une vraie demande des joueurs Idéal pour le cross platform Conclusion • • • • Friday, June 21, 13 Un vrai + pour vos jeux Une vraie demande des joueurs Idéal pour le cross platform Pas réservé uniquement aux jeux? Des questions? Friday, June 21, 13 Des questions? Friday, June 21, 13