내 응용 프로그램을 GCM과 통합했습니다. 기기에 필요한 업데이트가 있는지 확인하는 제 3 자 서버를 설정합니다 (예인 경우). 모바일 애플리케이션에 새로운 데이터를 요청하기 위해 GCM을 간지럼으로 전송합니다.불필요한 GCM 메시지를 방지하는 방법은 무엇입니까?
내 안드로이드 응용 프로그램에 로그온/로그 오프 동작이있는 인증 모듈이 있습니다. 그리고 사용자의 현재 세션이 활성화되어있는 동안에 만 서버 데이터 동기화 (GCM 메시지 등)를 계획합니다.
그러나 tutorial에서 알 수 있듯이 기기의 Android 애플리케이션을 실행하지 않아도 메시지를 수신 할 수 있습니다. 시스템은 메시지가 도착하면 Intent 브로드 캐스트를 통해 Android 애플리케이션을 작동시킵니다.
제 질문은 사용자가 로그 오프하거나 애플리케이션을 종료 할 때 GCM 메시지를 어떻게 막을 수 있습니까?
다음 중 어느 것이 더 좋을까요? 다른 접근법을 제안 해 주시겠습니까?
옵션 A :
내 안드로이드 응용 프로그램은 사용자가 성공적으로 로그온되면 GCM에 등록하고 사용자가 로그 오프 한 후에는 GCM에서 등록을 취소합니다. 이렇게하면 제 3 자 서버가 등록 ID를 사용할 수있을 때만 GCM 메시지를 보내도록 할 수 있습니다. 그러나 등록/등록 취소가 자주 그렇게 권장되는 방법입니까?
옵션 B :
은 안드로이드 응용 프로그램도 로그 오프 또는 종료 상태에서 메시지를 받 읍시다하지만, 응용 프로그램 (즉, 단지 그들을 무시) 그들에 반응하지 않습니다. 권장되는 방법입니까? 성과 측면에서 어떤 불이익을 낳을까요? 사용자가 안드로이드 응용 프로그램의 불필요한 (성가신) 깨우기를 알 수 있습니까?
도움을 주시면 감사하겠습니다.
사용자가 로그온 할 때마다 항상 최신 데이터를 가져 와서 환경 설정 파일에 최신 메시지를 저장할 필요가 없다고 생각합니다 (메시지를 새로 고치면 데이터가 새로 고쳐지고 로그온시에 문제가 있음) . 내 질문은, 이것이 권장 관행인가? 성과 측면에서 어떤 불이익을 치룰까요? 사용자가 안드로이드 응용 프로그램의 불필요한 (성가신) 깨우기를 알 수 있습니까? –
아니요 성능 문제가 아닙니다. 기기가 푸시 메시지를받는 동안 불필요하게 웨이크 업하지 않습니다. GCM 기능을 사용하는 동안 매니페스트에서 wake_lock의 사용 권한을 부여하는 이유는 무엇입니까? – pyus13
@Wayofhope 가능한 경우 구현할 수있는 또 하나의 기능은 로그온하거나 응용 프로그램을 시작하는 동안 서버에 대한 최신 업데이트를 요청하기 위해 웹 서비스를 누르기 만하면됩니다. – pyus13