하루에 0.01%라도 성장하자

Develop/Android

Android - FCM Background Screen On

뚠님 2021. 1. 12. 00:45
반응형

하 이거 때문에 몇시간을 고생했는지 모른다..

 

나같은 경우는 FCM을 이용해서 Notification 을 발생하는데 Background 상태 + Screen OFF 상태에서는 알람이 발생하지만 Screen On이 되지 않는 이슈가 있었다.

 

Screen On이 되려면 onMessageReceived 메소드 안에 PowerManager를 이용해서 폰을 Wake Lock 해주어야 하는데 해당 로직을 타지 않았던 거지..

 

확인해보니 서버에서 FCM에 Push를 요청할 때 dataPayload 형태로 요청해야만 하더라..

 

즉 서버에서 

 

notification : { 

    title : "테스트",

    body : "테스트"

}

 

이렇게 보내는게 아니라 

data : { 

    title : "테스트",

    body : "테스트"

}

 

이렇게 보내야한다.

 

notification으로 보내면 스크린이 꺼져있고 백그라운드 상태에서는 FCM에서 주관하여 처리한다.

반대로 data로 보내면 onMessageRecived 메소드를 타서 개발자에게 제어권이 주어진다...

 

하 이거때문에 내 8시간...

 

지금은 당장 바빠서 이렇게 정리하는데, 나중에 시간날때 코드까지 올릴 예정이다.

 

반응형