본문 바로가기
개발/Google Developers korea 블로그

안드로이드 6.0 마시멜로의 Doze 모드에서 GCM 메시지가 어떻게 동작할까요?

by darksilber 2015. 10. 16.
반응형

출처 - http://googledevkr.blogspot.kr/

 

2015년 10월 13일 화요일

안드로이드 6.0 마시멜로의 Doze 모드에서 GCM 메시지가 어떻게 동작할까요?

posted by, Laurence Moroney, Developer Advocate


안드로이드 6.0 마시멜로에는 "Doze (졸음)"라는 새로운 배터리 절약 기능이 도입되었습니다. 장치가 충전 중이 아니고, 화면이 꺼져있는 상태에서 한동안 움직이지 않고 방치되어 있으면, Doze 모드가 시작됩니다. Doze 모드에 진입하면, 배터리를 절약하기 위해 네트워크 사용이 제한되고, 앱에서 미리 등록한 작업들도 뒤로 미루어집니다. 미루어진 작업은 일정 간격마다 idle maintenance 상태에서 묶어서 처리됩니다.


여러분의 앱이 Google Cloud Messaging (GCM)를 사용하고 있는 경우, Doze 모드에서 여러분이 앱이 의도한 대로 동작하는지 다음 사항을 확인해봐야합니다.

GCM 메세지 우선순위에는 “High”와 “Normal” 두 개의 우선순위가 있습니다. “High" 우선순위는 안드로이드 6.0 개발자 프리뷰에서 새롭게 추가되었습니다. 이를 사용하면 GCM 메시지는 즉시 전달되며, 필요한 경우 Doze 모드 상태에서 장치를 깨웁니다. 그러나 우선순위를 별도로 지정하지 않으면, 기본으로 적용되는 "Normal" 우선순위가 사용되면 경우, Doze 상태에서는 다음과 같이 GCM이 동작합니다.

  • 가장 큰 변화로, “Normal” 순위 GCM 메시지는 장치가 Doze 상태에서는 앱으로 전달되지 않으며, idle maintenance 상태에서 한 번에 대량으로 처리됩니다.
  • Doze 모드 중에 time_to_live 값이 만료된 메시지 (TTL = 0 포함)은 삭제됩니다.

Doze 모드는 디바이스의 배터리 사용량을 최소화하기 위해 추가되었습니다. 따라서 꼭 필요한 경우가 아니면 배터리에 미치는 영향을 고려하여 "Normal" 우선순위의 GCM 메시지를 활용할 것을 권장해 드립니다 설명해 드린 것처럼, Doze 모드 중에도 중간중간 GCM 메시지를 수신할 수 있으며, Doze 종료 시에 바로 메시지를 수신할 수 있을 것입니다.

우선순위가 "High"인 GCM 메시지는 채팅 앱 알림이나 전화 수신 등 최종 사용자에게 즉시 알림을 생성해야 하는 앱에서만 선택적으로 사용되어야 합니다.

Doze 모드에서 앱이 잘 동작하기 위한 보다 자세한 방법은 안드로이드 개발자 사이트를 참고하시기 바랍니다. 또한, GCM 메시지의 우선순위에 대한 자세한 내용은 Google 개발자 사이트를 참조하시기 바랍니다.
반응형

댓글