반응형
서론
원격 제어를 위해 FCM를 사용하던 도중 하드웨어에서 gapp이 사라지는 이슈가 발생했다.
FCM 송신은 Success가 발생하나, 하드웨어에서 수신에 대한 이벤트가 하나도 감지되지 않은 이슈를 정리해본다.
필요 개념
- FCM, Firebase Cloud Message
- Android, iOS, Web 등 푸시 알림을 보내기 위한 라이브러리
- 앱이 설치되어 있는 하드웨어가 Listener로 데이터를 수신받을 수 있는 채널로 활용한다.
- GApp
- Google System Base, Google Play services 등 안드로이드 관련 기능을 지원하는 라이브러리를 내포하고 있다.
결론
- FCM이 수신되지 않은 이유
- Backend Server에서 송신한 FCM은 FCM backend에서 처리되어 Android transport layer를 통해 전달된다.
- 하드웨어 업데이트 과정에서 GApp 관련 설정이 유실되면서, Android WebView 및 FCM이 동작하지 않았다.
- 수동으로 GApp 파일을 갱신해주면서, 위 이슈가 해결되었다.
- 추가 고민
- 자동 업데이트로 인해 하드웨어 관련 설정이 유실된다면?
- 업데이트 버전을 고정시킨 커널을 활용한다면 나타날 수 있는 사이드 이펙트는?
참고 및 인용 출처
- Firebase. (2023). FCM 아키텍처 개요. Google I/O 2023. https://firebase.google.com/docs/cloud-messaging/fcm-architecture
- androidrootz. (2015.03). PA GAPPS PACKAGE COMPARISONS. http://www.androidrootz.com/2015/03/download-android-51x-lollipop-pa-gapps.html
728x90
반응형
'IoT' 카테고리의 다른 글
[CI] Flutter IoT 무중단 운영 시 Shorebird 고려사항 (0) | 2024.07.29 |
---|---|
[Flutter] StreamController 상태 관리를 통한 Memory Leak 개선 (0) | 2024.07.15 |
[Summary] IoT 프로젝트 정리 (0) | 2024.05.29 |
[AWS IoT Core] 정책 및 인증서 설정 (Certificates & Policies) (0) | 2024.04.26 |
[MQTT Broker] Python Topic Publish (0) | 2024.04.24 |
[MVP] IoT 기기 활성화 여부 검증 (0) | 2024.04.22 |
MQTT(Message Queuing Telemetry Transport) 정의 (0) | 2024.04.20 |