Начать

В этом документе объясняется, как начать разработку с помощью Awareness API на Android. Awareness API входит в состав сервисов Google Play.

Чтобы использовать Awareness API, вам понадобится аккаунт Google. Если он у вас уже есть, то этот шаг можно пропустить. Также возможно, что вам понадобится отдельный аккаунт Google для тестирования.

Подготовка

Как получить ключ API

Если вы ещё не включили Awareness API и не получили ключ API Google, выполните действия, описанные в разделе Регистрация и ключи API.

Настройка приложения

  1. В файле build.gradle на уровне проекта добавьте репозиторий Google Maven в разделы buildscript и allprojects:

    buildscript {
        repositories {
            google()
        }
    }
    
    allprojects {
        repositories {
            google()
        }
    }
    
  2. Добавьте зависимости для Awareness API в файл Gradle на уровне приложения, который обычно называется app/build.gradle:

    dependencies {
      implementation 'com.google.android.gms:play-services-awareness:20.0.0'
    }
    
  3. Добавьте ключ Awareness API в файл AndroidManifest.xml приложения. Для этого добавьте тег <meta-data> с директивой android:name="com.google.android.awareness.API_KEY". В поле android:value вставьте собственный ключ API Awareness, заключив его в кавычки.

    <manifest>
        <application>
            <meta-data
                android:name="com.google.android.awareness.API_KEY"
                android:value="API_KEY"/>
        </application>
    </manifest>
  4. Добавьте необходимые разрешения в файл AndroidManifest.xml приложения. Необходимые разрешения зависят от методов API и типов ограждений, которые использует ваше приложение.

Пример звонка

В следующем примере вызова getDetectedActivity() показано, как использовать модель сервисов Google Play без подключения с Awareness API:

    // 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");
            }
        })

Дальнейшие действия

Подробнее о разных API в составе Awareness API: