Cómo comenzar a usar los Servicios de juego de Play para C++ en Android

En esta guía para desarrolladores, se muestra cómo compilar y ejecutar un juego C++ en Android que usa la API de los Servicios de juego de Google Play. Antes de comenzar, descarga y configura los siguientes requisitos:

En esta guía para desarrolladores, se usa el kit de desarrollo nativo (NDK) de Android. Si no estás familiarizado con el NDK, consulta la documentación y los ejemplos del NDK antes de continuar.

Paso 1: Configura tu entorno

  1. Descarga el SDK de Android y el NDK de Android, y extráelos en tu máquina. En tu entorno, establece SDK_ROOT en la ubicación de la carpeta del SDK de Android y NDK_ROOT en la ubicación de la carpeta del NDK de Android.
  2. Descarga los juegos de muestra de C++. En esta guía para desarrolladores, se hace referencia a la ubicación de las muestras en tu máquina como SAMPLES_DIR.
  3. Descarga el SDK de C++ para los servicios de Google Play Juegos. Extrae el SDK en tu máquina de desarrollo. En tu entorno, establece la variable NDK_MODULE_PATH para que apunte al directorio anterior al directorio gpg-cpp-sdk. Debes tener la siguiente estructura de directorios:
    NDK_MODULE_PATH/
    gpg-cpp-sdk/
  4. Abre Eclipse. Si aún no lo hiciste, dile a Eclipse dónde instalaste el NDK. Para ello, haz clic en Preferences > Android > NDK.
  5. Importa el proyecto de biblioteca de los Servicios de Google Play a tu área de trabajo de Eclipse.

    1. En Eclipse, haz clic en File > Import > Android > Existing Android Code into Workspace.
    2. Selecciona SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib, donde SDK_ROOT es la ubicación de tu SDK de Android.
    3. Haz clic en Finish.
  6. Importa el proyecto de ejemplo minimalista a tu área de trabajo de Eclipse.

    1. En Eclipse, haz clic en File > Import > Android > Existing Android Code into Workspace.
    2. Selecciona SAMPLES_DIR/samples-android/minimalist.
    3. Haz clic en Finish.
  7. Haz clic con el botón derecho en el proyecto MinimalistActivity y, luego, en Properties. En Android, desplázate hacia abajo hasta la sección Library y asegúrate de que se haga referencia correctamente al proyecto google-play-services_lib. De lo contrario, quita la referencia y vuelve a agregarla desde tu lugar de trabajo.

Eclipse compilará automáticamente los orígenes de Java y Android de tu proyecto. Sin embargo, el código nativo de la carpeta jni se debe compilar por separado. Para hacerlo de forma manual, navega a la carpeta jni y ejecuta ndk-build. Recuerda hacerlo después de realizar cualquier cambio en la carpeta jni.

Ahora, tu proyecto debería compilarse, aunque aún no funcionará. Primero, debes configurar tu juego en Google Play Console.

Paso 2: Configura el juego en Google Play Console

Crea una entrada para tu juego en Google Play Console. De esta manera, se habilitarán los servicios de juegos para tu aplicación y se creará un ID de cliente de OAuth 2.0, si aún no tienes uno.

  1. Crea una entrada para tu juego siguiendo los pasos que se describen en la sección sobre cómo configurar los Servicios de juego de Google Play.
  2. En AndroidManifest.xml, cambia el atributo package de la etiqueta <manifest> al nombre del paquete que elegiste cuando configuraste Google Play Console. Es posible que debas corregir algunas referencias en todo el proyecto después de realizar este cambio (en particular, en la clase R generada).
  3. Abre res/values/ids.xml y coloca tu ID de app allí. Ten en cuenta que el ID de app no es el mismo que el ID de cliente; es el número que aparece junto al nombre de tu juego en la página Detalles del juego de Google Play Console.

Paso 3: Ejecuta la muestra

Para ejecutar la muestra, necesitarás un dispositivo Android físico o un emulador con los Servicios de Google Play instalados:

  1. Ejecuta ndk-build para compilar el código nativo.
  2. En Eclipse, haz clic en Run > Run As > Android Application y ejecuta la muestra en tu dispositivo.
  3. Cuando se abra el feed de Samples, presiona cualquier parte de la pantalla. Deberías ver el logotipo de Google Play Juegos. Si configuraste correctamente la app, se te pedirá que accedas.

Opcional: Compila automáticamente con Eclipse

En los siguientes pasos, se muestra cómo configurar Eclipse para que ejecute ndk-build automáticamente cuando realices cambios en los archivos de la carpeta jni.

  1. Haz clic con el botón derecho en el proyecto MinimalistActivity y, luego, en Properties. En la ventana Properties, selecciona el panel Builders.
  2. Haz clic en Nuevo para agregar un compilador nuevo, selecciona Program y, luego, haz clic en Aceptar.
  3. En el campo Nombre, ingresa "NDK Builder".
  4. En Ubicación, haz clic en Explorar el sistema de archivos y navega al directorio NDK_ROOT y selecciona el comando ndk-build.
  5. En Working Directory, haz clic en Browse Workspace y selecciona la carpeta del proyecto MinimalistActivity.
  6. Haz clic en la pestaña Refresh. Asegúrate de que la casilla Actualizar recursos al finalizar esté marcada.
  7. Selecciona el botón de selección Recursos específicos y, luego, haz clic en Especificar recursos. En el diálogo resultante, selecciona la carpeta jni en MinimalActivity.
  8. Haz clic en Apply y, luego, en OK para terminar de crear el compilador.

Ahora, cada vez que edites un archivo dentro de la carpeta jni, Eclipse ejecutará ndk-build e imprimirá el resultado en Eclipse Console.