본문 바로가기
ReactNative

[React Native] android fcm 테스트 시 MISSING_INSTANCEID_SERVICE 에러

by pocket.dev 2024. 7. 16.
반응형

android 에뮬레이터에서 fcm를 이용한 푸시메시지 테스트를 진행하는데, 토근이 생성되지는 않고 아래 에러가 발생했다.

[Error: [messaging/unknown] java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: MISSING_INSTANCEID_SERVICE]

MISSING_INSTANCEID_SERVICE

 

에러에 대해서 찾아보니, 에뮬레이터에 구글 플레이스토어가 설치되어있지 않으면 토큰이 발급되지 않는다고 한다.

에뮬레이터를 확인해보니 정말 구글 플레이스토어가 설치되어 있지 않았고, 플레이스토어 설치 후에 다시 실행하니까 정상적으로 fcm을 활용한 푸시알림을 받을 수 있었다.

참고: https://stackoverflow.com/questions/62582820/firebase-messaging-gettoken-fails-with-missing-instanceid-service-error?rq=3

 

Firebase messaging.getToken() fails with MISSING_INSTANCEID_SERVICE error

I am trying to integrate Firebase Cloud Messaging into an ongoing project. I followed the guide for installation here and installed both @react-native-firebase/app and @react-native-firebase/messag...

stackoverflow.com


안드로이드 에뮬레이터에 구글 플레이스토어 설치하기

1. Android Studio에서 Settings > Languages & Frameworks > Android SDK 선택

2. 우측 하단에 Show Package Details 체크박스 체크 > 사용하는 SDK의 Google Play Intel x86_64 Atom System Image 선택 > Apply 버튼 클릭

3. 그 다음에 나오는 창에서 OK > Finish 버튼 눌러서 설치 완료

 

4. Device Manager > Create Device에서 Play Store 컬럼에 아이콘이 있는 항목을 선택하고 Next 버튼 클릭

 

5. Target 컬럼에 Google Play라고 쓰여져 있는 것 확인하고 Next 버튼 클릭

그대로 쭉 설치

 

6. 방금 추가한 에뮬레이터를 실행해보면 구글 플레이스토어가 설치되어있는 것을 확인할 수 있다.