Comenzar

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

Para usar la API de Awareness, necesitas 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.

Antes de comenzar

Cómo obtener una clave de API

Si aún no habilitaste la API de Awareness ni obtuviste una clave de API de Google, sigue los pasos que se indican en Registro y claves de API para hacerlo.

Cómo configurar tu app

  1. En el archivo build.gradle a nivel de proyecto, incluye el repositorio Maven de Google en las secciones buildscript y allprojects:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. Agrega las dependencias de la API de Awareness al archivo Gradle a nivel de la app de tu módulo, que suele ser app/build.gradle:

    dependencies {
      implementation 'com.google.android.gms:play-services-awareness:19.1.0'
    }
    
  3. Agrega tu clave de API de Awareness al archivo AndroidManifest.xml de tu app. Para ello, agrega una etiqueta <meta-data> con android:name="com.google.android.awareness.API_KEY". Para android:value, inserta tu propia clave de API de Awareness, entre comillas.

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.awareness.API_KEY"
                android:value="API_KEY"/>
        </application>
    </manifest>
  4. Agrega los permisos necesarios al archivo AndroidManifest.xml de tu app. Los permisos necesarios varían según los métodos de API y los tipos de cercas que use tu app.

Llamada de ejemplo

En la siguiente llamada de ejemplo a getDetectedActivity(), se muestra cómo usar el modelo de servicios de Google Play sin conexión con la API de Awareness:

    // Each type of contextual information in the snapshot API has a corresponding "get" method.
    // For instance, this is how to get the user's current Activity.
    Awareness.getSnapshotClient(this).getDetectedActivity()
        .addOnSuccessListener(new OnSuccessListener<DetectedActivityResponse>() {
            @Override
            public void onSuccess(DetectedActivityResponse dar) {
                ActivityRecognitionResult arr = dar.getActivityRecognitionResult();
                // getMostProbableActivity() is good enough for basic Activity detection.
                // To work within a threshold of confidence,
                // use ActivityRecognitionResult.getProbableActivities() to get a list of
                // potential current activities, and check the confidence of each one.
                DetectedActivity probableActivity = arr.getMostProbableActivity();

                int confidence = probableActivity.getConfidence();
                String activityStr = probableActivity.toString();
                mLogFragment.getLogView().println("Activity: " + activityStr
                    + ", Confidence: " + confidence + "/100");
            }
        })

Próximos pasos

Obtén más información sobre las diferentes APIs de la API de Awareness: