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 la versión 7.8.0 o posterior de los Servicios de Google Play. Los dispositivos que ejecutan Android 2.3 o versiones posteriores y 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 Android SDK Manager.
  2. En Appearance & Behavior > System Settings > Android SDK > SDK Tools, 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 una Cuenta de Google separada para fines de prueba.

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 en el que registrar tu aplicación.
  3. Haz clic en Continuar para habilitar la API.
  4. En la página Credenciales, crea una nueva clave de Android (y configura las credenciales de la API).
    Nota: Si ya tienes una clave de Android, 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 string 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 firmadas con claves de API del mismo proyecto.

Para obtener esta huella dactilar, haz lo siguiente:

  1. Busca la ubicación de tu 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: En el caso del 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 uno nuevo. En Android Studio, abre el archivo build.gradle de tu módulo y agrega la biblioteca de 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

Comienza a usar la API de Nearby Messages en tu app.

@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 muestra un diálogo de habilitación.