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. Para fins de teste, utilize uma Conta do Google separada.

Antes de começar

Receber uma chave de API

Se você ainda não tiver ativado a API Awareness e obtido 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 no nível 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.1.0'
    }
    
  3. Adicione a chave de API do Awareness ao arquivo AndroidManifest.xml do app. Para fazer isso, adicione uma tag <meta-data> com android:name="com.google.android.awareness.API_KEY". Em android:value, insira sua própria chave de API do 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 de acordo com os métodos de API e os tipos de restrições que o app usa.

Exemplo de chamada

O exemplo de chamada a seguir para getDetectedActivity() demonstra como usar o modelo sem conexão dos serviços do Google Play 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: