https://developers.google.com의 가이드 라인을 사용하여 프로젝트에서 GCM을 구현했습니다. IntentService
를 확장> 클래스 GCMRegistrationIntentService
및 내 mainActivity에서 시작된다 -기기 토큰이 백그라운드에서 업데이트 될 때 알림을 수신하지 않습니다.
: 장치 토큰을 수신
: 나는 포획이
단계입니다.
-> 내가 사용한이 서비스에 : 나는 성공적으로 토큰을받은
InstanceID instanceID = InstanceID.getInstance(getApplicationContext()); token = instanceID.getToken(AppConstants.SENDER_ID, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
.
LocalBroadcastListener 내 주요 활동 내에서 1 단계에서 생성 된 토큰을 가져 와서 공유 환경 설정 (내 메시지 서버로 보내기)에 저장하십시오.
클래스
GCMTokenRefreshListenerService
InstanceIDListenerService
을 확장하여 오래된 만료시 토큰을 얻습니다. 이 경우- 를 호출 할 GCMTokenRefreshListenerService : -
이에서> 나는 이제 내 질문은
onTokenRefresh()
에GCMRegistrationIntentService
에 전화를했다?- 를 호출 할 GCMTokenRefreshListenerService : -
- instanceID 란 무엇입니까? instanceID의 수명주기 란 무엇입니까?
./adb shell am startservice -a com.google.android.gms.iid.InstanceID --es "CMD" "RST" -n package.name/service.name.
날 때마다 새 토큰을 주었다
- 내가 사용하는 단말기에서 서비스를 달렸다. 이 새로 생성 된 토큰을 공유 환경 설정에 어떻게 저장합니까?
이 서비스에서 새 토큰을 받으면 토큰이 변경되어 알림을받지 못합니다. 토큰을 업데이트하려면 앱을 열어야합니다. 이 토큰을 업데이트하는 방법?
- 토큰을 받기 위해 앱을 열 때마다 GCM을 호출해야합니까?
어떤을 처리 할 것 매니페스트 나머지 부분에서 제대로 서비스를 지정해야 푸시 알림에 필요한 서비스를 호출하거나 시작할 필요가 없어요 대신 최신 버전 ([FCM] (https://firebase.google.com/docs/cloud-messaging/))을 구현하지 않는 이유는 무엇입니까? –