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 팀과 직접 말한 후
다른 장치 또는 에뮬레이터로 실행하여 동일한 오류가 발생하는지 확인해 보셨습니까? –
다른 기기를 사용해 보았습니다.기본적으로 테스트 한 4 개의 기기 중 2 개에 문제가 있습니다. 현재 Nexus 6P에서 테스트 중이며 잠시 제대로 작동합니다. 토큰을받을 때 오류가 없습니다. 예를 들어 Huawei P10의 경우 오류가 발생합니다. 에뮬레이터 no로 시도하지 않았습니다. 추가 할 가치가있는 점은 이전에 Huawei P10과 함께 작업하고 있었다는 것입니다. – Fatmajk
오류를 읽을 때 두 가지 문제가 떠 올랐습니다. 1) 'senderId'는 1 개 이상의 토큰과 연결되어 있습니다. 2) (이것은 불가능할 것입니다) 동일한 토큰이 여러 개의 'senderIds'와 연결되어 있다는 것입니다. 위의 어느 것도 사실이 아닌지 확인하십시오. 그리고 클라이언트를 firebase에 등록하는 방법에 대한 코드를 게시 할 수 있다면? – riadrifai