Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

서버에서 시작한 네트워크 사용 최적화

서버 프로그램에서 앱으로 전송하는 네트워크 트래픽을 최적화하는 것은 쉬운 일이 아닙니다. 이 문제를 해결하려면 앱에서 주기적으로 서버를 폴링하여 업데이트를 확인해야 합니다. 이 방법을 사용하면 앱에서 기기의 무선 기능을 시작할 때 새로 얻은 데이터가 없다는 응답만 받은 채 네트워크 연결 및 전력을 낭비할 수 있습니다. 새로운 데이터가 있을 때 서버가 앱에 알리는 것이 훨씬 더 효율적이지만 서버에서 수천 개의 기기로 알림을 전송하는 방법을 찾기란 결코 쉬운 일이 아니었습니다.

Google 클라우드 메시징(GCM) 서비스는 앱이 어디에 설치되어 있든 서버가 앱의 인스턴스에 알림을 전송할 수 있게 허용합니다. 이로써 네트워크 효율성을 높이고 전력 사용량을 줄여 이러한 통신 문제를 해결합니다.

이 강의에서는 GCM 서비스를 사용하여 서버에서 시작한 작업의 네트워크 사용과 배터리 소비를 줄이는 방법을 설명합니다.

GCM을 사용해 서버 업데이트 전송

Google 클라우드 메시징(GCM)은 앱 서버에서 앱으로 간단한 메시지를 전송하는 데 사용되는 경량 메커니즘입니다. GCM을 사용하면 앱 서버가 메시지 전달 메커니즘을 이용하여 새 데이터가 있다는 것을 앱에 알립니다. 이 접근 방식에서는 새로 얻을 수 있는 데이터가 없을 때 새 데이터의 백엔드 서버에 접속하지 않으므로 앱에서 실행하는 네트워크 트래픽이 없어집니다.

GCM 사용의 한 가지 예로 회의에서 발표자 세션을 나열하는 앱을 들 수 있습니다. 서버에서 세션이 업데이트되면 서버는 업데이트가 있음을 알리는 간단한 메시지를 앱에 보냅니다. 그러면 앱은 서버에 새 데이터가 있을 때만 기기의 세션을 업데이트하도록 서버를 호출할 수 있습니다.

GCM은 앱이 서버의 변경사항을 폴링하게 하는 것보다 더 효율적입니다. GCM 서비스를 사용하면 폴링해도 업데이트가 반환되지 않는 불필요한 연결이 없어지고 기기의 무선 기능이 켜지게 할 수 있는 주기적인 네트워크 요청이 실행되지 않습니다. GCM은 여러 앱에서 사용할 수 있으므로 앱에서 이 서비스를 사용하면 기기에 필요한 총 네트워크 연결 수가 줄어들고 기기 무선 기능이 더 빈번하게 절전 모드로 전환됩니다.

GCM과 이 서비스를 앱에 구현하는 방법에 관한 자세한 내용은 Google 클라우드 메시징을 참조하세요.

참고: GCM을 사용하면 앱에서 보통 또는 높은 우선순위로 메시지를 전달할 수 있습니다. 일반적으로 서버에서는 보통 우선순위를 사용해 메시지를 전송해야 합니다. 이 우선순위 수준을 사용하면 기기에 활동이 없어 저전력 잠자기 상태가 되었을 때 절전 모드가 해제되는 것을 방지할 수 있습니다. 높은 우선순위 메시지는 절대적으로 필요한 경우에만 사용하세요.