푸시 알림 시스템이 어떻게 작동하는지 궁금합니다.
백그라운드에서 Google 서버에 실행중인 활성 TCP / IP 연결이 있습니까?
Manifest
). 일부 Google 서비스가 "실제 작업"을 수행하고 앱이 단순히 "수신자"를 등록한다고 상상할 수 있습니다. 위의 설명은 안드로이드에 국한된 것이 아니라 "일반적인"것이 었으며, 간단하게 유지하려고 노력했습니다.)
푸시 알림 시스템이 어떻게 작동하는지 궁금합니다.
백그라운드에서 Google 서버에 실행중인 활성 TCP / IP 연결이 있습니까?
Manifest
). 일부 Google 서비스가 "실제 작업"을 수행하고 앱이 단순히 "수신자"를 등록한다고 상상할 수 있습니다. 위의 설명은 안드로이드에 국한된 것이 아니라 "일반적인"것이 었으며, 간단하게 유지하려고 노력했습니다.)
답변:
예, Android는 Google 서버에 하나의 활성 연결을 유지하지만 휴대 전화의 앱에 GCM 메시지를 보낼 때까지 트래픽이 전송되지 않기 때문에 많은 전력이나 데이터를 사용하지 않습니다. 휴대 전화에는 모든 앱에서 사용하는 연결이 하나뿐입니다. GCM을 사용하는 새 앱을 설치해도 추가로드가 발생하지 않습니다.
GCM의 첫 단계는 이메일 서버와 같은 타사 서버가 Google GCM 서버에 요청을 보내는 것입니다. 그런 다음이 서버는 열린 연결을 통해 장치로 메시지를 보냅니다. Android 시스템은 메시지를보고 어떤 앱인지 확인하고 해당 앱을 시작합니다. GCM을 사용하려면 앱이 Android에 등록되어 있어야하며 관련 권한이 있어야합니다. 앱이 시작되면 메시지의 데이터로 바로 알림을 생성 할 수 있습니다. GCM 메시지의 크기는 매우 제한적이므로 앱에서 타사 서버에 대한 일반 연결을 열어서 추가 정보를 얻을 수 있습니다 (예 : 새 이메일 헤더 다운로드).
푸시 알림을 사용하면 새로운 데이터를 확인하기 위해 앱을 정기적으로 실행할 필요가 없으므로 전력과 데이터가 모두 절약됩니다. GCM과 같은 중앙 집중식 메커니즘의 이점은 기기에 하나의 개방형 네트워크 연결 만 필요하며 Android GCM 시스템은 자체 네트워크를 유지하기 위해 백그라운드에서 실행중인 각 앱이 아니라 계속 실행해야하는 유일한 것입니다 자체 서버에 연결합니다.
낡은 질문에 늦게 대답했지만 가치가 있습니다.
GCM은 2018 년 4 월에 더 이상 사용되지 않으며 Google은 GCM과 유사한 FCM을 사용하는 것이 좋습니다.