3

GCM 메시지 수신자가 GCM 서버에서 collapse_key를 사용하여 메시지를 '접었습니까?' 어떤 의견이 있습니까? 또는 모범 사례?GCM이 메시지를 "축소"했는지 감지하는 방법은 무엇입니까?

"send_to_sync"패턴에 대해 최적의 (가장 저렴한) 구현을 만드는 것이 목표입니다. 메시지가 누락 된 경우에만 클라이언트가 "동기화"됩니다.

예 : 10 개의 기기 그룹이 GCM 메시지를 통해 정확한 위치에서 서로 업데이트한다고 가정 해 보겠습니다. 최신 업데이트 만 관련성이 있으므로 각 사용자에게 자체 축소 키가있는 것이 좋습니다. GCM을 사용할 때 4 개의 축소 키가 있으므로 사용자 당 collaps 키를 사용할 수 없으므로 자체 시스템을 만들고 "send_to_sync"패턴을 사용해야합니다. 누락 된 메시지가있는 경우 모든 "send_to_sync"메시지에 최신 업데이트가 포함되어 있으면 표시 될 것입니다. 그렇지 않으면 동기화 할 필요가 없습니다.

답변

1

수신자는 페이로드에 일종의 카운터를 포함시켜 메시지가 축소되었음을 감지 할 수 있습니다. 서버가 기기에 GCM 메시지를 보낼 때마다 그 카운트가 1 씩 증가합니다. 장치가 메시지를 수신하면 장치는 메시지를받은 이전 계수와 비교합니다. 카운트가 하나 이상 증가하면 동기화가 필요합니다.

+0

나는 단순함과 클라이언트 측 해결책을 좋아한다. 이것은 갈 길이 멀 것이다. 감사! –

+0

@TomBrinkkemper 환영합니다! – Eran

관련 문제