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 usar 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 nem 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 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 da 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 da 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 cerca que o app usa.

Exemplo de chamada

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