구글이 새로운 상황인지 API, Awareness API(구글 어웨어니스 API)를 발표하였습니다.


진행 중인 프로젝트의 특성상 이 API의 정보를 살펴봐야 했기에,  먼저 Overview(개괄) 부분부터 살펴보았습니다.


아래 내용은 Awareness API overview 페이지(링크)를 번역한 내용입니다.


원본 페이지의 제목 부분은 그대로 작성하였습니다.


또한, 아래에서 등장하는 context라는 단어는 맥락이라고 번역할 수도 있었지만, 그렇게 번역했을 때 매끄럽지도 않다고 생각하고, 해당 API의 핵심 keyword라고 판단해서 굳이 번역하지 않았습니다.


오타 및 매끄럽지 않은 번역에 대한 지적은 언제나 환영합니다.


What is the Awareness API?

  • 구글 Awareness API를 사용하면, 사용자의 현재 상황에 지능적으로 반응하는 앱을 만들 수 있다.
  • Awareness API는 7개의 다른 context를 감지할 수 있으며, 앱에서 이전에는 불가능했던 방법으로 사용자 경험을 개선할 수 있다.
  • 앱에서는 이런 context 신호를 조합하여 사용자의 현재 상황을 추론할 수 있으며, 이런 정보를 이용하여 사용자가 헤드폰을 꽂고 조깅을 시작할 때 재생 목록을 추천하는 등의 개개인의 요구에 맞춘 경험을 제공할 수 있다.


Awareness API benefits


Awareness API는 여러 가지 혜택을 제공한다.

  • 구현의 용이성 : 오직 하나의 API만 앱에 추가하면 되며, 이는 통합을 매우 단순하게 하며 생산성을 향상시킨다.
  • 보다 나은 context 데이터 : 가공되지 않은 신호들은 품질 향상을 위해 가공된다. 예로, 진보된 알고리즘이 유저의 활동을 높은 적중률로 결정한다.
  • 시스템 상태의 최적화: Awareness API는 자동적으로 데이터와 배터리 사용량의 영향을 관리하며, 따라서 앱에서는 그런 작업을 수행할 필요가 없다.



Fences and snapshots


Awareness API는 2개의 구분된 API로 구성되어 있으며, 이 API를 사용하여 앱이 context 신호를 얻어서 사용자의 현재 상황을 결정할 수 있다.

  • Fence API : 앱이 유저의 현재 상황에 반응할 수 있고, 특정 context 조건의 조합이 만족되었을 때 알림을 제공할 수 있다.
    예시 : ‘사용자가 걷고 있고, 헤드폰이 꽂혀 있을 때 알려달라’
    한번 fence가 등록되면, Fence API는 앱이 실행되고 있지 않더라도 콜백을 보낼 수 있다.
  • Snapshot API : 앱이 사용자의 현재 context의 정보를 요청할 수 있다.
    예시 : ‘사용자의 현재 위치와 현재 날씨 정보를 달라’



Context types


Context는 Awareness API의 핵심이다. 

Contextual data는 위치(위도, 경도), 장소(집, 직장, 커피숍), 활동(걷기, 운전 중) 등과 같이 센서에서 전달되는 데이터를 포함한다.

이러한 기본 신호는 사용자의 상황을 좀 더 구체적으로 추론하기 위해 조합될 수 있다.
아래의 표는 Awareness API에서 제공하는 기본적인 context들에 대한 설명이다.

 Context Type

예시 

Time(시간) 

현재 시간 

Location(위치) 

위도와 경도 

Place(장소) 

장소 (장소의 유형을 포함)

Activity(활동) 

감지된 사용자 활동(걷기, 뛰기, 자전거 타기) 

Beacons(비컨) 

근처의 비컨(namespace, context, 유형 포함) 

Headphones(헤드폰)

헤드폰이 플러그인되어 있는가?

Weather(날씨) 

현재 날씨 조건