google play games services

23
1 Google Play Games Services

Upload: facundo-rodriguez-arceri

Post on 25-May-2015

366 views

Category:

Software


5 download

DESCRIPTION

Charla esférica sobre las posibilidades de Google Play Services.

TRANSCRIPT

Page 1: Google Play Games Services

1

Google Play Games Services

Page 2: Google Play Games Services

2

Objetivo

● Dar una introducción al SDK

● Pensar en qué productos podemos utilizar estos features

Page 3: Google Play Games Services

3

¿Qué es?

● Plataforma social de Gamification de Google – Se apoya sobre Google+

● Son los últimos en llegar al mercado– Facebook Games APIs

– Apple Game Center

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

Page 4: Google Play Games Services

4

Features

● Multiplataforma (Android, iOS, Web)● Logros (Achievements)● Marcadores (Leaderboards)● Guardar datos del juego en la nube● Modos multijugador

Page 5: Google Play Games Services

5

SDK

● Se baja desde el SDK Manager● Se importa el proyecto BaseGameUtils y se marca

como dependencia● Se agrega en el Manifest

<meta-data

android:name="com.google.android.gms.version"

android:value="@integer/google_play_services_version" />

<meta-data

android:name="com.google.android.gms.games.APP_ID"

android:value="@string/app_id" />

Page 6: Google Play Games Services

6

Page 7: Google Play Games Services

7

Google Play Developer Console

● La configuración es conflictiva*– Se crea un Juego

– El Juego tiene los marcadores y logros

– Se lo vincula con distintas “Aplicaciones”● Hay que agregar una “Aplicación” por keystore que se

utilice para firmar los .apk

– Pueden pasar varias horas hasta que se publiquen los cambios en la configuración

“Avoiding common setup issues” https://developers.google.com/games/services/bestpractices

Page 8: Google Play Games Services

8

Page 9: Google Play Games Services

9

Configurar la app

● Nuestras actividades tienen que extender BaseGameActivity

● Se implementa un login de Google+– Llamar a beginUserInitiatedSignIn()

– Implementar● onSignInSucceeded()● onSignInFailed()

Page 10: Google Play Games Services

10

Sesión y métodos útiles

● Todos los tutoriales aconsejan usar la BaseGameActivity y los métodos que provee, ya que esta clase ya maneja la sesión del usuario.

● Métodos útiles– GamesClient getGamesClient()

– boolean isSignedIn()

– void signOut()

Page 11: Google Play Games Services

11

Setup listo!

Page 12: Google Play Games Services

12

Login automático

Page 13: Google Play Games Services

13

A ponerse creativos

● Todos los logros y macadores se deben crear desde la consola de Google Play

● Ahí es donde se editan los detalles– ¿el marcador es ascendente o descendente?

– ¿el logro es único o incremental?

– ¿cuál es el ícono del logro?

Page 14: Google Play Games Services

14

Logros

● Atributos de un logro– id: necesario para informar desde la app

– name: ejemplo “Mago Aprendíz”

– description: explica al usuario cómo destrabar el logro, ejemplo: “Completa tu primer partida”

– icon

– list order

Page 15: Google Play Games Services

15

Logros

● Estados– hidden: Google Play no le muestra al usuario el ícono y descripción

del logro

– revealed: se le muestra la usuario todo el detalle del logro, tal cual se cargó

– unlocked: logro que el usuario ya obtuvo :-)

● Tipos de logros– Únicos: El usuario los obtiene al hacer una acción

– Incrementales: Para obtenerlo, el usuario debe completar una acción una cierta cantidad de veces

Page 16: Google Play Games Services

16

Logros

● Obtener un logro único– getGamesClient().unlockAchievement("id");

● Incrementar el contador de un logro– getGamesClient().incrementAchievement("id", 1);

Page 17: Google Play Games Services

17

Marcadores

Page 18: Google Play Games Services

18

Logros del usuario

● Mostrar los logros al usuario– startActivityForResult(getGamesClient().getAchievemen

tsIntent(), REQUEST_ACHIEVEMENTS);

Page 19: Google Play Games Services

19

Marcadores

● Se pueden tener muchos (hasta 70) leaderboards● La app tiene que reportar el puntaje para el

leaderboard en un momento determinado– getGamesClient().submitScore(“general_ranking”), finalScore);

● Google se encarga del orden y de avisarte si es tu nuevo highscore

● Por cada leaderboard se crea automáticamente el diario, mensual y general, además del filtro de ver sólo a quienes están en tus círculos.

Page 20: Google Play Games Services

20

Marcadores

● Mostrar un leaderboard– startActivityForResult(getGamesClient().getLeaderboar

dIntent(“general_ranking”, 1);

Page 21: Google Play Games Services

21

Otros aspectos a considerar

● Recomendaciones básicas de UX en charlas de Google I/O 2013

● Quota y límite de velocidad– Magical Maestro: (50,000,000 requests/day)

● Se pueden reportar highscores y destrabar logros estando offline

Page 22: Google Play Games Services

22

Conclusiones

● Es difícil de configurar, pero fácil de usar● Se debe actualizar la app por cada nuevo logro que

se agregue :-(● La interfáz gráfica es homogénea para todas las

apps (a diferencia de Facebook)● Los juegos más populares del momento no están

usando esta plataforma● Hay expectativa de que crezca y agregue más

features

Page 23: Google Play Games Services

23

¡¡¡Muchas gracias!!!