2017-02-13 6 views
0

Firebase 알림에서 응용 프로그램이 백그라운드 일 때 알림을 받았지만 알림을 보내지 않고 응용 프로그램을 열면 데이터가 IONIC android 응용 프로그램에 반영되지 않습니다.IONIC android FCM 알림

응용 프로그램이 포 그라운드 인 경우 데이터가 자동으로 반영됩니다.

나는 cordova-plugin-messaging plugin도 사용했지만 작동하지 않습니다.

window.cordova.plugins.firebase.messaging.onMessage (함수 (: I가

FCMPlugin.onNotification ( 기능 (데이터) {

  if(data.wasTapped){ 
      console.log(data); 

      }else{ 
      console.log(data); 

      } 

     }, 
     function(msg){ 
      console.log('onNotification callback successfully registered: ' + msg); 
     }, 
     function(err){ 
      console.log('Error registering onNotification callback: ' + err); 
     } 
    ); 

사용할 수도 있고 사용

데이터) {

 console.log(data); 

}); 

하지만 앱이 작동 할 때 작동합니다. 전경 및 알림을 클릭했을 때 ..

앱이 배경 일 때 앱을 열 때 알림을 클릭하지 않고 데이터를 검색하고 싶습니다. 확인은 위의 방법을 변경하는 경우 답변

덕분에

+0

안녕하세요. 관련 코드 스 니펫을 게시하십시오. –

+0

FCMPlugin.onNotification ( 기능 (데이터) { (data.wasTapped 있으면) { CONSOLE.LOG (데이터) 한다} else { CONSOLE.LOG (데이터) }} 함수 (MSG) { CONSOLE.LOG ('성공적으로 등록 onNotification 콜백'+ MSG) } 함수 (ERR) { CONSOLE.LOG는 ('오류 onNotification 콜백 등록'+ ERR) } ) ; – user1981110

+0

앱이 종료/실행되지 않을 때 알림을 받으면 알림을 클릭하지 않고 앱을 열면 데이터가 앱으로 전송되지 않습니다. 그것은 정상적인 행동입니다. – Akil

답변

0

sendPushPayload(data);

Intent NotificationIntent = new Intent(this, FCMPluginActivity.class) 
.addCategory(Intent.CATEGORY_LAUNCHER) 

    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    for (String key : data.keySet()) { 
    NotificationIntent.putExtra(key, data.get(key).toString()); 
    } 
    startActivity(NotificationIntent); 

의미는 알림을 밀어 응용 프로그램은 배경에, 안드로이드 기본 파일 (MyFirebaseMessagingService.java)와 코르도바 플러그인 안드로이드 (src ->android-> MyFirebaseMessagingService.java) 파일에 위의 코드를 넣어 앱이 자동으로 열립니다.