fcm push가 올 경우 화면을 실시간으로 변경해야될 경우가 있음.

liveData를 이용하여 구현 할 수 있다.

 

안드로이드 App 파일에서

 

스태틱으로 라이브데이터를 선언해준다

 

App파일의 onCreate에서 초기화 라이브데이터를 초기화 해준다.

 

fcm 메시지 리시버 내부에서

 

뱃지와 관련된 글로벌 카운트를 올려준 뒤
라이브 데이터를 변경한다(변경이 되어야 액티비티/프래그먼트에서 변경 감지를 할 수 있다)
메인쓰레드가 아닌곳에서 변경을 하려면 postValue를 이용한다

 

뷰를 변경할 액티비티나 프래그먼트로 이동한다
액티비티는 this / 프래그먼트는 viewLifecycleOwner를 라이프사이클 오너로 입력한다

 

이제 푸시 알림이 오면 해당 뱃지의 뷰가 변경이 된다.

 

rx Customer를 이용하여서도 비슷하게 구성 할 수 있다.

 

 

+ Recent posts