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 los Servicios de Google Play

La API de Nearby Messages está disponible en dispositivos Android con los Servicios de Google Play 7.8.0 o versiones posteriores. Los dispositivos que ejecutan Android 2.3 o versiones posteriores que tienen la app de Google Play Store reciben automáticamente actualizaciones de los Servicios de Google Play. 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 para los Servicios de Google Play en tu host de desarrollo:

  1. Abre el Administrador de SDK de Android.
  2. En Apariencia y comportamiento > Configuración del sistema > SDK de Android > Herramientas del SDK, asegúrate de que estén instalados los siguientes paquetes:

    • Servicios de Google Play
    • Google Repository

Paso 2: Obtén una Cuenta de Google

Para usar las APIs de Nearby Messages, necesitas una Cuenta de Google. Esto es para que tú, el desarrollador, puedas habilitar la API de Nearby en el siguiente paso (tus 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 Cuenta de Google separada para fines de prueba.

Paso 3: Obtén una clave de API

Sigue estos pasos para habilitar la API de Google Nearby Messages 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 la API).
    Nota: Si tienes una clave de Android existente, puedes usarla.
  5. En el diálogo resultante, 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 la siguiente:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Obtén la huella digital SHA1 de tu certificado

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

Para obtener esta huella digital, haz lo siguiente:

  1. Busca la ubicación de tu almacén de claves.
  2. En una terminal, ejecuta la utilidad keytool del 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 Mac OS y Linux, el almacén de claves de depuración suele encontrarse en ~/.android/debug.keystore. En Windows, suele encontrarse en %USERPROFILE%\.android\debug.keystore.

  4. El resultado del comando keytool contiene la huella digital SHA1 del 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 una dependencia:

apply plugin: 'android'
...

dependencies {
    compile 'com.google.android.gms:play-services-nearby:19.3.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: Publica y suscríbete

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 publicación o la suscripción, Nearby mostrará un diálogo de aceptación.