3

내 프로젝트에서 Play 스토어에 대한 업데이트가있는 경우 사용자에게 푸시 알림을 제공해야합니다. Google Play 서비스를 사용하면 사용자가 애플리케이션을 실행할 때만 업데이트를 얻을 수 있습니다. 하지만 사용자가 모바일 잠금을 해제 할 때마다 알려야합니다. Google 클라우드 메시징 (GCM)을 사용하여이를 수행 할 수있는 방법이 있습니까? 이것 좀 도와주세요.애플리케이션 업데이트에 대한 푸시 알림

미리 감사드립니다.

+0

AlaramManager, 서비스 및 USER_PRESENT Broadcastreceiver를 사용하여 구현하려고 시도 했습니까? –

답변

5

예, 가능합니다.

앱에 GCM을 통합하십시오. 업데이트 된 APK를 Google Play에 업로드하고 활성화하십시오. 몇 시간 후에 앱이 업데이트되기를 기다리고 앱에 푸시 알림을 보내 업데이트가 있음을 알립니다.

이 알림에는 사전 정의 된 텍스트가 있어야하며, 앱에서 알고있는 것은 업데이트가 있음을 의미합니다. 일단 이것을 얻으면 SharedPreferences에 업데이트가 있다는 플래그를 설정할 수 있습니다.

이제 기기가 잠금 해제되었을 때 전송되는 USER_PRESENT 브로드 캐스트를 수신합니다. 이 브로드 캐스트의 수신자에서 SharedPreferences 플래그가 true로 설정되어 있는지 확인하십시오. 있는 경우 알림을 표시하십시오.

+0

Google에서 앱을 업데이트 할 때마다 다른 ID를 할당합니까? –

2

이렇게하는 앱이 많이 있습니다. 서버 측 구성 파일을 사용하여 앱 스토어에서 사용할 수있는 버전을 반영하고 X 일마다 실행하고이 파일을 폴링하도록 AlarmManager을 설정하십시오. 이 파일에는 google play에서 사용할 수있는 최신 버전 코드가 들어 있어야합니다.

이 스 니펫을 사용하여 앱의 현재 버전을 확인할 수 있습니다.

PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 0); 
code = info.versionCode 

원격 파일의 버전 코드가 현재 설치의 버전 코드보다 크면 다운로드 할 수있는 새 빌드가 있음을 의미합니다. 이 경우 사용자에게 로컬 알림을 트리거하십시오.