3

100 개의 스레드를 읽고 인터넷 검색을 수행 한 후에도 다음 오류 메시지에 대해 혼동 스럽습니다.화재베이스 토큰 오류 TOO_MANY_REGISTRATIONS

현재 Firebase Cloud Messaging을 사용하고 있으며 매우 짧은 기간에 Firebase에서 내 토큰을 내 서버로 보낼 수 있도록하려고합니다. 나는이 두 가지 방법으로 시도했다 :

String token = FirebaseInstanceId.getInstance().getToken(mySenderId, "FCM"); 

String token = FirebaseInstanceId.getInstance().getToken(); 

그래서 로그에, 나는이 읽기 : 다른 게시물과 답변에 따르면

E/FirebaseInstanceId: Token retrieval failed: TOO_MANY_REGISTRATIONS 
           java.io.IOException: TOO_MANY_REGISTRATIONS 

를, 그것의 "너무 많은 설치된 응용 프로그램의 원인이다 C2DM/GCM/FCM에 등록 된 장치 "라고 표시합니다. 또한 "장치에 설치된 최대 100 개의 GCM/FCM 등록 된 응용 프로그램"이라는 제한 사항을 읽었습니다.

그러나 이것은 사실이 아닙니다. 내 말은, 그것이 사실일지도 모르지만이 문제에 대한 모든 대답은 아닙니다. 나는 끊임없이 다른 장치로 작업하고 테스트 중이며 현재 장치에는 FCM에 등록 된 100 개의 응용 프로그램이 없습니다. 실제로, 내 장치에는 100 개의 응용 프로그램이 전혀 설치되어 있지 않습니다.

이전 등록 된 장치 및 토큰을 관리하는 방법이 있습니까? 나는 운이없이 다음 코드를 실행하려고했습니다 :이 실제로 어떻게 작동하는지 이해 운없이 (설명서 포함) 서로 다른 소스에서 정보를 아래로 못을 시도했습니다

FirebaseInstanceId.getInstance().deleteInstanceId(); 

. 오래 전에 C2DM과 동일한 문제가 있었으며 최근에는 GCM에도 문제가있었습니다. 며칠 전 Firebase와 병합하여 기능 개선에 대한 생각을했지만, 여전히 저를 반향시킵니다. Google 팀과 직접 말한 후

+1

다른 장치 또는 에뮬레이터로 실행하여 동일한 오류가 발생하는지 확인해 보셨습니까? –

+0

다른 기기를 사용해 보았습니다.기본적으로 테스트 한 4 개의 기기 중 2 개에 문제가 있습니다. 현재 Nexus 6P에서 테스트 중이며 잠시 제대로 작동합니다. 토큰을받을 때 오류가 없습니다. 예를 들어 Huawei P10의 경우 오류가 발생합니다. 에뮬레이터 no로 시도하지 않았습니다. 추가 할 가치가있는 점은 이전에 Huawei P10과 함께 작업하고 있었다는 것입니다. – Fatmajk

+0

오류를 읽을 때 두 가지 문제가 떠 올랐습니다. 1) 'senderId'는 1 개 이상의 토큰과 연결되어 있습니다. 2) (이것은 불가능할 것입니다) 동일한 토큰이 여러 개의 'senderIds'와 연결되어 있다는 것입니다. 위의 어느 것도 사실이 아닌지 확인하십시오. 그리고 클라이언트를 firebase에 등록하는 방법에 대한 코드를 게시 할 수 있다면? – riadrifai

답변

0

나는 그들로부터 다음과 같은 답변을 받았습니다 : 팀이 확인

및 데이터 장치 정말 정상 장치가 아닌 것으로 나타났다 명확히하고이 중 하나입니다

  1. 가상 장치 (에뮬레이터) 너무 많이

  2. 너무 많은 AP를 테스트하는 자동화 된 방법에 사용되는 실제 장치를 재사용하고 다른 기기로부터 클로닝 PS

  3. 시스템 파티션의 복제 화상으로 정의 된 실제 장치

이 실제 기기가 공장들을 해결하는 가장 좋은 방법이라면 을 장치의 실제 시스템 이미지로 재설정하십시오. 이 기기는 현재 2 또는 3으로 고정되어 있기 때문에 기기를 공장 초기화하는 데 신경 써야하며 문제가 계속 발생하는지 알려주세요.

기기를 초기화했는데 문제가 해결되었습니다. 나는 아직도 어떻게 이것이 나타날 수 있고 왜 있는지 정확히 알 수 없다.