programing

안드로이드에서 푸시 알림 기술은 어떻게 작동합니까?

itmemos 2023. 9. 14. 21:43
반응형

안드로이드에서 푸시 알림 기술은 어떻게 작동합니까?

구글은 푸시 알림 기능을 어떻게 구현했습니까?백그라운드에서 실행되는 서비스에 의해 수행되는 폴링을 통해 작동합니까? 아니면 다른 방식으로 작동합니까?

이스라엘에서 열린 안드로이드 개발자 회의에서 들은 바에 의하면 다음과 같습니다.

클라우드 구글 서버에 TCP 소켓이 수락 모드로 대기하고 있을 뿐입니다.Google Play 응용 프로그램에서 TCP 연결을 시작했습니다.그래서 구글 클라우드 메시징(GCM)(구 안드로이드 클라우드 투 디바이스 메시징 서비스 - C2DM)을 작동시키기 위해서는 기기에 구글 플레이를 설치해야 합니다.

이 TCP 클라이언트 소켓이 일부 메시지를 수신하면 메시지에는 주소를 지정해야 하는 응용프로그램의 패키지 이름과 물론 데이터 자체와 같은 정보가 포함됩니다.이 데이터는 파싱되고 포장되어 브로드캐스트되고 결국 응용프로그램에 의해 수신되는 의도로 전달됩니다.

단말기의 무선 상태가 "유휴" 모드로 전환된 경우에도 TCP 소켓은 열려 있습니다.애플리케이션이 실행되고 있어야만 의도를 받을 의도를 전달받을 수 있습니다.

자세한 내용은 http://developer.android.com/google/gcm/gcm.html 에서 확인할 수 있습니다.

Android는 Google의 서버에 하나의 활성 연결을 유지하지만, 어떤 것이 Google Cloud Messaging (GCM) 메시지를 휴대전화의 앱으로 전송하기 전까지는 트래픽이 전송되지 않기 때문에 많은 전력이나 데이터를 사용하지 않습니다.모든 앱에서 사용하는 전화 연결은 하나뿐입니다. GCM을 사용하는 새 앱을 설치해도 추가 부하가 발생하지 않습니다.

GCM의 첫 번째 단계는 타사 서버(예: 이메일 서버)가 Google의 GCM 서버로 요청을 전송하는 것입니다.그러면 이 서버는 열려 있는 연결을 통해 메시지를 단말기로 전송합니다.Android 시스템은 메시지를 보고 어떤 앱을 위한 것인지 확인한 후 해당 앱을 시작합니다.GCM을 사용하려면 앱이 안드로이드에 등록되어 있어야 하며, 관련 권한이 있어야 합니다.앱이 시작되면 메시지의 데이터와 함께 바로 알림이 생성될 수 있습니다.GCM 메시지는 크기가 매우 제한적이기 때문에 앱이 타사 서버에 대한 일반 연결을 열어 더 많은 정보를 얻을 수 있습니다(예: 새 이메일의 헤더 다운로드).

푸시 알림을 사용하면 새로운 데이터를 확인하기 위해 일정 간격으로 앱을 실행할 필요가 없어 전력과 데이터를 모두 절약할 수 있다는 장점이 있습니다.GCM과 같은 중앙 집중식 메커니즘의 장점은 각 앱이 자신의 서버에 대한 네트워크 연결을 유지하기 위해 백그라운드에서 실행해야 하는 것이 아니라 장치가 하나의 개방형 네트워크 연결만 필요하고 Android GCM 시스템만 계속 실행하면 된다는 것입니다.

출처 : 출처 여기도 참조.

polling tcp 연결이 긴 안드로이드에서 직접 push 알림을 구현할 수 있습니다.하지만 이를 위해서는 추가 소켓 => 배터리 방전을 유지해야 합니다.또는 Alarm Manager를 사용하여 일정한 간격으로 연결을 열 수 있습니다.

구글은 아마도 모든 C2DM 푸시 알림을 위한 소켓을 하나 열 것이고, 따라서 배터리 효율성이 더 높습니다.

2018년 4월 10일부로 구글은 GCM을 폐지했습니다.GCM 서버 및 클라이언트 API는 사용되지 않으며 2019년 4월 11일부터 삭제될 예정입니다.GCM 앱을 Firebase Cloud Messaging(FCM)으로 마이그레이션합니다. FCM은 안정적이고 확장 가능한 GCM 인프라와 많은 새로운 기능을 상속합니다.

https://firebase.google.com/docs/cloud-messaging/

네, 맞습니다.구글은 서비스(GTalk Service)를 가지고 있었고 이 서비스는 일정 기간 구글 서버에 요청했습니다.

언급URL : https://stackoverflow.com/questions/11508613/how-does-push-notification-technology-work-on-android

반응형