Comenzar

En este documento, se explica cómo comenzar a desarrollar con la API de Nearby Messages en Android. La API de Nearby Messages forma parte de los Servicios de Google Play.

Paso 1: Obtén Servicios de Google Play

La API de Nearby Messages está disponible en dispositivos Android con Servicios de Google Play 7.8.0 o versiones posteriores. Los dispositivos con Android 2.3 o versiones posteriores que tienen la app de Google Play Store reciben actualizaciones de los Servicios de Google Play automáticamente. Para verificar qué versión de los Servicios de Google Play está instalada en tu dispositivo, ve a Configuración > Apps > Servicios de Google Play.

Asegúrate de tener la biblioteca cliente más reciente de los Servicios de Google Play en tu host de desarrollo:

  1. Abre Android SDK Manager.
  2. En Appearance & Behavior > System Settings > Android SDK > SDK Tools, asegúrate de que se hayan instalado los siguientes paquetes:

    • Servicios de Google Play
    • Repositorio de Google

Paso 2: Obtén una Cuenta de Google

Para usar las APIs de Nearby Messages, necesitas una Cuenta de Google. De esta manera, tú, el desarrollador, puedes habilitar la API de Nearby en el siguiente paso (los usuarios no necesitarán tener una Cuenta de Google). Si ya tienes una cuenta, no tienes que hacer nada más. También puedes usar una Cuenta de Google aparte para realizar pruebas.

Paso 3: Obtén una clave de API

Sigue estos pasos para habilitar la API de Nearby Messages de Google para Android y obtener una clave de API:

  1. Ve a Google Developers Console.
  2. Crea o selecciona un proyecto para registrar tu aplicación.
  3. Haz clic en Continuar para habilitar la API.
  4. En la página Credenciales, crea una clave de Android nueva (y configura las credenciales de API).
    Nota: Si ya tienes una clave de Android, puedes usarla.
  5. En el cuadro de diálogo que se muestra a continuación, ingresa la huella digital SHA-1 y el nombre del paquete de tu app. Por ejemplo:
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
    com.example.android.nearbyexample
  6. Tu nueva clave de API de Android aparece en la lista de claves de API de tu proyecto. Una clave de API es una cadena de caracteres similar a lo siguiente:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Obtén la huella digital SHA1 de tu certificado

Si quieres crear una clave de API nueva para tu app para Android, necesitas la huella digital SHA1 del certificado que usas para firmar el APK. Los mensajes solo se pueden intercambiar entre apps firmadas con claves de API del mismo proyecto.

Para obtenerla:

  1. Busca la ubicación del almacén de claves.
  2. En una terminal, ejecuta la utilidad keytool desde el JDK. Por ejemplo, si usas el almacén de claves `debug`, haz lo siguiente:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    Nota: Para el almacén de claves de depuración, la contraseña es android. En macOS y Linux, el almacén de claves de depuración suele encontrarse en ~/.android/debug.keystore. En Windows, por lo general, se encuentra en %USERPROFILE%\.android\debug.keystore.

  4. El resultado del comando keytool contiene la huella digital SHA1 para el certificado.

Paso 4: Configura tu proyecto

Android Studio facilita la creación de un proyecto para la API de Nearby Messages. Sigue los pasos que se describen en Cómo crear un proyecto para crear un proyecto nuevo. En Android Studio, abre el archivo build.gradle de tu módulo y agrega la biblioteca cliente de los Servicios de Google Play como dependencia:

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.1.0'
}

Luego, configura tu manifiesto con la clave de API generada en el paso anterior:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.sample.app" >
    <application ...>
        <meta-data
            android:name="com.google.android.nearby.messages.API_KEY"
            android:value="API_KEY" />
        <activity>
        ...
        </activity>
    </application>
</manifest>

Paso 5: Publicación y suscripción

En tu app, comienza a usar la API de Nearby Messages.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    mMessageListener = new MessageListener() {
        @Override
        public void onFound(Message message) {
            Log.d(TAG, "Found message: " + new String(message.getContent()));
        }

        @Override
        public void onLost(Message message) {
            Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
        }
    }

    mMessage = new Message("Hello World".getBytes());
}

@Override
public void onStart() {
    super.onStart();
    ...
    Nearby.getMessagesClient(this).publish(mMessage);
    Nearby.getMessagesClient(this).subscribe(mMessageListener);
}

@Override
public void onStop() {
    Nearby.getMessagesClient(this).unpublish(mMessage);
    Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
    ...
    super.onStop();
}

La API de Nearby Messages requiere el consentimiento del usuario. Cuando se invoca por primera vez la opción de publicar o suscribirse, Nearby mostrará un diálogo de aceptación.