Vamos começar

Este documento explica como começar a desenvolver com a API Awareness no Android. A API Awareness faz parte do Google Play Services.

Para usar a API Awareness, você precisa de uma Conta do Google. Se você já tem uma conta, então está tudo pronto. Você também pode querer uma Conta do Google separada para fins de teste.

Antes de começar

Receber uma chave de API

Se você ainda não ativou a API Awareness e recebeu uma chave de API do Google, siga as etapas em Inscrição e chaves de API para fazer isso.

Configurar o app

  1. No arquivo build.gradle do projeto, inclua o repositório Maven do Google nas seções buildscript e allprojects:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. Adicione as dependências da API Awareness ao arquivo Gradle do módulo no nível do app, que geralmente é app/build.gradle:

    dependencies {
      implementation 'com.google.android.gms:play-services-awareness:19.0.1'
    }
    
  3. Adicione a chave de API Awareness ao arquivo AndroidManifest.xml do app. Para fazer isso, adicione uma tag <meta-data> com android:name="com.google.android.awareness.API_KEY". Para android:value, insira sua própria chave de API Awareness, entre aspas.

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.awareness.API_KEY"
                android:value="API_KEY"/>
        </application>
    </manifest>
    
  4. Adicione as permissões necessárias ao arquivo AndroidManifest.xml do app. As permissões necessárias variam, dependendo dos métodos de API e dos tipos de limite usados pelo app.

Exemplo de chamada

O exemplo de chamada a seguir para getDetectedActivity() demonstra como usar o modelo sem conexão do Google Play Services com a API 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óximas etapas

Saiba mais sobre as diferentes APIs na API Awareness: