2014-12-28 3 views
0

모든 앱에는 GCM을 사용할 때 자체 등록 ID가 있습니다. 그게 사실이라면 또는 사용자에 고유 한 등록 ID가 있습니까? 나는 그걸 알아야하기 때문에 각 응용 프로그램에 대한 하나의 등록 ID가 있다면 사용자가 다른 사용자의 장치를 사용하여 응용 프로그램에 을 로그인하는 시나리오를 처리해야합니다. 모든 사용자 등록 번호는 각 사용자에게 데이터베이스에 저장됩니다. 그래서 만약 예를 들어 내가 가지고 : 사용자의GCM 등록 ID 관리

  • 장치 A가 사용자 B의
  • 장치 B는

그리고 사용자 B 이제 장치 A를 사용하여 로그인되어 내가 등록 ID를 업데이트해야 사용자 B에 대한 데이터베이스에 저장되고 장치 A에있는 앱의 등록 ID로 설정됩니다. 따라서 사용자 A와 B는 까지 일시적으로 sam 등록 ID를 갖습니다. 사용자 B는 장치 B에 다시 로그인하고 데이터베이스를 업데이트합니다.

내가 무슨 뜻인지 이해하고 이것이 필요한 경우 다른 사용자가 다른 사용자가 로그인 한 경우에도 모든 사용자가 푸시 알림을 받도록하십시오.

사용자가 로그 아웃 할 때 데이터베이스 에서 등록 ID를 삭제하는 것도 좋은 생각입니까?

답변

1

등록 ID는 메시지를 적절한 장치로 라우팅 할 수 있도록 장치의 응용 프로그램 인스턴스와 서버 간의 연결을 제공하기위한 것입니다. 사용자에게 메시지가 주어지면 해당 사용자에게 속한 모든 장치에 해당 메시지를 라우팅 할 수 있도록 장치와 사용자 간의 연결을 개별적으로 유지해야합니다. 그러나 개념 상 등록 ID를 특정 장치의 응용 프로그램 (특정 사용자 아님)을 식별하는 것으로 생각해야합니다.

+0

각 사용자에 대한 등록 ID 목록을 구현하는 것이 더 좋습니다. 푸시 알림은 모든 장치로 보낼 수 있습니다. 사용자가 어떤 장치에 로그인했는지 확인해야합니다. 감사합니다. – Mulgard

+0

그건 내가 말한 것과는 정반대입니다. 여러 사용자가 한 번에 하나의 장치에 존재할 수 있지만 장치의 단일 등록 ID를 사용하여 장치의 모든 사용자에게 메시지를 실제로 라우팅하려고합니다. 등록 ID를 사용자에게 부여하면 현재 사용자를 전환 할 때 불필요한 네트워크 통신이 발생하게되며,이를 피하기 위해 GCM을 사용하는 이유 중 하나가됩니다. –

+0

그렇다면 사용자에게 푸시 알림을 보낼 수있는 방법을 이해하지 못하는 것 같습니다 ... 등록 ID를 어딘가에 저장해야하며 그렇지 않으면 내가 푸시 알림을 보낼 수 없기 때문에 사용자를 바인딩해야합니다. 올바른 사용자의 올바른 장치. – Mulgard