지금 내가 직면 한 문제의 시나리오는 다음과 같습니다. registration id
내 서버에 연결된 모든 장치를 보유하는 웹 앱이 있습니다 . 내 안드로이드 앱에서. 사용자가 로그인 할 때마다 registration id
Google에 요청을 보내고 내 서버로 전달한 다음 서버가이를 저장하고 사용자에게 연결합니다. 사용자가 내 앱에서 로그 아웃 할 때. 내 앱은 서버에 authentication code
및 registration id
. 문제는 사용자가 앱을 제거하고 다시 설치하면 이전 버전 registration id
이 내 서버에 유지 된다는 것 입니다. 그래서 그가 같은 전화에 로그인했을 때. 앱 registration id
이 내 서버에 새 항목 을 등록하고 서버가 알림을 푸시하면 해당 사용자는 앱을 제거한 횟수에 따라 여러 알림을 받게됩니다. 이것에 대한 당신의 작업은 무엇입니까?
이것은 서버 측 코드에서 수행 할 수 있습니다.
요청 된 데이터를 GCM 테이블에 삽입하는 동안 사용자 ID가 이미 테이블에 있는지 확인하십시오. 그렇다면 단순히 전체 행을 새 데이터로 바꿉니다. 그렇지 않으면 새로운 데이터를 테이블에 삽입하십시오.
참고 : 중복 된 GCM 등록 ID도 확인하는 것이 좋습니다. Google은 모든 GCM ID를 자주 새로 고침하기 때문입니다.
이것이 도움이되기를 바랍니다.
@Haunter가 제안했듯이
사용자가 여러 장치를 가지고 있다면 어떨까요?
이 경우 데이터베이스에 IMEI 번호를 저장하고 사용자 ID 대신 확인하십시오.
IMEI 번호를 얻는 방법
TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = tel.getDeviceId().toString();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다