2014-12-15 9 views
0

Google 서버에서 푸시 알림을 수신하기 위해 GCM을 사용하는 애플리케이션을 구현했지만 제대로 작동하지만 문제가 있습니다. 앱이 실행되고 있지 않을 때 서버에서 알림을 전송하고 기기의 GCM으로부터 알림을받을 수 없으며 괜찮습니다. 하지만 앱을 열면 GCM에서 저장된 알림을받지 못합니다. 제게 조언 해줘서 고마워요.Android - 열린 앱인 경우 gcm의 알림 수신

답변

0

앱 설정 화면에서 앱을 수동으로 중지/종료하면 GCM 메시지가 계속 기기로 전송되지만 이후 com.google.android.c2dm.intent.RECEIVE 브로드 캐스트를 수신하지 못합니다. 따라서 이것이 의미하는 바는 GCM 메시지가 본질적으로 소실된다는 것입니다. 앱을 열면 앱이 종료 된 동안 놓친 이전 GCM 메시지가 전송되지 않습니다. 사용자가 직접 설정에 들어가서 앱을 중지하는 경우에는 이러한 상황을 피할 수 없습니다.

최근 작업/멀티 태스킹 목록에서 앱을 제거한 경우와 다른 점을 유의하십시오.이 경우에는 BroadcastReceivers이 계속 작동하며 그 때 알림을 표시하거나 일부 작업을 수행 할 수 있습니다 , 그리고/또는 사용자가 다음에 앱을 열 때 검색/사용되는 항목을 지속적으로 저장할 수 있습니다.

+0

예, 최근 작업/멀티 태스킹 목록에서 앱을 제거한 다음 메시지를 GCM으로 푸시하고 앱을 다시 열지 만 GCM에서 알리지는 못합니다. GCM에 게시 할 때 json에서 time_to_live를 구성했습니다. –

+0

앱을 열 때 앱이 GCM을받지 못합니다. GCM 서버에 게시하면 GCM *을 받게됩니다. 여기에 설명 된대로 'BroadcastReceiver'를 정의 했습니까? https://developer.android.com/google/gcm/client.html#manifest? –

+0

예, 정의했습니다. 여기에 내 코드가 명시되어 있습니다. android : name = "com.android.daob.gcm.GcmBroadcastReceiver" –