2013-05-22 2 views
1

몇 달 전에 Google API 콘솔에서 GCM을 활성화하고 Android 프로젝트에 구현했으며 모든 것이 잘되었습니다. 등록 할 수 있었고 regId를 얻었고 내 서버 API 키를 사용하여 내 서버에서 알림을 보낼 수있었습니다. 모두 괜찮 았어.새 senderID가 GCM에서 작동하지 않습니다 .SenderID

어제 새 gmail 계정으로 새 senderID를 만들었지 만 senderID 및 서버 API 키를 새 정보로 바꾼 경우 Google에서 성가신 mismatchedSenderID 오류 메시지를 회신하고 GCM이 전송되지 않습니다!

프로젝트에서 변경된 사항은 없으며 새로운 senderID! 무엇이 문제 일 수 있습니까?

+1

서버 앱에서 서버 키를 바꿨습니까? –

+0

예, 확신합니다. – MyFlashLab

+0

'senderId'가 변경된 경우 사용자는 알림을 수신하기 위해 특정 'senderId'에 대해 다시 등록해야합니다. – guanabara

답변

2

새 API 키로 알림을 보내기 시작하면 이전 senderID에 대해 생성 된 모든 등록 ID가 작동을 멈 춥니 다. 데이터베이스를 지우고 사용자로부터 새 등록 ID (새로운 senderID를 기반으로)를 수집하기 시작해야합니다.

불일치 발신자

등록 된 발신자 ID가 특정 그룹에 연결된다. 응용 프로그램이 GCM 사용을 위해 등록 할 때 메시지를 보낼 수있는 보낸 사람을 지정해야합니다. 장치에 메시지를 보내려고 할 때 그 중 하나를 사용하고 있는지 확인하십시오. 다른 발신인으로 전환하면 기존 등록 ID가 작동하지 않습니다. 오류 코드가 MismatchSenderId 일 때 발생합니다.

+0

나는 동일한 문제가있다. "새 등록 ID 수집 시작"이라고 어떻게 제안합니까? 내 목표는 장치가 반환 된 ID = ""로 getRegistrationId()를 호출하는 것입니다. 그런 다음 서버는 새 registrationId를 저장합니다. 이 문제가 발생하려면 먼저 기기 등록을 취소해야하지만 앱을 실행할 때마다 기기가 등록 취소되고 다시 등록되는 것을 원하지 않습니다. 가장 좋은 해결책은 내 서버가 GCM 서버에 특정 이전 registrationIds로 장치를 등록하도록 알릴 수 있다면 ... 문제는 어떻게 장치/앱이 registrationId가 더 이상 사용되지 않는지 (이전 senderId에 속했기 때문에) 알 수있는 것입니다. – x3m

관련 문제