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:
- Abre el Administrador de SDK de Android.
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:
- Ve a Google Developers Console.
- Crea o selecciona un proyecto para registrar tu aplicación.
- Haz clic en Continuar para habilitar la API.
- 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. - 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
- 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:
- Busca la ubicación de tu almacén de claves.
- En una terminal, ejecuta la utilidad
keytooldel JDK. Por ejemplo, si usas el almacén de claves`debug`, haz lo siguiente: - El resultado del comando
keytoolcontiene la huella digital SHA1 del certificado.
$ 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/. En Windows, suele encontrarse en
%USERPROFILE%\.
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.