Dar os primeiros passos

Este documento explica como começar a desenvolver com a API Awareness no Android. A Awareness API 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 conseguiu uma chave de API do Google, siga as etapas em Inscrição e chaves de API.

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 no nível do app do seu módulo, que geralmente é app/build.gradle:

    dependencies {
      implementation 'com.google.android.gms:play-services-awareness:19.0.1'
    }
    
  3. Adicione a chave de API de reconhecimento ao arquivo AndroidManifest.xml do seu 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 de reconhecimento, 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 seu app. As permissões necessárias variam, dependendo dos métodos de API e dos tipos de limite que o app usa.

Exemplo de chamada

A chamada de exemplo 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: