1

푸시 알림을 수신하기 위해 FCM으로 작업하고 있습니다. 나는 이것을 매우 혼동하여 통지를 쉽게 보내고 Firebase 계정으로 수신 할 수 있지만 적절한 흐름을 얻지는 못합니다.onMessageReceived()를 제거해도 Firebase로부터 알림을받는 방법

나는이 link을 사용했으며 작동 방식을 이해하기 위해 onMessageReceived(RemoteMessage remoteMessage) {....} 을 제거했으며 알림을 받고 있습니다.

Firebase에서받은 알림의 흐름을 알고 싶습니다.

+0

나는 새로운 안드로이드 버전이나 최신 Firebase이 자동으로 Android 알림을 게시한다는 어딘가에서 읽은 것 같습니다. 당신이 그것을 원하지 않는다면, 나는 당신이 비어있는 몸을 오버라이드하고 제공 할 것이라고 생각합니다. – Sufian

+0

'FirebaseMessagingService' 소스 코드에 접근 할 수 있다면'onMessageReceived()'를보십시오. 거기에 Android 알림이 게시되었을 수 있습니다. – Sufian

+0

rpl을 주셔서 감사합니다. – nidhi

답변

0

앱이 포 그라운드 인 경우 onMessageReceived 메서드가 호출되고 알림이 표시되지 않습니다.

앱이 백그라운드 (실행 중이거나 최소화되지 않은 상태)이면 onMessageReceived 메서드가 호출되지 않고 직접 알림을 받게됩니다.

앱이 백그라운드에있는 경우 onMessageReceived 메소드를 삭제해도 아무런 영향이 없습니다. 알림은 계속 받게됩니다.

+0

ohhkkk 앱이 백그라운드에 있다면, firebase 자체가 알림을 처리합니다. 그런 다음 번들로 처리하려면 어떻게해야합니까? – nidhi

+0

알림을 클릭하면 실행기 활동이 열립니다.Log.d ("Msg")는 다음을 사용하여 런처 활동에서 추가 기능을 얻을 수 있습니다. –

+0

이것은 내 onReceive() ---> if (remoteMessage.getNotification()! = null) , "받은 메시지 ["+ remoteMessage + "]"); // 알림 만들기 의도 의도 = 새 의도 (this, MainActivity.class); intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity (this, 1410, 의도, PendingIntent.FLAG_ONE_SHOT); – nidhi

1

백엔드에서 보내는 알림 유형은 무엇입니까?

유형이 "notification": { } 인 경우 Android 시스템에서이를 처리하며 알림을 표시해야합니다.

"data" : { }을 사용하는 경우 해당 세부 정보는 onMessageReceived() 콜백에 전달됩니다.

+0

완벽한 답변처럼 보입니다. –

관련 문제