2016-06-20 3 views
0

Google 클라우드 메시징의 경우 푸시 알림 메시지를 처리하려면 알림을 수신해야하는 앱이 포 그라운드 또는 백그라운드에서 실행 중이어야합니까?Android 클라우드 메시징

답변

1

전혀 실행하지 않아도되므로 브로드 캐스트 수신기 (앱이 활성화되어 있지 않은 경우에도 실행되는 GCMReceiver)를 매니페스트에 추가하는 이유입니다. 시스템이 다운 스트림 메시지를 수신하면이 수신기는 구성 요소 (종종 수신 스트림을 처리 할 서비스)를 트리거합니다.

<receiver 
    android:name="com.google.android.gms.gcm.GcmReceiver" 
    android:exported="true" 
    android:permission="com.google.android.c2dm.permission.SEND" > 
    <intent-filter> 
     <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
     <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
     <category android:name="YOUR_PACKAGE_NAME" /> 
    </intent-filter> 
</receiver> 
1

없음

앱은 브로드 캐스트에 등록 할 필요가있다. 일반적으로 다음과 같이 작동합니다.

앱에서 실행중인 Google 서버와 GCM 서비스간에 소켓 연결이 설정되었습니다. 따라서 앱에 푸시 알림을 보내려면 Google 푸시 서버에 클라이언트에 메시지를 푸시하도록 요청하면됩니다. 서버는 메시지를 소켓에 기록하고 클라이언트 측의 서비스는 브로드 캐스트를 보냅니다. 수신중인 브로드 캐스트 리시버가 호출되고 앱이 시작됩니다.

장점 모든 앱은 실시간 업데이트를 위해 서버와의 지속적인 소켓 연결을 유지할 필요가 없습니다.

GCM을 사용하고 푸시를받은 후 백그라운드에서 과중한 작업을 수행하려는 경우 자각 잠김에 대해 읽는 것이 좋습니다.