안드로이드 Google play services 8.4 sdk - 무엇이 바뀌었을까 :)
Google play services 8.4 SDK 가 배포되었습니다 :) 안드로이드의 다양한 API 들을 Play Service 에 점차 통합시켜가고 있는 구글의 이번 8.4 버전에는 어떤 점이 바뀌었는지 알아봅시다.
다음 글은, Android Developer Blog 의 글을 번역한 내용입니다.
Google Play Services 8.4가 사용가능해졌다. 어떤 새로운 기능들을 사용할 수 있는 지 알아보자.
Custom Email 앱 초대
앱 초대 기능을 통해 유저들이 친구들에게 앱을 보다 쉽게 추천할 수 있게 되었다. Google Play Services 8.4에서는 email을 통해 보다 쉽게 이 기능을 사용할 수 있도록 만들었다. 이전에 같은 기능을 구현하고자 하면, 이메일 공유를 통해 미리 정의 된 글자와 이미지를 붙여 기본 이메일 앱을 띄웠으나 앱에서 바로 내용을 붙여 이메일을 보낼 수 있도록 구현했다. 이것은 이메일의 내용을 HTML로 채울 수 있기 때문에 보다 효과적으로 유저들에게 추천 할 앱에 대해 알려줄 수 있다. 예를 들어 만약 당신이 좋아하는 요리앱을 사용을 하다 친구에게 마음에 드는 레시피를 보내며 앱을 사용하도록 권할 수 있다는 의미이다. 이것들은 좀 더 앱을 설치하는 데 결정을 할 수 있도록 다양한 컨텐츠들을 넣을 수 있는 장점이 있다. 샘플은 Github 을 참고하기 바란다.
게임에서 유저의 상태를 자세히
Play Games 분석을 통해 좀 더 개발자가 알기 쉽고 관리가 용이하며 플레이어의 라이프사이클을 알 수 있도록 제공한다. Player Stats API 를 통해 플레이어의 행동, 게임에 어느정도 머물러있는지 등에 대해 더욱 많은 정보를 제공한다.
이런 기능을 통해 이를테면 플레이어가 어떤 레벨에 멈추어 있을 때 자꾸 게임을 안하게 되는 경우가 있는데, 새로운 컨텐츠를 만들어 플레이어에게 재미를 제공하거나 도움을 줄 수 있다.
위치 제공자의 융합
The Fused Location Provider (FLP)는 당신의 앱이 GPS, Wifi, 기지국등을 통해 위치를 융합하여 제공받을 수 있게 된다.
FLP는 GPS를 사용하지 않고 Wifi, 기지국등을 통해 위치를 찾아 좀 더 배터리 소모량을 줄이고 정확한 위치를 알 수 있도록 도와준다. Google Play Services 8.4 에서는 기지국을 통해 위치를 찾는 방식이 대폭 개선이 되었다. 현재 방식보다 기지국을 통해 받아오는 위치의 정확도가 개선이 이루어졌다. 또한 GPS가 잘 잡히지 않는 실내의 경우에도 Wifi로 연결되어 있을 경우 Wifi 액세스 포인트를 통해 위치를 찾는 방식을 개선했다.
Maps API 강화
아마 맵에서 터치했을 때 레이어를 따로 추가하여 터치를 받지 않고 맵 자체에서 쉽게 사용하고 싶은 생각을 해본적이 없는가? 맵의 Polygons 에 onClickListener를 추가하였다. 때문에 맵에서 일정 지역을 터치했을 때 이벤트를 발생시키고 싶다면 투명한 Polygons를 지정하여 손쉽게 클릭 이벤트를 캐치할 수 있다. 이 뿐만 아니라 polylines와 ground overlays에도 클릭 이벤트를 추가하였다.
map.setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() {
@Override
public void onPolygonClick(Polygon polygon) {
...
}
});
InfoWindow (맵에서 마커를 클릭 했을 때 상단에 뜨는 정보 윈도우)에도 OnInfoWindowCloseListener와 onInfoWindowLongClickListener가 추가되었다. 이를 통해 좀 더 효과적으로 코딩이 가능할 것이다.
mMap.setOnInfoWindowCloseListener(new GoogleMap.OnInfoWindowCloseListener() {...});
mMap.setOnInfoWindowLongClickListener(new GoogleMap.OnInfoWindowLongClickListener() {...});
좀 더 자세한 내용을 알고 싶다면 Github의 샘플코드나 혹은 historical changes를 참고하기 바란다.
Aztec bar codes를 지원
Google Play Services 7.8에서 우리는 Vision API (얼굴인식 혹은 바코드 탐지)를 추가했었다. 바코드 중 Aztec bar codes 형식은 지원하지 않았으나 8.4에서는 지원이 된다. BarcodeDetector를 사용 시 기본 설정으로 사용하게 되면 Aztec codes를 자동으로 인식한다.
백그라운드에서 비콘을 스캔
Google Play Services 8.4에서는 Nearby Message API를 지원한다. 백그라운드에서 비콘을 스캔할 수 있게 되었다. 때문에 앱을 최상위로 띄우지 않더라도 비콘의 상태를 감지해 다양한 활동이 가능하다. Google Play Services 7.8에서는 Nearby Message API 와 함께 간단한 인터페이스만 제공되었다. 비콘의 경우에는 개발자들이 비콘의 상태를 Proximity Beacon API를 사용해 상태를 저장하고 있었다. 이를 앱의 백그라운드에서도 계속 캐치해야 되는 부분이 필요한 듯 했다. 새로운 메소드인 subscribe를 이용하면 사용이 가능하며 연결이 끊어지면 unsubscribe 이벤트가 호출된다.
피트니스 플랫폼 HistoryAPI 강화
구글 Fit app을 통해 걸음 수를 알 수 있게 되었다. 웨어의 watch faces나 다른 피트니스 앱들의 경우 HistoryApi.readDailyTotal() 메서드를 사용하여 이를 알 수 있다. 좀 더 자세한 내용은 아래 문서를 참고하기 바란다.
또한 HistoryApi.updateData()를 호출하게 되면 데이터를 갱신할 수 있다.
Place Picker 자동완성 위젯
Place Picker 에 자동완성이 가능해졌다. 이를 통해 유저가 장소의 이름이나 주소를 입력 시 조금 더 쉽게 입력을 할 수 있게 되었다. 개발자들도 이를 활용하면 조금 더 코드의 양을 줄 일 수 있을 것이다. 좀 더 자세한 내용은 해당 포스트를 참고하기 바란다.
+ Place Picker, 맵쪽의 기능 강화, 백그라운드 비콘 스캔, 위치와 관련된 내용들이 현재 작업하고 있는 앱들에 큰 도움이 될 듯 합니다 :)